PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800

◆ extrapolate_velocity()

void pism::stressbalance::SSA::extrapolate_velocity ( const array::CellType1 cell_type,
array::Vector1 velocity 
) const
protected

Estimate velocity at ice-free cells near the ice margin using interpolation from immediate neighbors that are icy.

This is used to improve the initial guess of ice viscosity at marginal locations when ice advances: otherwise we would use the zero velocity (if CFBC is "on"), and that is a poor estimate at best.

Note: icy cells of velocity are treated as read-only, and ice-free marginal cells are write-only. This means that it's okay for velocity to be a input-output argument: we don't use of the values modified by this method.

Definition at line 352 of file SSA.cc.

References pism::East, pism::array::CellType::ice_free(), pism::mask::icy(), pism::Component::m_grid, pism::array::max(), pism::array::CellType1::next_to_ice(), pism::North, pism::South, pism::array::Array2D< T >::star(), pism::array::sum(), pism::array::Array::update_ghosts(), pism::stressbalance::ShallowStressBalance::velocity(), and pism::West.

Referenced by pism::stressbalance::SSAFD::solve().