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

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