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

◆ MohrCoulombYieldStress()

pism::MohrCoulombYieldStress::MohrCoulombYieldStress ( std::shared_ptr< const Grid grid)

The pseudo-plastic till basal resistance model is governed by this power law equation,

\[ \tau_b = - \frac{\tau_c}{|\mathbf{U}|^{1-q} U_{\mathtt{th}}^q} \mathbf{U}, \]

where \(\tau_b=(\tau_{(b)x},\tau_{(b)y})\) is the basal shear stress and \(U=(u,v)\) is the sliding velocity.

We call the scalar field \(\tau_c(t,x,y)\) the yield stress even when the power \(q\) is not zero; when that power is zero the formula describes a plastic material with an actual yield stress. The constant \(U_{\mathtt{th}}\) is the threshold speed, and \(q\) is the pseudo plasticity exponent*. The current class computes this yield stress field. See also IceBasalResistancePlasticLaw::drag().

The strength of the saturated till material, the yield stress, is modeled by a Mohr-Coulomb relation [Paterson, SchoofStream],

\[ \tau_c = c_0 + (\tan \varphi) N_{till}, \]

where \(N_{till}\) is the effective pressure of the glacier on the mineral till.

The determination of the till friction angle \(\varphi(x,y)\) is important. It is assumed in this default model to be a time-independent factor which describes the strength of the unsaturated "dry" (mineral) till material. Thus it is assumed to change more slowly than the till water pressure, and it follows that it changes more slowly than the yield stress and the basal shear stress.

Option -topg_to_phi causes call to topg_to_phi() at the beginning of the run. This determines the map of \(\varphi(x,y)\). If this option is note given, the current method leaves tillphi unchanged, and thus either in its read-in-from-file state or with a default constant value from the config file.

Definition at line 90 of file MohrCoulombYieldStress.cc.

References pism::ForcingOptions::filename, pism::RuntimeError::formatted(), pism::LINEAR, pism::VariableMetadata::long_name(), pism::Component::m_config, m_delta, pism::Component::m_grid, pism::YieldStress::m_name, m_till_phi, pism::array::Array::metadata(), pism::ForcingOptions::periodic, PISM_ERROR_LOCATION, pism::io::PISM_NETCDF3, pism::io::PISM_READONLY, pism::VariableMetadata::set_time_independent(), and pism::VariableMetadata::units().