rk4_substep Subroutine

private recursive subroutine rk4_substep(minLevel, maxLevel, currentLevel, mesh_list, tree, levelPointer, kerneldata_list, statedata_list, facedata_list, source, penalizationdata_list, boundary_list, bc, scheme_list, poly_proj_pos, poly_proj_list, timestep_list, equation, material_list, general, commStateTimer)

Subroutine calculates a substep of the Runge-Kutta timestepping scheme. Calls itself recursively for the finer levels until the finest level is reached.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: minLevel

The minimum refinement level of the mesh.

integer, intent(in) :: maxLevel

The maximum refinement level of the mesh.

integer, intent(in) :: currentLevel

The level the timestep has to be performed for.

type(atl_cube_elem_type), intent(inout) :: mesh_list(minLevel:maxLevel)

List of mesh parts. For each level we have one.

type(treelmesh_type), intent(in) :: tree

treelm mesh

integer, intent(in) :: levelPointer(:)

Pointer for elements from global treeID list index to index in levelwise fluid lists

type(atl_kerneldata_type), intent(inout) :: kerneldata_list(minLevel:maxLevel)

List of kerneldatas. For each level we have one

type(atl_statedata_type), intent(inout) :: statedata_list(minLevel:maxLevel)

List of states you want to calc the rhs for. For each level we have one.

type(atl_facedata_type), intent(inout) :: facedata_list(minLevel:maxLevel)

List of faces states you want to calc the rhs for. For each level we have one.

type(atl_source_type), intent(inout) :: source

List of sources, for each level

type(atl_penalizationData_type), intent(inout) :: penalizationdata_list(minLevel:maxLevel)

List of penalization data, for each level.

type(atl_level_boundary_type), intent(inout) :: boundary_list(minLevel:maxLevel)

List of boundaries, for each level.

type(atl_boundary_type), intent(in) :: bc(:)

Global description of the boundaries

type(atl_scheme_type), intent(inout) :: scheme_list(minLevel:maxLevel)

List of schemes, for each level.

integer, intent(in) :: poly_proj_pos(minLevel:maxLevel)

List of position of projection method in unique projection list, for each level

type(ply_poly_project_type), intent(inout) :: poly_proj_list(:)

unique list for projection methods

type(atl_timestep_type), intent(inout) :: timestep_list(minLevel:maxLevel)

List of levelwise timestepping algorihtms

type(atl_Equations_type), intent(inout) :: equation

The equation you are operating with.

type(atl_material_type), intent(inout) :: material_list(minlevel:maxlevel)

Material parameter description.

type(tem_general_type), intent(inout) :: general

General treelm settings

integer, intent(inout) :: commStateTimer

Timer for measuring the communication time inside this routine.


Calls

