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

◆ is_marginal()

bool pism::stressbalance::SSAFD::is_marginal ( int  i,
int  j,
bool  ssa_dirichlet_bc 
)
protectedvirtual

Checks if a cell is near or at the ice front.

You need to create array::AccessScope object and add mask to it.

Note that a cell is a CFBC location of one of four direct neighbors is ice-free.

If one of the diagonal neighbors is ice-free we don't use the CFBC, but we do need to compute weights used in the SSA discretization (see assemble_matrix()) to avoid differencing across interfaces between icy and ice-free cells.

This method ensures that checks in assemble_rhs() and assemble_matrix() are consistent.

Definition at line 1698 of file SSAFD.cc.

References pism::array::CellType1::box_int(), pism::mask::ice_free(), pism::mask::ice_free_ocean(), pism::mask::icy(), and pism::stressbalance::SSA::m_mask.

Referenced by assemble_matrix(), and assemble_rhs().