sim_update_exp_dt Subroutine

private subroutine sim_update_exp_dt(me, wave_time)

Type Bound

simulation_t

Arguments

Type IntentOptional Attributes Name
class(simulation_t), intent(inout) :: me
real(kind=dp), intent(in) :: wave_time

Called by

proc~~sim_update_exp_dt~~CalledByGraph proc~sim_update_exp_dt simulation_t%sim_update_exp_dt proc~main_loop main_loop proc~main_loop->proc~sim_update_exp_dt program~reims_p reims_p program~reims_p->proc~main_loop

Source Code

subroutine sim_update_exp_dt(me,wave_time)
    class(simulation_t), intent(inout) :: me
    real(dp),            intent(in)    :: wave_time
    ! value `dt_exp` is function of `wave_time` and overwritten
    ! for the beginning of the simulation (to have soft start) 
    me%dt_exp = 0.8_dp * wave_time
    if(me%expl_steps > 5) me%dt_exp = 0.5_dp * wave_time
    if(me%expl_steps > 8) me%dt_exp = 0.1_dp * wave_time
    if(me%explicit) me%dt = me%dt_exp
end subroutine sim_update_exp_dt