PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
|
Defines a Tikhonov minimization problem of determining \(\tau_c\) from SSA velocities to be solved with a TaoBasicSolver using the tao_lcl algorithm. More...
#include <IP_SSATaucTaoTikhonovProblemLCL.hh>
Public Types | |
typedef array::Scalar | DesignVec |
typedef array::Scalar1 | DesignVecGhosted |
typedef array::Vector | StateVec |
typedef array::Vector1 | StateVec1 |
typedef IP_SSATaucTaoTikhonovProblemLCLListener | Listener |
Public Member Functions | |
IP_SSATaucTaoTikhonovProblemLCL (IP_SSATaucForwardProblem &ssaforward, DesignVec &d0, StateVec &u_obs, double eta, IPFunctional< DesignVec > &designFunctional, IPFunctional< StateVec > &stateFunctional) | |
virtual | ~IP_SSATaucTaoTikhonovProblemLCL ()=default |
virtual void | addListener (Listener::Ptr listener) |
virtual std::shared_ptr< StateVec > | stateSolution () |
virtual std::shared_ptr< DesignVec > | designSolution () |
virtual void | setInitialGuess (DesignVec &d0) |
void | connect (Tao tao) |
void | monitorTao (Tao tao) |
virtual void | evaluateObjectiveAndGradient (Tao tao, Vec x, double *value, Vec gradient) |
virtual std::shared_ptr< TerminationReason > | formInitialGuess (Vec *x) |
virtual void | evaluateConstraints (Tao tao, Vec x, Vec r) |
virtual void | evaluateConstraintsJacobianState (Tao tao, Vec x, Mat Jstate, Mat Jpc, Mat Jinv, MatStructure *s) |
virtual void | evaluateConstraintsJacobianDesign (Tao tao, Vec x, Mat Jdesign) |
virtual void | applyConstraintsJacobianDesign (Vec x, Vec y) |
virtual void | applyConstraintsJacobianDesignTranspose (Vec x, Vec y) |
Static Protected Member Functions | |
static PetscErrorCode | jacobian_design_callback (Mat A, Vec x, Vec y) |
static PetscErrorCode | jacobian_design_transpose_callback (Mat A, Vec x, Vec y) |
Protected Attributes | |
IP_SSATaucForwardProblem & | m_ssaforward |
std::unique_ptr< IPTwoBlockVec > | m_x |
DesignVec | m_dGlobal |
std::shared_ptr< DesignVecGhosted > | m_d |
DesignVec & | m_d0 |
std::shared_ptr< DesignVecGhosted > | m_d_diff |
DesignVecGhosted | m_dzeta |
std::shared_ptr< StateVec > | m_uGlobal |
StateVec1 | m_u |
StateVec1 | m_du |
StateVec & | m_u_obs |
std::shared_ptr< StateVec > | m_u_diff |
std::shared_ptr< DesignVec > | m_grad_design |
std::shared_ptr< StateVec > | m_grad_state |
double | m_eta |
double | m_val_design |
double | m_val_state |
std::shared_ptr< StateVec > | m_constraints |
petsc::Mat | m_Jstate |
petsc::Mat | m_Jdesign |
array::Scalar1 | m_d_Jdesign |
array::Vector1 | m_u_Jdesign |
double | m_constraintsScale |
double | m_velocityScale |
IPFunctional< array::Scalar > & | m_designFunctional |
IPFunctional< array::Vector > & | m_stateFunctional |
std::vector< Listener::Ptr > | m_listeners |
Defines a Tikhonov minimization problem of determining \(\tau_c\) from SSA velocities to be solved with a TaoBasicSolver using the tao_lcl algorithm.
Experimental and not particularly functional.
Definition at line 86 of file IP_SSATaucTaoTikhonovProblemLCL.hh.