Loading [MathJax]/extensions/tex2jax.js
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

◆ drag_with_derivative()

void pism::IceBasalResistanceRegularizedLaw::drag_with_derivative ( double  tauc,
double  vx,
double  vy,
double beta,
double dbeta 
) const
virtual

Compute the drag coefficient and its derivative with respect to \( \alpha = \frac 1 2 (u_x^2 + u_y^2) \).

\begin{align*} \beta &= \frac{\tau_{c}}{ \left( (|u|^{2})^{\frac12} + u_{\text{threshold}} \right)^{q} }\cdot (|\mathbf{u}|^{2})^{\frac{q-1}{2}} \\ \diff{\beta}{\frac12 |\mathbf{u}|^{2}} &= \frac{\tau_{c}}{ \left( (|\mathbf{u}|^{2})^{\frac12} + u_{\text{threshold}}\right)^{q} }\cdot \frac{q-1}{2}\cdot (|\mathbf{u}|^{2})^{\frac{q-1}{2} - 1}\cdot 2 - \frac{\tau_{c}}{ \left( (|\mathbf{u}|^{2})^{\frac12} + u_{\text{threshold}}\right)^{q+1} }\cdot \frac{2 \cdot q }{(|\mathbf{u}|^{2})^{\frac12}} \cdot (|\mathbf{u}|^{2})^{\frac{q-1}{2} } \\ &= \left( \frac{q-1}{|\mathbf{u}|^{2}} - \frac{q}{|\mathbf{u}| \cdot ( |\mathbf{u}| + u_{\text{threshold}}) } \right) \cdot \beta(\mathbf{u})\\ \end{align*}

Same parameters are used as in the pseudo-plastic case, namely \( q, u_{\text{threshold}}, A_q \). It should be noted, that in the original equation (3) in Zoet et al, 2020 the exponent \( q=1/p \) is used.

Reimplemented from pism::IceBasalResistancePlasticLaw.

Definition at line 233 of file basal_resistance.cc.

References pism::IceBasalResistancePlasticLaw::m_plastic_regularize, m_q, m_sliding_scale_factor_reduces_tauc, m_u_threshold, and pism::square().