Loading [MathJax]/jax/input/TeX/config.js
PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages

◆ cache_inputs()

void pism::stressbalance::SSAFEM::cache_inputs ( const Inputs inputs)
protected

Initialize stored data from the coefficients in the SSA. Called by SSAFEM::solve.

This method is should be called after SSAFEM::init and whenever any geometry or temperature related coefficients have changed. The method stores the values of the coefficients the nodes of each element so that these are available to the residual and Jacobian evaluation methods.

We store the vertical average of the ice hardness to avoid re-doing this computation every iteration.

In addition to coefficients at element nodes we store "node types" used to identify interior elements, exterior elements, and boundary faces.

Definition at line 269 of file SSAFEM.cc.

References pism::array::Array2D< T >::add(), pism::rheology::averaged_hardness(), pism::stressbalance::Inputs::basal_yield_stress, pism::stressbalance::Inputs::bc_mask, pism::stressbalance::Inputs::bc_values, pism::stressbalance::SSAFEM::Coefficients::bed, pism::Geometry::bed_elevation, cache_residual_cfbc(), pism::ParallelSection::check(), pism::compute_node_types(), pism::array::Array2D< T >::copy_from(), pism::stressbalance::SSAFEM::Coefficients::driving_stress, pism::stressbalance::Inputs::enthalpy, pism::ParallelSection::failed(), pism::stressbalance::Inputs::geometry, pism::array::Array3D::get_column(), pism::stressbalance::SSAFEM::Coefficients::hardness, pism::Geometry::ice_thickness, m_bc_mask, m_bc_values, m_coefficients, pism::Component::m_config, m_driving_stress_x, m_driving_stress_y, pism::stressbalance::ShallowStressBalance::m_flow_law, pism::Component::m_grid, m_node_type, pism::NODE_INTERIOR, pism::stressbalance::SSAFEM::Coefficients::sea_level, pism::Geometry::sea_level_elevation, pism::array::Array::set(), pism::stressbalance::SSAFEM::Coefficients::tauc, pism::stressbalance::SSAFEM::Coefficients::thickness, pism::Vector2d::u, and pism::Vector2d::v.

Referenced by pism::inverse::IP_SSAHardavForwardProblem::init(), pism::inverse::IP_SSATaucForwardProblem::init(), and solve_with_reason().