PISM, A Parallel Ice Sheet Model

◆ drag_with_derivative()

void pism::IceBasalResistancePlasticLaw::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}}{|\mathbf{u}|} = \tau_{c}\cdot (|\mathbf{u}|^{2})^{-1/2}\\ \diff{\beta}{\frac12 |\mathbf{u}|^{2}} &= -\frac{1}{|\mathbf{u}|^{2}}\cdot \beta \end{align*}

Reimplemented in pism::IceBasalResistanceRegularizedLaw, and pism::IceBasalResistancePseudoPlasticLaw.

Definition at line 60 of file basal_resistance.cc.

References m_plastic_regularize, and pism::square().

Referenced by pism::stressbalance::Blatter::jacobian_basal(), and pism::stressbalance::SSAFEM::PointwiseNuHAndBeta().