substep Subroutine

public subroutine substep(self, curr, deriv, iter)

One time-integrator sub-stage: case-specific BCs, transeq, forcings, time integration, case BC re-application, IBM body force, and pressure correction. Extracted from run()'s per-sub-stage loop body so the same allocation path can be driven directly (e.g. by the memory-estimate probe) without going through the full time loop, I/O cadence, or diagnostics.

Type Bound

base_case_t

Arguments

Type IntentOptional Attributes Name
class(base_case_t), intent(inout) :: self
type(flist_t), intent(inout) :: curr(:)
type(flist_t), intent(inout) :: deriv(:)
integer, intent(in) :: iter

Calls

proc~~substep~~CallsGraph proc~substep m_base_case::base_case_t%substep apply_BC apply_BC proc~substep->apply_BC define_BC define_BC proc~substep->define_BC forcings forcings proc~substep->forcings none~body m_ibm::ibm_t%body proc~substep->none~body proc~get_block m_allocator::allocator_t%get_block proc~substep->proc~get_block proc~precorrect_walls m_solver::solver_t%precorrect_walls proc~substep->proc~precorrect_walls proc~pressure_correction m_solver::solver_t%pressure_correction proc~substep->proc~pressure_correction proc~release_block m_allocator::allocator_t%release_block proc~substep->proc~release_block proc~vecmult_base m_base_backend::base_backend_t%vecmult_base none~body->proc~vecmult_base 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~abort_run m_logger::abort_run proc~precorrect_walls->proc~abort_run proc~field_add_face_from_field_base m_base_backend::base_backend_t%field_add_face_from_field_base proc~precorrect_walls->proc~field_add_face_from_field_base proc~field_scale_base m_base_backend::base_backend_t%field_scale_base proc~precorrect_walls->proc~field_scale_base proc~field_set_face_base m_base_backend::base_backend_t%field_set_face_base proc~precorrect_walls->proc~field_set_face_base 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 proc~set_data_loc m_field::field_t%set_data_loc proc~pressure_correction->proc~set_data_loc proc~vecadd_base m_base_backend::base_backend_t%vecadd_base proc~pressure_correction->proc~vecadd_base interface~str m_logger::str proc~abort_run->interface~str mpi_abort mpi_abort proc~abort_run->mpi_abort mpi_barrier mpi_barrier proc~abort_run->mpi_barrier mpi_comm_rank mpi_comm_rank proc~abort_run->mpi_comm_rank mpi_comm_size mpi_comm_size proc~abort_run->mpi_comm_size mpi_finalized mpi_finalized proc~abort_run->mpi_finalized mpi_initialized mpi_initialized proc~abort_run->mpi_initialized proc~divergence_v2c m_vector_calculus::vector_calculus_t%divergence_v2c proc~divergence_v2p->proc~divergence_v2c proc~field_add_face_from_field_base->proc~abort_run proc~field_scale_base->proc~abort_run proc~field_set_face_base->proc~abort_run proc~gradient_c2v m_vector_calculus::vector_calculus_t%gradient_c2v proc~gradient_p2v->proc~gradient_c2v proc~vecadd_base->proc~abort_run proc~vecmult_base->proc~abort_run proc~divergence_v2c->proc~get_block proc~divergence_v2c->proc~release_block proc~divergence_v2c->proc~abort_run proc~divergence_v2c->proc~vecadd_base proc~reorder_base m_base_backend::base_backend_t%reorder_base proc~divergence_v2c->proc~reorder_base proc~tds_solve_base m_base_backend::base_backend_t%tds_solve_base proc~divergence_v2c->proc~tds_solve_base proc~gradient_c2v->proc~get_block proc~gradient_c2v->proc~release_block proc~gradient_c2v->proc~abort_run proc~gradient_c2v->proc~reorder_base proc~gradient_c2v->proc~tds_solve_base proc~reorder_base->proc~abort_run proc~tds_solve_base->proc~abort_run

Called by

proc~~substep~~CalledByGraph proc~substep m_base_case::base_case_t%substep proc~run m_base_case::base_case_t%run proc~run->proc~substep proc~run_build_mode m_memcheck_build::run_build_mode proc~run_build_mode->proc~substep program~x3d2_memcheck x3d2_memcheck program~x3d2_memcheck->proc~run_build_mode program~xcompact xcompact program~xcompact->proc~run