basic transmission data. extend this type to add coordinate-specific data
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
procedure, | public | :: | copy | ||||
procedure, | public | :: | get_fluxes | ||||
procedure, | public | :: | get_neighbor_block_id | ||||
procedure, | public | :: | get_positions | ||||
procedure, | public | :: | neighbor_block_id_null | ||||
procedure, | public | :: | set_neighbor_block_id | ||||
procedure, | public | :: | set_normal_scalar_fluxes | ||||
procedure, | public | :: | set_num_scalars | ||||
procedure, | public | :: | set_step | ||||
procedure, | public | :: | set_surface_positions | ||||
integer, | private | :: | neighbor_block_id | block id corresponding to the destination block for this outbound package |
|||
real(kind=r8k), | private, | allocatable, dimension(:,:,:,:) | :: | positions | surface vertices: shape=[Nx,Ny,Nz,space_dim] where dimension(s) of unit extent designate fixed coordinate(s) |
||
integer, | private | :: | step | time step |
|||
type(flux_planes), | private, | allocatable, dimension(:) | :: | surface_normal_fluxes | size = number of scalars; using a derived type allows for setting the number of scalars without knowing surface grid resolution and orientation (both of which are determined by shape(positions)). |