Morfeus structured grid class
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
procedure, | public | :: | get_block_identifier | ||||
procedure, | public | :: | get_scalar_identifier | ||||
procedure, | public | :: | set_block_identifier | ||||
procedure, | public | :: | set_scalar_identifier | ||||
integer, | private | :: | block_id | = | undefined | ||
integer, | private | :: | global_bounds(num_bounds,max_space_dims) | = | undefined | ||
type(block_metadata), | private | :: | metadata | ||||
real(kind=r8k), | private, | allocatable | :: | nodal_values(:,:,:,:,:,:) | 3 dims for indexing through 3D space 2 dims for tensor free indices to handle scalars, vectors, & dyads 1 dim for instances in time |
||
integer, | private | :: | scalar_id | = | undefined |
verify block indicial coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
integer, | intent(in), | dimension(:) | :: | ijk |
calculate the 1D block identifier associated with the provided 3D block location
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
integer, | intent(in), | dimension(:) | :: | ijk |
verify block identifier
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
integer, | intent(in) | :: | id |
calculate the 3D location of the block that has the provided 1D block identifier
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
integer, | intent(in) | :: | n |
allocate coarray for communicating across structured_grid blocks
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
class(geometry), | intent(in) | :: | problem_geometry | |||
class(structured_grid), | intent(in), | dimension(:), allocatable | :: | vertices | ||
type(surfaces), | intent(inout) | :: | block_faces | |||
integer, | intent(in), | dimension(:) | :: | block_partitions | ||
integer, | intent(in) | :: | num_scalars |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(inout) | :: | this | |||
class(structured_grid), | intent(in) | :: | original |
verify
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
class(structured_grid), | intent(in) | :: | reference | |||
real(kind=r8k), | intent(in) | :: | tolerance |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
real(kind=r8k), | intent(in) | :: | temperature |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
class(structured_grid), | intent(in) | :: | vertices | |||
type(surfaces), | intent(in) | :: | block_surfaces | |||
class(structured_grid), | intent(inout) | :: | div_flux |
result is number of free tensor indices for quantity stored on a structured grid (e.g., 3 for vector quantity)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
result is an array of scalar values at grid vertices
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
increment this%nodal_values by the provided array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(inout) | :: | this | |||
real(kind=r8k), | intent(in), | dimension(:,:,:) | :: | scalar |
Mark the object as user-defined
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(object), | intent(inout) | :: | this |
result is number of 3D grid points stored for a given quantity on a structured grid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
result is number of instances of time stored for a given quantity on a structured grid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(inout) | :: | this | |||
integer, | intent(in), | dimension(:) | :: | shape_array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(inout) | :: | this | |||
type(block_metadata), | intent(in) | :: | metadata |
set this%nodal_values to the provided array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(inout) | :: | this | |||
real(kind=r8k), | intent(in), | dimension(:,:,:) | :: | scalar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
class(structured_grid), | intent(in) | :: | vertices | |||
type(surfaces), | intent(inout) | :: | block_surfaces | |||
class(structured_grid), | intent(inout) | :: | div_flux_internal_points |
set this%nodal_values to provided vector field components
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(inout) | :: | this | |||
real(kind=r8k), | intent(in), | dimension(:,:,:) | :: | x_nodes | ||
real(kind=r8k), | intent(in), | dimension(:,:,:) | :: | y_nodes | ||
real(kind=r8k), | intent(in), | dimension(:,:,:) | :: | z_nodes |
result is the number of independent spatial dimensions in the structured grid (e.g., 2 for axisymmetric grid)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
result contains the difference between this and rhs nodal_values components
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
class(structured_grid), | intent(in) | :: | rhs |
Return a boolean result indicating whether this object has been initialized since its declaration
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(object), | intent(in) | :: | this |
result is an array of 3D vectors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(structured_grid), | intent(in) | :: | this | |||
integer, | intent(in) | :: | unit | |||
character(len=*), | intent(in) | :: | iotype | |||
integer, | intent(in) | :: | v_list(:) | |||
integer, | intent(out) | :: | iostat | |||
character(len=*), | intent(inout) | :: | iomsg |