off_grid_dimensions_object Module

module~~off_grid_dimensions_object~~UsesGraph module~off_grid_dimensions_object off_grid_dimensions_object vecfor vecfor vecfor->module~off_grid_dimensions_object module~off_block_signature_object off_block_signature_object vecfor->module~off_block_signature_object module~off_block_signature_object->module~off_grid_dimensions_object penf penf penf->module~off_grid_dimensions_object penf->module~off_block_signature_object
Help

OFF grid dimensions object definition and implementation.

Used By

module~~off_grid_dimensions_object~~UsedByGraph module~off_grid_dimensions_object off_grid_dimensions_object module~off_simulation_object off_simulation_object module~off_grid_dimensions_object->module~off_simulation_object module~off_file_grid_object off_file_grid_object module~off_grid_dimensions_object->module~off_file_grid_object module~off_objects off_objects module~off_grid_dimensions_object->module~off_objects module~off_simulation_object->module~off_objects module~off_file_grid_object->module~off_simulation_object module~off_file_grid_object->module~off_objects program~off_test_save_load_file_parameters off_test_save_load_file_parameters module~off_objects->program~off_test_save_load_file_parameters program~off_test_load_file_parameters off_test_load_file_parameters module~off_objects->program~off_test_load_file_parameters program~off_test_save_load_file_grid off_test_save_load_file_grid module~off_objects->program~off_test_save_load_file_grid
Help


Derived Types

type, public :: grid_dimensions_object

Grid dimensions object class.

Components

TypeVisibility AttributesNameInitial
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.

Type-Bound Procedures

generic, public :: assignment(=) => grid_d_assign_grid_d

Overload =.

procedure, public, pass(self) :: description

Return a pretty-formatted description of grid dimensions.

procedure, public, pass(self) :: destroy

Destroy grid dimensions.

procedure, public, pass(lhs) :: grid_d_assign_grid_d

Operator =.

procedure, public, pass(self) :: initialize

Initialize grid dimensions.

procedure, public, pass(self) :: iolength

Return the IO length storage.

procedure, public, pass(self) :: iopos_block_nodes

Return the IO position where nodes of block b-th are stored.

procedure, public, pass(self) :: load_from_file

Load grid dimensions from file.

procedure, public, pass(self) :: save_into_file

Save grid dimensions into file.


Functions

private pure function description(self, prefix) result(desc)

Return a pretty-formatted description of the grid dimensions.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(in) :: self

Grid dimensions object.

character(len=*), intent(in), optional :: prefix

Prefixing string.

Return Value character(len=:), allocatable

Description.

private function iolength(self)

Return the IO length storage.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(in) :: self

Grid dimensions object.

Return Value integer(kind=I4P)

IO length storage.

private function iopos_block_nodes(self, b)

Return the IO position where nodes of block b-th are stored.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(in) :: self

Grid dimensions object.

integer(kind=I4P), intent(in) :: b

Block index.

Return Value integer(kind=I4P)

IO position where nodes of block b-th are stored.


Subroutines

private elemental subroutine destroy(self)

Destroy grid dimensions.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(inout) :: self

Grid dimensions object.

private pure subroutine grid_d_assign_grid_d(lhs, rhs)

Operator =.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(inout) :: lhs

Left hand side.

type(grid_dimensions_object), intent(in) :: rhs

Right hand side.

private pure subroutine initialize(self, block_signature)

Initialize grid dimensions.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(inout) :: self

Grid dimensions object.

type(block_signature_object), intent(in), optional :: block_signature(1:)

Dimensions of each block.

private subroutine load_from_file(self, file_unit)

Load grid dimensions from file.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(inout) :: self

Grid dimensions object.

integer(kind=I4P), intent(in) :: file_unit

File unit.

private subroutine save_into_file(self, file_unit)

Load the grid dimensions of all blocks from file.

Arguments

Type IntentOptional AttributesName
class(grid_dimensions_object), intent(in) :: self

Grid dimensions object.

integer(kind=I4P), intent(in) :: file_unit

File unit.