run Subroutine

public subroutine run(self)

Runs the solver forwards in time from t=t_0 to t=T, performing postprocessing/IO and reporting diagnostics.

Type Bound

base_case_t

Arguments

Type IntentOptional Attributes Name
class(base_case_t), intent(inout) :: self

Calls

proc~~run~~CallsGraph proc~run m_base_case::base_case_t%run boundary_conditions boundary_conditions proc~run->boundary_conditions forcings forcings proc~run->forcings none~handle_io_step~3 m_checkpoint_manager::checkpoint_manager_t%handle_io_step proc~run->none~handle_io_step~3 none~is_restart m_checkpoint_manager::checkpoint_manager_t%is_restart proc~run->none~is_restart postprocess postprocess proc~run->postprocess pre_correction pre_correction proc~run->pre_correction proc~case_finalise m_base_case::base_case_t%case_finalise proc~run->proc~case_finalise proc~get_block m_allocator::allocator_t%get_block proc~run->proc~get_block proc~is_root m_mesh_content::par_t%is_root proc~run->proc~is_root proc~pressure_correction m_solver::solver_t%pressure_correction proc~run->proc~pressure_correction proc~release_block m_allocator::allocator_t%release_block proc~run->proc~release_block proc~transeq m_solver::solver_t%transeq proc~run->proc~transeq none~handle_io_step~2 m_checkpoint_manager_impl::checkpoint_manager_adios2_t%handle_io_step none~handle_io_step~3->none~handle_io_step~2 proc~case_finalise->proc~is_root none~finalise~3 m_checkpoint_manager::checkpoint_manager_t%finalise proc~case_finalise->none~finalise~3 none~get_padded_dims m_mesh::mesh_t%get_padded_dims proc~get_block->none~get_padded_dims proc~create_block m_allocator::allocator_t%create_block proc~get_block->proc~create_block proc~set_shape m_field::field_t%set_shape proc~get_block->proc~set_shape proc~pressure_correction->proc~get_block proc~pressure_correction->proc~release_block proc~divergence_v2p m_solver::solver_t%divergence_v2p proc~pressure_correction->proc~divergence_v2p proc~gradient_p2v m_solver::solver_t%gradient_p2v proc~pressure_correction->proc~gradient_p2v vecadd vecadd proc~pressure_correction->vecadd proc~transeq->proc~get_block proc~transeq->proc~release_block reorder reorder proc~transeq->reorder sum_yintox sum_yintox proc~transeq->sum_yintox sum_zintox sum_zintox proc~transeq->sum_zintox transeq_x transeq_x proc~transeq->transeq_x transeq_y transeq_y proc~transeq->transeq_y transeq_z transeq_z proc~transeq->transeq_z none~finalise~2 m_checkpoint_manager_impl::checkpoint_manager_adios2_t%finalise none~finalise~3->none~finalise~2 proc~get_padded_dims_dir m_mesh::mesh_t%get_padded_dims_dir none~get_padded_dims->proc~get_padded_dims_dir proc~get_padded_dims_phi m_mesh::mesh_t%get_padded_dims_phi none~get_padded_dims->proc~get_padded_dims_phi none~handle_io_step~2->proc~get_block none~handle_io_step~2->proc~release_block mpi_comm_rank mpi_comm_rank none~handle_io_step~2->mpi_comm_rank none~begin_step~2 m_adios2_io::adios2_writer_t%begin_step none~handle_io_step~2->none~begin_step~2 none~write_attribute m_adios2_io::adios2_writer_t%write_attribute none~handle_io_step~2->none~write_attribute none~write_data m_adios2_io::adios2_writer_t%write_data none~handle_io_step~2->none~write_data proc~get_coordinates m_mesh::mesh_t%get_coordinates none~handle_io_step~2->proc~get_coordinates proc~get_dims m_mesh::mesh_t%get_dims none~handle_io_step~2->proc~get_dims proc~get_field_data m_base_backend::base_backend_t%get_field_data none~handle_io_step~2->proc~get_field_data proc~get_global_dims m_mesh::mesh_t%get_global_dims none~handle_io_step~2->proc~get_global_dims proc~divergence_v2c m_vector_calculus::vector_calculus_t%divergence_v2c proc~divergence_v2p->proc~divergence_v2c proc~gradient_c2v m_vector_calculus::vector_calculus_t%gradient_c2v proc~gradient_p2v->proc~gradient_c2v adios2_begin_step adios2_begin_step none~begin_step~2->adios2_begin_step none~handle_error m_adios2_io::base_adios2_t%handle_error none~begin_step~2->none~handle_error none~finalise~4 m_adios2_io::base_adios2_t%finalise none~finalise~2->none~finalise~4 adios2_define_attribute adios2_define_attribute none~write_attribute->adios2_define_attribute none~write_attribute->none~handle_error adios2_define_variable adios2_define_variable none~write_data->adios2_define_variable adios2_put adios2_put none~write_data->adios2_put none~write_data->none~handle_error proc~divergence_v2c->proc~get_block proc~divergence_v2c->proc~release_block proc~divergence_v2c->reorder proc~divergence_v2c->vecadd tds_solve tds_solve proc~divergence_v2c->tds_solve proc~get_dims_dataloc m_mesh::get_dims_dataloc proc~get_dims->proc~get_dims_dataloc proc~get_field_data->proc~get_block proc~get_field_data->proc~release_block proc~get_field_data->reorder copy_f_to_data copy_f_to_data proc~get_field_data->copy_f_to_data proc~get_rdr_from_dirs m_common::get_rdr_from_dirs proc~get_field_data->proc~get_rdr_from_dirs proc~get_global_dims->proc~get_dims_dataloc none~get_n_groups m_mesh::mesh_t%get_n_groups proc~get_padded_dims_dir->none~get_n_groups proc~get_padded_dims_phi->none~get_padded_dims proc~gradient_c2v->proc~get_block proc~gradient_c2v->proc~release_block proc~gradient_c2v->reorder proc~gradient_c2v->tds_solve none~finalise~4->none~handle_error adios2_finalize adios2_finalize none~finalise~4->adios2_finalize proc~get_n_groups_dir m_mesh::mesh_t%get_n_groups_dir none~get_n_groups->proc~get_n_groups_dir proc~get_n_groups_phi m_mesh::mesh_t%get_n_groups_phi none~get_n_groups->proc~get_n_groups_phi proc~get_n_groups_phi->none~get_n_groups

Called by

proc~~run~~CalledByGraph proc~run m_base_case::base_case_t%run program~xcompact xcompact program~xcompact->proc~run