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

◆ driving_stress()

void pism::stressbalance::SSAFEM::driving_stress ( const fem::Element E,
const Coefficients x,
Vector2d result 
) const
protected

Compute the the driving stress at quadrature points. The surface elevation \( h \) is defined by

\begin{equation} h = \begin{cases} b + H, & \mathrm{grounded},\\ z_{sl} + \alpha H, & \mathrm{shelf}, \end{cases} \end{equation}

where \( b \) is the bed elevation, \( H \) is the ice thickness, and \( z_{sl} \) is the sea level, and \( \alpha \) is the ratio of densities of ice and sea water.

Note that if \( b \), \( H \), and \( z_{sl} \) are bilinear (or \( C^{1} \) in general), \( h \) is continuous but not continuously differentiable. In other words, the gradient of \( h \) is not continuous, so near the grounding line we cannot compute the gravitational driving stress \( \tau_{d} = - \rho g H \nabla h \) using the \( Q_1 \) or \( P_1 \) FE basis expansion of \( h \).

We differentiate the equation above instead, getting

\begin{equation} \nabla h = \begin{cases} \nabla b + \nabla H, & \mathrm{grounded},\\ \nabla z_{sl} + \alpha \nabla H, & \mathrm{shelf}. \end{cases} \end{equation}

and use basis expansions of \( \nabla b \) and \( \nabla H \).

Overall, we have

\begin{align*} \tau_{d} &= \rho g H \nabla h\\ &= - \rho g H \begin{cases} \nabla b + \nabla H, & \mathrm{grounded},\\ \alpha \nabla H, & \mathrm{shelf}, \end{cases} \end{align*}

because \( z = z_{sl} \) defines the geoid surface and so its gradient does not contribute to the driving stress.

Definition at line 441 of file SSAFEM.cc.

References pism::stressbalance::SSAFEM::Coefficients::bed, pism::fem::Element::chi(), pism::fem::Germ::dx, pism::fem::Germ::dy, pism::mask::grounded(), pism::k, m_alpha, m_gc, m_rho_g, pism::GeometryCalculator::mask(), n, pism::fem::Element::n_chi(), pism::fem::Element::n_pts(), pism::stressbalance::SSAFEM::Coefficients::sea_level, pism::stressbalance::SSAFEM::Coefficients::thickness, pism::Vector2d::u, pism::Vector2d::v, and pism::fem::Germ::val.