Processing math: 100%
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages

◆ 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 265 of file MohrCoulombYieldStress.cc.

References pism::array::Array2D< T >::add(), pism::Geometry::bed_elevation, pism::Geometry::cell_type, pism::YieldStressInputs::geometry, pism::Geometry::ice_thickness, pism::YieldStress::m_basal_yield_stress, pism::Component::m_config, m_delta, pism::Component::m_grid, m_till_phi, pism::Geometry::sea_level_elevation, pism::YieldStressInputs::subglacial_water_thickness, pism::YieldStressInputs::till_water_thickness, pism::array::Array::update_ghosts(), and pism::MohrCoulombPointwise::yield_stress().

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