hexahedral structured_grid block surface data
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(package), | private, | allocatable, dimension(:,:,:) | :: | halo_outbox | allocate to dimensions [number of blocks, space_dimension, size([forward, backward])) |
result contains the block identifiers that start the subrange of blocks owned by each image such that [block_partitions(me), block_partitions(me+1)-1] = spans the block identifiers owned by image me
output singleton_halo_outbox of shape [number of blocks, space_dimension, size([backward,forward])]
result is the block_id of the neighbor adjacent to the image that owns the given structured_grid block
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | my_block_id | |||
integer, | intent(in) | :: | coordinate_direction | |||
integer, | intent(in) | :: | face_direction |
result contains the the surface-normal component of the designated scalar flus at the designated grid block surface
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | image | |||
integer, | intent(in) | :: | block_id | |||
integer, | intent(in) | :: | coordinate_direction | |||
integer, | intent(in) | :: | face_direction | |||
integer, | intent(in) | :: | scalar_id |
surface-normal scalar flux components: shape = [Ny, Nz] or [Nx, Nz] or [Nx, Ny] depending on orientation
result is the distance to the nearest plane inside the specified block at the specified boundary
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | image | |||
integer, | intent(in) | :: | block_id | |||
integer, | intent(in) | :: | coordinate_direction | |||
integer(kind=enumeration), | intent(in) | :: | face_direction |
result contains the vertices inside the designated grid block surface
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | image | |||
integer, | intent(in) | :: | block_id | |||
integer, | intent(in) | :: | coordinate_direction | |||
integer, | intent(in) | :: | face_direction |
surface vertices: shape=[Nx,Ny,Nz,space_dim] where findloc(shape(positions, value=1)) designates surface-normal direction
result is .true. if the identified structured_grid block surface corresponds to a problem domain boundary
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | block_id | |||
integer, | intent(in) | :: | coordinate_direction | |||
integer(kind=enumeration), | intent(in) | :: | face |
define halo_outbox component array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(package), | intent(in), | dimension(:,:,:) | :: | my_halo_outbox | ||
integer, | intent(in), | dimension(:) | :: | block_partitions |
define halo outbox for a specific surface
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | block_id | |||
integer, | intent(in) | :: | coordinate_direction | |||
integer(kind=enumeration), | intent(in) | :: | face | |||
real(kind=r8k), | intent(in), | dimension(:,:) | :: | s_flux_normal | surface-normal scalar flux components: shape = [Ny, Nz] or [Nx, Nz] or [Nx, Ny] |
|
integer, | intent(in) | :: | scalar_id |