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.

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