atl_get_timestep Subroutine

public subroutine atl_get_timestep(tree, mesh_list, scheme_list, material_list, equation, time, statedata_list, nCellsNoBnd, general, adaptive_timestep, initial, precice_dt)

Subrountine which gather all calls to get the timestep for the current iteration

There is an fixed_dt requested, use that instead of adaptive timestepping.

Arguments

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

The treelmesh data structure

type(atl_cube_elem_type), intent(in) :: mesh_list(tree%global%minLevel:tree%global%maxLevel)

List of meshes for different kernels

type(atl_scheme_type), intent(inout) :: scheme_list(tree%global%minLevel:tree%global%maxLevel)

scheme desription

type(atl_material_type), intent(in) :: material_list(tree%global%minLevel:tree%global%maxLevel)

List of material parameter information for the mesh. One entry for level, running from minlevel to maxlevel.

type(atl_Equations_type), intent(inout) :: equation
type(atl_global_timestep_type), intent(in) :: time

Global timediscretization type

type(atl_statedata_type), intent(in) :: statedata_list(tree%global%minLevel:tree%global%maxLevel)

Local time

integer, intent(in) :: nCellsNoBnd(:)
type(tem_general_type), intent(in) :: general

general data coming from treelem

logical, intent(in) :: adaptive_timestep

Flag for adaptive timestep calculation

logical, intent(in) :: initial

Flag for timestep calculation because it is the init step

real(kind=rk), intent(out), optional :: precice_dt

Timestep specified from precice. If this value is present, precice is considered active.


Calls

proc~~atl_get_timestep~~CallsGraph proc~atl_get_timestep atl_get_timestep proc~tem_abort tem_abort proc~atl_get_timestep->proc~tem_abort proc~create_global_timestep create_global_timestep proc~atl_get_timestep->proc~create_global_timestep proc~calculate_cfl_timestep calculate_cfl_timestep proc~atl_get_timestep->proc~calculate_cfl_timestep proc~tem_isnan tem_isNaN proc~atl_get_timestep->proc~tem_isnan proc~calc_common_global_timestep calc_common_global_timestep proc~create_global_timestep->proc~calc_common_global_timestep proc~calculate_cfl_timestep->proc~tem_abort proc~calc_timestep_lineareuler_2d_cube calc_timestep_linearEuler_2d_cube proc~calculate_cfl_timestep->proc~calc_timestep_lineareuler_2d_cube proc~calc_timestep_adv_cube calc_timestep_adv_cube proc~calculate_cfl_timestep->proc~calc_timestep_adv_cube proc~calc_timestep_heat_cube_1d calc_timestep_heat_cube_1d proc~calculate_cfl_timestep->proc~calc_timestep_heat_cube_1d proc~calc_timestep_viscflow_cube calc_timestep_viscflow_cube proc~calculate_cfl_timestep->proc~calc_timestep_viscflow_cube proc~calc_timestep_flow_cube_2d calc_timestep_flow_cube_2d proc~calculate_cfl_timestep->proc~calc_timestep_flow_cube_2d proc~calc_timestep_flow_cube calc_timestep_flow_cube proc~calculate_cfl_timestep->proc~calc_timestep_flow_cube proc~calc_timestep_ed_cube calc_timestep_ed_cube proc~calculate_cfl_timestep->proc~calc_timestep_ed_cube proc~calc_timestep_nerplanck_cube calc_timestep_nerplanck_cube proc~calculate_cfl_timestep->proc~calc_timestep_nerplanck_cube proc~calc_timestep_flow_cube_mod calc_timestep_flow_cube_mod proc~calculate_cfl_timestep->proc~calc_timestep_flow_cube_mod proc~calc_timestep_acoustic_2d_cube calc_timestep_acoustic_2d_cube proc~calculate_cfl_timestep->proc~calc_timestep_acoustic_2d_cube proc~atl_eqn_update_background atl_eqn_update_background proc~calculate_cfl_timestep->proc~atl_eqn_update_background proc~calc_timestep_viscflow_cube_2d calc_timestep_viscflow_cube_2d proc~calculate_cfl_timestep->proc~calc_timestep_viscflow_cube_2d proc~calc_timestep_flow_cube_1d calc_timestep_flow_cube_1d proc~calculate_cfl_timestep->proc~calc_timestep_flow_cube_1d proc~calc_timestep_acoustic_cube calc_timestep_acoustic_cube proc~calculate_cfl_timestep->proc~calc_timestep_acoustic_cube proc~calc_timestep_lineareuler_cube calc_timestep_linearEuler_cube proc~calculate_cfl_timestep->proc~calc_timestep_lineareuler_cube mpi_allreduce mpi_allreduce proc~calc_common_global_timestep->mpi_allreduce proc~tem_temporal_for tem_temporal_for proc~atl_eqn_update_background->proc~tem_temporal_for

Called by

proc~~atl_get_timestep~~CalledByGraph proc~atl_get_timestep atl_get_timestep proc~atl_solve_program atl_solve_program proc~atl_solve_program->proc~atl_get_timestep proc~atl_initialize_program atl_initialize_program proc~atl_initialize_program->proc~atl_get_timestep program~ateles ateles program~ateles->proc~atl_solve_program program~ateles->proc~atl_initialize_program

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iList

Iterating over the various levels

real(kind=rk), private :: glob_dt

Global timestep introduced for precice

real(kind=rk), private :: time2end

variable needed for truncation of last time step

real(kind=rk), private :: para_phi

parameter needed to fix the subcycling for the couplinging in precice