PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Public Types | Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
pism::inverse::IP_SSATaucTaoTikhonovProblemLCL Class Reference

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< StateVecstateSolution ()
 
virtual std::shared_ptr< DesignVecdesignSolution ()
 
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< TerminationReasonformInitialGuess (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_SSATaucForwardProblemm_ssaforward
 
std::unique_ptr< IPTwoBlockVecm_x
 
DesignVec m_dGlobal
 
std::shared_ptr< DesignVecGhostedm_d
 
DesignVecm_d0
 
std::shared_ptr< DesignVecGhostedm_d_diff
 
DesignVecGhosted m_dzeta
 
std::shared_ptr< StateVecm_uGlobal
 
StateVec1 m_u
 
StateVec1 m_du
 
StateVecm_u_obs
 
std::shared_ptr< StateVecm_u_diff
 
std::shared_ptr< DesignVecm_grad_design
 
std::shared_ptr< StateVecm_grad_state
 
double m_eta
 
double m_val_design
 
double m_val_state
 
std::shared_ptr< StateVecm_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::Ptrm_listeners
 

Detailed Description

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.


The documentation for this class was generated from the following files: