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

◆ compute_2D_principal_strain_rates()

void pism::stressbalance::compute_2D_principal_strain_rates ( const IceModelVec2V V,
const IceModelVec2CellType mask,
IceModelVec3 result 
)

Compute eigenvalues of the horizontal, vertically-integrated strain rate tensor.

Calculates all components \(D_{xx}, D_{yy}, D_{xy}=D_{yx}\) of the vertically-averaged strain rate tensor \(D\) [SchoofStream]. Then computes the eigenvalues result(i,j,0) = (maximum eigenvalue), result(i,j,1) = (minimum eigenvalue). Uses the provided thickness to make decisions (PIK) about computing strain rates near calving front.

Note that result(i,j,0) >= result(i,j,1), but there is no necessary relation between the magnitudes, and either principal strain rate could be negative or positive.

Result can be used in a calving law, for example in eigencalving (PIK).

Note: strain rates will be derived from SSA velocities, using ghosts when necessary. Both implementations (SSAFD and SSAFEM) call update_ghosts() to ensure that ghost values are up to date.

Definition at line 685 of file StressBalance.cc.

References pism::East, pism::IceModelVec::grid(), pism::IceModelVec2CellType::ice_free(), pism::mask::ice_free(), pism::IceModelVec::ndof(), pism::PointsWithGhosts::next(), pism::North, PISM_ERROR_LOCATION, pism::South, pism::IceModelVec2Int::star(), pism::IceModelVec2< T >::star(), and pism::West.

Referenced by pism::stressbalance::PSB_strain_rates::compute_impl(), pism::calving::vonMisesCalving::update(), pism::calving::EigenCalving::update(), and pism::FractureDensity::update().