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_impl()

MaxTimestep pism::surface::ForceThickness::max_timestep_impl ( double  my_t) const
protectedvirtual

The timestep restriction is, by direct analogy, the same as for

\[\frac{dy}{dt} = - \alpha y\]

with explicit (forward) Euler. If \(\Delta t\) is the time step then Euler is \(y_{n+1} = (1-\alpha \Delta t) y_n\). We require for stability that \(|y_{n+1}|\le |y_n|\), which is to say \(|1-\alpha \Delta t|\le 1\). Equivalently (since \(\alpha \Delta t>0\)),

\[\alpha \Delta t\le 2\]

Therefore we set here

\[\Delta t = \frac{2}{\alpha}.\]

Reimplemented from pism::surface::SurfaceModel.

Definition at line 292 of file ForceThickness.cc.

References m_alpha, pism::surface::SurfaceModel::m_input_model, and pism::array::min().