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

◆ till_friction_angle() [2/2]

void pism::MohrCoulombYieldStress::till_friction_angle ( const array::Scalar bed_topography,
array::Scalar result 
)
private

Computes the till friction angle phi as a piecewise linear function of bed elevation, according to user options.

Computes the till friction angle \(\phi(x,y)\) at a location as the following increasing, piecewise-linear function of the bed elevation \(b(x,y)\). Let

\[ M = (\phi_{\text{max}} - \phi_{\text{min}}) / (b_{\text{max}} - b_{\text{min}}) \]

be the slope of the nontrivial part. Then

\[ \phi(x,y) = \begin{cases} \phi_{\text{min}}, & b(x,y) \le b_{\text{min}}, \\ \phi_{\text{min}} + (b(x,y) - b_{\text{min}}) \,M, & b_{\text{min}} < b(x,y) < b_{\text{max}}, \\ \phi_{\text{max}}, & b_{\text{max}} \le b(x,y), \end{cases} \]

where \(\phi_{\text{min}}=\)phi_min, \(\phi_{\text{max}}=\)phi_max, \(b_{\text{min}}=\)topg_min, \(b_{\text{max}}=\)topg_max.

The default values are vaguely suitable for Antarctica. See src/pism_config.cdl.

Definition at line 351 of file MohrCoulombYieldStress.cc.

References pism::Component::m_config, pism::Component::m_grid, pism::Component::m_log, PISM_ERROR_LOCATION, and pism::array::Array::update_ghosts().

Referenced by bootstrap_impl().