Processing math: 0%
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_2D_principal_strain_rates()

void pism::stressbalance::compute_2D_principal_strain_rates ( const array::Vector1 V,
const array::CellType1 mask,
array::Array2D< PrincipalStrainRates > &  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 682 of file StressBalance.cc.

References pism::East, pism::array::Array::grid(), pism::array::CellType::ice_free(), pism::mask::ice_free(), pism::North, pism::South, pism::array::Array2D< T >::star(), and pism::West.

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