Grid dimensions object class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(block_signature_object), | public, | allocatable | :: | block_signature(:) | Signature of each block. |
||
integer(kind=I4P), | public | :: | blocks_number | = | 0 | Number of blocks, blobal (whole) number on all process/image. |
Overload =
.
Operator =
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(inout) | :: | lhs | Left hand side. |
||
type(grid_dimensions_object), | intent(in) | :: | rhs | Right hand side. |
Return a pretty-formatted description of grid dimensions.
Return a pretty-formatted description of the grid dimensions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(in) | :: | self | Grid dimensions object. |
||
character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Destroy grid dimensions.
Destroy grid dimensions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(inout) | :: | self | Grid dimensions object. |
Operator =
.
Operator =
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(inout) | :: | lhs | Left hand side. |
||
type(grid_dimensions_object), | intent(in) | :: | rhs | Right hand side. |
Initialize grid dimensions.
Initialize grid dimensions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(inout) | :: | self | Grid dimensions object. |
||
type(block_signature_object), | intent(in), | optional | :: | block_signature(1:) | Dimensions of each block. |
Return the IO length storage.
Return the IO length storage.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(in) | :: | self | Grid dimensions object. |
IO length storage.
Return the IO position where nodes of block b-th are stored.
Return the IO position where nodes of block b-th are stored.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(in) | :: | self | Grid dimensions object. |
||
integer(kind=I4P), | intent(in) | :: | b | Block index. |
IO position where nodes of block b-th are stored.
Load grid dimensions from file.
Load grid dimensions from file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(inout) | :: | self | Grid dimensions object. |
||
integer(kind=I4P), | intent(in) | :: | file_unit | File unit. |
Save grid dimensions into file.
Load the grid dimensions of all blocks from file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(grid_dimensions_object), | intent(in) | :: | self | Grid dimensions object. |
||
integer(kind=I4P), | intent(in) | :: | file_unit | File unit. |
type :: grid_dimensions_object
!< Grid dimensions object class.
integer(I4P) :: blocks_number=0 !< Number of blocks, blobal (whole) number on all process/image.
type(block_signature_object), allocatable :: block_signature(:) !< Signature of each block.
contains
! public methods
procedure, pass(self) :: description !< Return a pretty-formatted description of grid dimensions.
procedure, pass(self) :: destroy !< Destroy grid dimensions.
procedure, pass(self) :: initialize !< Initialize grid dimensions.
procedure, pass(self) :: iolength !< Return the IO length storage.
procedure, pass(self) :: iopos_block_nodes !< Return the IO position where nodes of block b-th are stored.
procedure, pass(self) :: load_from_file !< Load grid dimensions from file.
procedure, pass(self) :: save_into_file !< Save grid dimensions into file.
! operators
generic :: assignment(=) => grid_d_assign_grid_d !< Overload `=`.
! private methods
procedure, pass(lhs) :: grid_d_assign_grid_d !< Operator `=`.
endtype grid_dimensions_object