Loading web-font TeX/Math/Italic
PISM, A Parallel Ice Sheet Model 2.2.1-cd005eec8 committed by Constantine Khrulev on 2025-03-07
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages

◆ update()

void pism::stressbalance::WeertmanSliding::update ( const Inputs inputs,
bool  full_update 
)
virtual

Compute sliding velocity using a Weertman-style parameterization from [Tomkin2007], equation 5.

u_s = \frac{2 A_s \beta_c (\rho g H)^{n}}{N - P} \cdot |\nabla h|^{n-1} \cdot \nabla h,

where

  • A_s is the sliding parameter,
  • \beta_c is a parameter capturing the effect of the presence of valley walls (set to 1 in this implementation),
  • \rho is the ice density,
  • H is the ice thickness,
  • h is the ice surface elevation ,
  • n is the flow law exponent (usually 3),
  • g is the acceleration due to gravity,
  • N is the ice overburden pressure,
  • P is the basal water pressure.

With these modifications and noting that N = \rho g H , the formula above becomes

u_s = \frac{2 A_s}{1 - k} \cdot (N |\nabla h|)^{n-1} \cdot \nabla h,

where

  • N = \rho g H ,
  • P = k N (we assume that basal water pressure is a given fraction of overburden)

This parameterization is used for areas of grounded ice where the base of the ice is temperate.

Implements pism::stressbalance::ShallowStressBalance.

Definition at line 74 of file WeertmanSliding.cc.

References pism::Geometry::cell_type, pism::ParallelSection::check(), pism::stressbalance::Inputs::enthalpy, pism::ParallelSection::failed(), pism::stressbalance::Inputs::geometry, pism::array::Array3D::get_column(), pism::Geometry::ice_surface_elevation, pism::Geometry::ice_thickness, pism::k, pism::Component::m_config, pism::stressbalance::ShallowStressBalance::m_EC, pism::stressbalance::ShallowStressBalance::m_flow_law, pism::Component::m_grid, pism::stressbalance::ShallowStressBalance::m_velocity, pism::Vector2d::magnitude(), and n.