PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900

◆ compute_local_jacobian()

void pism::stressbalance::SSAFEM::compute_local_jacobian ( Vector2d const *const *const  velocity_global,
Mat  Jac 
)
protected

Implements the callback for computing the Jacobian.

Compute the Jacobian

\[ J_{ij}{kl} \frac{d r_{ij}}{d x_{kl}}= G(x, \psi_{ij}) \]

where \(G\) is the weak form of the SSA, \(x\) is the current approximate solution, and the \(\psi_{ij}\) are test functions.

Definition at line 959 of file SSAFEM.cc.

References pism::fem::Element2::add_contribution(), pism::ParallelSection::check(), pism::fem::Element::chi(), pism::fem::DirichletData::constrain(), pism::fem::Germ::dx, pism::fem::Germ::dy, pism::fem::ELEMENT_EXTERIOR, pism::fem::ELEMENT_Q, pism::fem::element_type(), pism::fem::DirichletData_Vector::enforce(), pism::fem::Element2::evaluate(), pism::ParallelSection::failed(), pism::fem::DirichletData_Vector::fix_jacobian(), pism::hydrology::K(), pism::k, m_bc_mask, m_bc_values, m_coefficients, pism::Component::m_config, m_dirichletScale, m_element_index, pism::Component::m_grid, m_node_type, m_q1_element, pism::fem::MAX_QUADRATURE_SIZE, monitor_jacobian(), pism::fem::Element::n_chi(), pism::fem::linear::n_chi, pism::fem::q1::n_chi, pism::fem::Element::n_pts(), pism::fem::Element2::nodal_values(), phi, PISM_CHK, PointwiseNuHAndBeta(), quad_point_values(), pism::fem::Element2::reset(), pism::Vector2d::u, pism::Vector2d::v, pism::fem::Germ::val, pism::fem::Element::weight(), pism::fem::ElementIterator::xm, pism::fem::ElementIterator::xs, pism::fem::ElementIterator::ym, and pism::fem::ElementIterator::ys.

Referenced by pism::inverse::IP_SSAHardavForwardProblem::assemble_jacobian_state(), pism::inverse::IP_SSATaucForwardProblem::assemble_jacobian_state(), and jacobian_callback().