PISM, A Parallel Ice Sheet Model  stable v2.0.5 committed by Constantine Khrulev on 2022-10-14 09:56:26 -0800

◆ update_impl()

void pism::MohrCoulombYieldStress::update_impl ( const YieldStressInputs inputs,
double  t,
double  dt 
)
protectedvirtual

Update the till yield stress for use in the pseudo-plastic till basal stress model. See also IceBasalResistancePlasticLaw.

Updates yield stress \( \tau_c \) based on modeled till water layer thickness from a Hydrology object. We implement the Mohr-Coulomb criterion allowing a (typically small) till cohesion \( c_0 \) and by expressing the coefficient as the tangent of a till friction angle \( \varphi \) :

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

See [Paterson] table 8.1 regarding values.

The effective pressure on the till is empirically-related to the amount of water in the till. We use this formula derived from [Tulaczyketal2000] and documented in [BuelervanPeltDRAFT]:

\[ N_{till} = \min\left\{P_o, N_0 \left(\frac{\delta P_o}{N_0}\right)^s 10^{(e_0/C_c) (1 - s)}\right\} \]

where \( s = W_{till} / W_{till}^{max} \), \( W_{till}^{max} \) =hydrology_tillwat_max, \( \delta \) =basal_yield_stress.mohr_coulomb.till_effective_fraction_overburden, \( P_o \) is the overburden pressure, \( N_0 \) =basal_yield_stress.mohr_coulomb.till_reference_effective_pressure is a reference effective pressure, \( e_0 \) =basal_yield_stress.mohr_coulomb.till_reference_void_ratio is the void ratio at the reference effective pressure, and \( C_c \) =basal_yield_stress.mohr_coulomb.till_compressibility_coefficient is the coefficient of compressibility of the till. Constants \( N_0, e_0, C_c \) are found by [Tulaczyketal2000] from laboratory experiments on samples of till.

If basal_yield_stress.add_transportable_water is yes then \( s \) in the above formula becomes \( s = (W + W_{till}) / W_{till}^{max} \), that is, the water amount is the sum \( W+W_{till} \).

Implements pism::YieldStress.

Reimplemented in pism::OptTillphiYieldStress.

Definition at line 264 of file MohrCoulombYieldStress.cc.

References pism::IceModelVec2S::add(), pism::Geometry::bed_elevation, pism::Geometry::cell_type, pism::YieldStressInputs::geometry, pism::IceModelVec2CellType::ice_free(), pism::Geometry::ice_thickness, pism::YieldStress::m_basal_yield_stress, pism::Component::m_config, m_delta, pism::Component::m_grid, m_till_phi, pism::PointsWithGhosts::next(), pism::IceModelVec2CellType::next_to_floating_ice(), pism::IceModelVec2CellType::next_to_ice_free_ocean(), pism::Geometry::sea_level_elevation, pism::YieldStressInputs::subglacial_water_thickness, pism::YieldStressInputs::till_water_thickness, pism::IceModelVec::update_ghosts(), and pism::MohrCoulombPointwise::yield_stress().

Referenced by pism::OptTillphiYieldStress::update_impl().