proc~~rk4_substep~~CallsGraph proc~rk4_substep rk4_substep proc~rk4_substep->proc~rk4_substep interface~atl_postprocess_rhs atl_postprocess_rhs proc~rk4_substep->interface~atl_postprocess_rhs interface~atl_preprocess_rhs atl_preprocess_rhs proc~rk4_substep->interface~atl_preprocess_rhs interface~atl_compute_rhs atl_compute_rhs proc~rk4_substep->interface~atl_compute_rhs proc~postprocess_rhs_cubes postprocess_rhs_cubes interface~atl_postprocess_rhs->proc~postprocess_rhs_cubes proc~preprocess_rhs_cubes preprocess_rhs_cubes interface~atl_preprocess_rhs->proc~preprocess_rhs_cubes proc~compute_rhs_cubes compute_rhs_cubes interface~atl_compute_rhs->proc~compute_rhs_cubes proc~tem_abort tem_abort proc~compute_rhs_cubes->proc~tem_abort proc~compute_rhs_cubes_modg_1d compute_rhs_cubes_modg_1d proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg_1d proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg proc~atl_modg_set_bnd atl_modg_set_bnd proc~preprocess_rhs_cubes->proc~atl_modg_set_bnd proc~atl_modg_1d_coarsetofineface atl_modg_1d_coarseToFineFace proc~preprocess_rhs_cubes->proc~atl_modg_1d_coarsetofineface proc~preprocess_rhs_cubes->proc~tem_abort proc~atl_modg_ensure_pos_facemean atl_modg_ensure_pos_facemean proc~preprocess_rhs_cubes->proc~atl_modg_ensure_pos_facemean proc~atl_eqn_update_background atl_eqn_update_background proc~preprocess_rhs_cubes->proc~atl_eqn_update_background proc~atl_modg_1d_set_bnd atl_modg_1d_set_bnd proc~preprocess_rhs_cubes->proc~atl_modg_1d_set_bnd proc~tem_starttimer tem_startTimer proc~preprocess_rhs_cubes->proc~tem_starttimer proc~atl_modg_modalvoltomodalface atl_modg_modalVolToModalFace proc~preprocess_rhs_cubes->proc~atl_modg_modalvoltomodalface proc~atl_modg_2d_modalvoltomodalface atl_modg_2d_modalVolToModalFace proc~preprocess_rhs_cubes->proc~atl_modg_2d_modalvoltomodalface proc~atl_preprocess_modg_1d_kernel atl_preprocess_modg_1d_kernel proc~preprocess_rhs_cubes->proc~atl_preprocess_modg_1d_kernel proc~tem_stoptimer tem_stopTimer proc~preprocess_rhs_cubes->proc~tem_stoptimer proc~atl_modg_coarsetofineface atl_modg_coarseToFineFace proc~preprocess_rhs_cubes->proc~atl_modg_coarsetofineface proc~atl_modg_2d_ensure_pos_facemean atl_modg_2d_ensure_pos_facemean proc~preprocess_rhs_cubes->proc~atl_modg_2d_ensure_pos_facemean proc~atl_preprocess_modg_2d_kernel atl_preprocess_modg_2d_kernel proc~preprocess_rhs_cubes->proc~atl_preprocess_modg_2d_kernel proc~atl_modg_2d_coarsetofineface atl_modg_2d_coarseToFineFace proc~preprocess_rhs_cubes->proc~atl_modg_2d_coarsetofineface proc~atl_modg_2d_set_bnd atl_modg_2d_set_bnd proc~preprocess_rhs_cubes->proc~atl_modg_2d_set_bnd proc~atl_modg_1d_modalvoltomodalface atl_modg_1d_modalVolToModalFace proc~preprocess_rhs_cubes->proc~atl_modg_1d_modalvoltomodalface proc~atl_preprocess_modg_kernel atl_preprocess_modg_kernel proc~preprocess_rhs_cubes->proc~atl_preprocess_modg_kernel proc~atl_modg_1d_ensure_pos_face atl_modg_1d_ensure_pos_face proc~preprocess_rhs_cubes->proc~atl_modg_1d_ensure_pos_face proc~postprocess_rhs_cubes->proc~tem_abort proc~atl_modg_invmassmatrix atl_modg_invMassMatrix proc~postprocess_rhs_cubes->proc~atl_modg_invmassmatrix proc~postprocess_rhs_cubes->proc~tem_starttimer proc~atl_modg_2d_invmassmatrix atl_modg_2d_invMassMatrix proc~postprocess_rhs_cubes->proc~atl_modg_2d_invmassmatrix proc~postprocess_rhs_cubes->proc~tem_stoptimer proc~atl_modg_1d_invmassmatrix atl_modg_1d_invMassMatrix proc~postprocess_rhs_cubes->proc~atl_modg_1d_invmassmatrix

Called by

proc~~rk4_substep~~CalledByGraph proc~rk4_substep rk4_substep proc~rk4_substep->proc~rk4_substep none~substep substep none~substep->proc~rk4_substep proc~mesh_timestep_rk4 mesh_timestep_rk4 proc~mesh_timestep_rk4->none~substep

Contents

None