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

◆ 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().