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

◆ compute_nuH_cfbc()

void pism::stressbalance::SSAFDBase::compute_nuH_cfbc ( const array::Scalar1 ice_thickness,
const array::CellType2 cell_type,
const pism::Vector2d *const *  velocity,
const array::Staggered hardness,
double  nuH_regularization,
array::Staggered result 
)
protected

Compute the product of ice viscosity and thickness on the staggered grid. Used when CFBC is enabled.

1) Loops over all grid points and width=1 ghosts and estimates u_x and v_x at the i-offset staggered grid locations and u_y and v_y at the j-offset staggered grid locations. This requires width=2 ghosts of velocity and cell_type.

2) Loops over all grid points (excluding ghost points) and computes weighted averages of quantities from step 1 to estimate (u_y, v_y) at i-offset locations and (u_x, v_x) and j-offset locations. This uses width=1 ghost values set in step 1.

3) In the second loop, ice thickness, ice hardness and (u_x, u_y, v_x, v_y) at staggered grid locations from steps 1 and 2 are used to estimate nuH.

Parameters
[out]resultnu*H product
[in]nuH_regularizationregularization parameter (added to nu*H to keep it away from zero)
Returns
0 on success

Definition at line 1352 of file SSAFDBase.cc.

References pism::stressbalance::SSAStrengthExtension::get_min_thickness(), pism::stressbalance::SSAStrengthExtension::get_notional_strength(), pism::array::CellType::icy(), pism::stressbalance::ShallowStressBalance::m_e_factor, pism::stressbalance::ShallowStressBalance::m_flow_law, pism::Component::m_grid, m_work, pism::secondInvariant_2D(), pism::stressbalance::SSA::strength_extension, and pism::stressbalance::ShallowStressBalance::velocity().

Referenced by compute_nuH().