off_file_grid_object Module

module~~off_file_grid_object~~UsesGraph module~off_file_grid_object off_file_grid_object module~off_file_object off_file_object module~off_file_object->module~off_file_grid_object iso_fortran_env iso_fortran_env iso_fortran_env->module~off_file_grid_object iso_fortran_env->module~off_file_object module~off_block_object off_block_object iso_fortran_env->module~off_block_object module~off_error_object off_error_object iso_fortran_env->module~off_error_object module~off_block_object->module~off_file_grid_object penf penf penf->module~off_file_grid_object penf->module~off_file_object penf->module~off_block_object module~off_grid_dimensions_object off_grid_dimensions_object penf->module~off_grid_dimensions_object penf->module~off_error_object module~off_cell_object off_cell_object penf->module~off_cell_object module~off_block_signature_object off_block_signature_object penf->module~off_block_signature_object module~off_face_object off_face_object penf->module~off_face_object module~off_grid_dimensions_object->module~off_file_grid_object finer finer finer->module~off_file_object module~off_error_object->module~off_file_object module~off_error_object->module~off_block_object module~off_cell_object->module~off_block_object module~off_block_signature_object->module~off_block_object module~off_block_signature_object->module~off_grid_dimensions_object module~off_node_object off_node_object module~off_node_object->module~off_block_object module~off_face_object->module~off_block_object vecfor vecfor vecfor->module~off_block_object vecfor->module~off_grid_dimensions_object vecfor->module~off_cell_object vecfor->module~off_block_signature_object vecfor->module~off_node_object vecfor->module~off_face_object vtk_fortran vtk_fortran vtk_fortran->module~off_block_object
Help

OFF file grid object definition and implementation.

The file grid is an unformatted, stream file containing the nodes coordinates of the whole grid. It skeleton is the following

 # header
 blocks_number
 # for each block
 id, level, gc, ni, nj, nk
 # core
 # for each block (for all nodes of block)
 node%vertex%x, node%vertex%y, node%vertex%z

file_grid_object provides standard API for loading and saving this file.

Used By

module~~off_file_grid_object~~UsedByGraph module~off_file_grid_object off_file_grid_object module~off_simulation_object off_simulation_object module~off_file_grid_object->module~off_simulation_object module~off_objects off_objects module~off_file_grid_object->module~off_objects module~off_simulation_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, extends(file_object) :: file_grid_object

File grid object class.

Components

TypeVisibility AttributesNameInitial
type(error_object), public :: error

Errors handler.

character(len=:), public, allocatable:: file_name

File name.

integer(kind=I4P), public :: file_unit =0

File unit.

logical, public :: is_connected =.false.

Sentinel to check if file is connected.

logical, public :: is_initialized =.false.

Sentinel to check if file is initialized.

Type-Bound Procedures

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

Overload =.

procedure, public, pass(self) :: close

Close file.

procedure, public, pass(self) :: description

Return a pretty-formatted description of the file.

procedure, public, pass(self) :: destroy

Destroy file.

procedure, public, pass(lhs) :: file_assign_file

Operator =.

procedure, public, pass(self) :: initialize

Initialize file.

procedure, public, pass(self) :: load_file_name_from_file

Load file name from file.

procedure, public, pass(self) :: load_grid_dimensions_from_file

Load the grid dimensions of all blocks from file.

procedure, public, pass(self) :: load_nodes_from_file

Load nodes coordinates from file.

procedure, public, pass(self) :: open

Open file.

procedure, public, pass(self) :: save_file_name_into_file

Save file name into file.

procedure, public, pass(self) :: save_grid_dimensions_into_file

Save the grid dimensions of all blocks into file.

procedure, public, pass(self) :: save_nodes_into_file

Save nodes coordinates into file.


Subroutines

private subroutine load_grid_dimensions_from_file(self, grid_dimensions, file_name)

Load the grid dimensions of all blocks from file.

Arguments

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

File object.

type(grid_dimensions_object), intent(inout) :: grid_dimensions

Grid dimensions off all blocks into file.

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

File name.

private subroutine load_nodes_from_file(self, grid_dimensions, blocks, file_name)

Load nodes coordinates from file.

Arguments

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

File object.

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

Grid dimensions off all blocks into file.

type(block_object), intent(inout) :: blocks(1:)

Blocks storage.

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

File name.

private subroutine save_grid_dimensions_into_file(self, grid_dimensions)

Load the grid dimensions of all blocks into file.

Arguments

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

File object.

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

Grid dimensions off all blocks into file.

private subroutine save_nodes_into_file(self, grid_dimensions, blocks)

Save nodes coordinates into file.

Arguments

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

File object.

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

Grid dimensions off all blocks into file.

type(block_object), intent(inout) :: blocks(1:)

Blocks storage.