PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800

◆ max_timestep()

IceModel::TimesteppingInfo pism::IceModel::max_timestep ( unsigned int  counter)
protectedvirtual

Use various stability criteria to determine the time step for an evolution run.

The main loop in run() approximates many physical processes. Several of these approximations, including the mass continuity and temperature equations in particular, involve stability criteria. This procedure builds the length of the next time step by using these criteria and by incorporating choices made by options (e.g. -max_dt) and by derived classes.

Parameters
[in]countercurrent time-step skipping counter

Definition at line 101 of file timestepping.cc.

References pism::array::Array2D< T >::add(), pism::Geometry::cell_type, dt(), pism::IceModel::TimesteppingInfo::dt, extras_max_timestep(), m_config, m_eigen_calving, m_front_retreat, m_frontal_melt, m_geometry, m_hayhurst_calving, m_ice_thickness_bc_mask, m_stress_balance, m_submodels, m_time, m_timestep_hit_multiples_last_time, m_vonmises_calving, m_work2d, pism::array::max(), max_timestep_diffusivity(), pism::member(), pism::printf(), pism::IceModel::TimesteppingInfo::reason, save_max_timestep(), pism::array::Array::set(), pism::IceModel::TimesteppingInfo::skip_counter, skip_counter(), and ts_max_timestep().

Referenced by step().