PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900

◆ 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 231 of file basal_resistance.cc.

References pism::IceBasalResistancePlasticLaw::m_plastic_regularize, m_pseudo_q, m_pseudo_u_threshold, m_sliding_scale_factor_reduces_tauc, and pism::square().