initialize Subroutine

private subroutine initialize(self, blocks, parse_cli, load_files)

Initialize simulation.

Arguments

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

simulation data.

type(block_object), intent(in), optional :: blocks(1:)

Blocks structure.

logical, intent(in), optional :: parse_cli

Enable CLI parsing.

logical, intent(in), optional :: load_files

Enable files loading.


Source Code


Source Code

   subroutine initialize(self, blocks, parse_cli, load_files)
   !< Initialize simulation.
   class(simulation_object), intent(inout)        :: self        !< simulation data.
   type(block_object),       intent(in), optional :: blocks(1:)  !< Blocks structure.
   logical,                  intent(in), optional :: parse_cli   !< Enable CLI parsing.
   logical,                  intent(in), optional :: load_files  !< Enable files loading.
   logical                                        :: parse_cli_  !< Enable CLI parsing, local variable.
   logical                                        :: load_files_ !< Enable files loading, local variable.

   parse_cli_  = .false. ; if (present(parse_cli )) parse_cli_  = parse_cli
   load_files_ = .false. ; if (present(load_files)) load_files_ = load_files

   call self%destroy

   call self%error%initialize
   call self%adimensionals%initialize
   call self%file_grid%initialize
   call self%free_conditions%initialize
   call self%os%initialize
   call self%solver%initialize
   call self%time%initialize
   call self%grid_dimensions%initialize

   if (parse_cli_) call self%parse_command_line_interface

   if (load_files_) call self%load_input_files

   if (present(blocks)) then
      call self%grid_dimensions%initialize(block_signature=blocks%signature)
      allocate(self%blocks(1:size(blocks, dim=1)), source=blocks)
   endif

   if (self%is_output_verbose) print '(A)', self%description()
   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