PISM, A Parallel Ice Sheet Model  stable v2.0.6 committed by Constantine Khrulev on 2023-01-23 15:14:38 -0900

◆ marine_boundary()

bool pism::stressbalance::Blatter::marine_boundary ( int  face,
const int *  node_type,
const double *  ice_bottom,
const double *  sea_level 

Return true if the current face is a part of the marine ice boundary (i.e. at a partially-submerged vertical cliff), false otherwise.

A face is a part of the marine boundary if all four nodes are boundary nodes and at least one map-plane location has bottom elevation below sea level (floatation level).

If a node is both a boundary and a Dirichlet node (this may happen), then we treat it as a boundary node here: element.add_contribution() will do the right thing in this case.

Reimplemented in pism::stressbalance::BlatterTestXZ, pism::stressbalance::BlatterTestXY, and pism::stressbalance::BlatterTestvanderVeen.

Definition at line 224 of file Blatter.cc.

References pism::fem::q13d::incident_nodes, n, and pism::NODE_BOUNDARY.

Referenced by compute_residual().