initialize Subroutine

private pure subroutine initialize(self, signature, id, level, gc, ni, nj, nk, emin, emax, is_cartesian, is_null_x, is_null_y, is_null_z)

Initialize block signature.

Arguments

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

Block signature object.

type(block_signature_object), intent(in), optional :: signature

Block signature input.

integer(kind=I8P), intent(in), optional :: id

Unique (Morton) identification code.

integer(kind=I4P), intent(in), optional :: level

Grid refinement level.

integer(kind=I4P), intent(in), optional :: gc(1:)

Number of ghost cells along each frame.

integer(kind=I4P), intent(in), optional :: ni

Number of cells in I direction.

integer(kind=I4P), intent(in), optional :: nj

Number of cells in J direction.

integer(kind=I4P), intent(in), optional :: nk

Number of cells in K direction.

type(vector), intent(in), optional :: emin

Coordinates of minimum abscissa of the block.

type(vector), intent(in), optional :: emax

Coordinates of maximum abscissa of the block.

logical, intent(in), optional :: is_cartesian

Flag for checking if the block is Cartesian.

logical, intent(in), optional :: is_null_x

Nullify X direction (2D yz, 1D y or z domain).

logical, intent(in), optional :: is_null_y

Nullify Y direction (2D xy, 1D x or y domain).

logical, intent(in), optional :: is_null_z

Nullify Z direction (2D xy, 1D x or y domain).


Source Code


Source Code

   pure subroutine initialize(self, signature,           &
                              id, level, gc, ni, nj, nk, &
                              emin, emax, is_cartesian, is_null_x, is_null_y, is_null_z)
   !< Initialize block signature.
   !<
   !< @note If both whole `signature` and single components like `id, level, gc...` are passed, the values of
   !< `signature%id, signature%level, ...` are overridden.
   class(block_signature_object), intent(inout)        :: self         !< Block signature object.
   type(block_signature_object),  intent(in), optional :: signature    !< Block signature input.
   integer(I8P),                  intent(in), optional :: id           !< Unique (Morton) identification code.
   integer(I4P),                  intent(in), optional :: level        !< Grid refinement level.
   integer(I4P),                  intent(in), optional :: gc(1:)       !< Number of ghost cells along each frame.
   integer(I4P),                  intent(in), optional :: ni           !< Number of cells in I direction.
   integer(I4P),                  intent(in), optional :: nj           !< Number of cells in J direction.
   integer(I4P),                  intent(in), optional :: nk           !< Number of cells in K direction.
   type(vector),                  intent(in), optional :: emin         !< Coordinates of minimum abscissa of the block.
   type(vector),                  intent(in), optional :: emax         !< Coordinates of maximum abscissa of the block.
   logical,                       intent(in), optional :: is_cartesian !< Flag for checking if the block is Cartesian.
   logical,                       intent(in), optional :: is_null_x    !< Nullify X direction (2D yz, 1D y or z domain).
   logical,                       intent(in), optional :: is_null_y    !< Nullify Y direction (2D xy, 1D x or y domain).
   logical,                       intent(in), optional :: is_null_z    !< Nullify Z direction (2D xy, 1D x or y domain).

   call self%destroy
   if (present(signature   )) self              = signature
   if (present(id          )) self%id           = id
   if (present(level       )) self%level        = level
   if (present(gc          )) self%gc           = gc
   if (present(ni          )) self%ni           = ni
   if (present(nj          )) self%nj           = nj
   if (present(nk          )) self%nk           = nk
   if (present(emin        )) self%emin         = emin
   if (present(emax        )) self%emax         = emax
   if (present(is_cartesian)) self%is_cartesian = is_cartesian
   if (present(is_null_x   )) self%is_null_x    = is_null_x
   if (present(is_null_y   )) self%is_null_y    = is_null_y
   if (present(is_null_z   )) self%is_null_z    = is_null_z
   endsubroutine initialize


adim_assign_adim allocate_blocks block_assign_block block_d_assign_block_d cell_assign_cell cells_number cells_number check cli_parse cli_parse cli_parse close compute_extents compute_faces_metrics compute_metrics compute_metrics compute_reference_values compute_space_operator compute_volumes correct_metrics cp create_linspace description description description description description description description description description destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy destroy err_assign_err face_assign_face file_assign_file free_assign_free grid_d_assign_grid_d initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize initialize_unix initialize_windows integrate interpolate_at_nodes iolength iolength iopos_block_nodes is_the_end load_file_grid load_file_name_from_file load_file_parameters load_from_file load_from_file load_from_file load_from_file load_from_file load_from_file load_from_file load_grid_dimensions_from_file load_input_files load_nodes_from_file load_nodes_from_file mkdir node_assign_node node_to_center nodes_number nodes_number nullify_normals open os_assign_os parse_command_line_interface progress rm save_file_grid save_file_grid save_file_grid_tec save_file_grid_vtk save_file_name_into_file save_file_parameters save_grid_dimensions_into_file save_into_file save_into_file save_into_file save_into_file save_into_file save_into_file save_into_file save_nodes_into_file save_nodes_into_file set_command_line_interface set_stop solver_assign_solver time_assign_time update