PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pism::inverse::IP_SSATaucTikhonovGNSolver Class Reference

#include <IP_SSATaucTikhonovGNSolver.hh>

Public Types

typedef array::Scalar DesignVec
 
typedef array::Vector StateVec
 
typedef array::Vector1 StateVec1
 
typedef array::Scalar1 DesignVecGhosted
 

Public Member Functions

 IP_SSATaucTikhonovGNSolver (IP_SSATaucForwardProblem &ssaforward, DesignVec &d0, StateVec &u_obs, double eta, IPInnerProductFunctional< DesignVec > &designFunctional, IPInnerProductFunctional< StateVec > &stateFunctional)
 
 ~IP_SSATaucTikhonovGNSolver ()=default
 
virtual std::shared_ptr< StateVecstateSolution ()
 
virtual std::shared_ptr< DesignVecdesignSolution ()
 
virtual void setInitialGuess (DesignVec &d)
 
virtual void setTargetMisfit (double misfit)
 Sets the desired target misfit (in units of \(\sqrt{J_{\rm misfit}}\)). More...
 
virtual void evaluateGNFunctional (DesignVec &h, double *value)
 
virtual void apply_GN (array::Scalar &h, array::Scalar &out)
 
virtual void apply_GN (Vec h, Vec out)
 
virtual std::shared_ptr< TerminationReasoninit ()
 
virtual std::shared_ptr< TerminationReasoncheck_convergence ()
 
virtual std::shared_ptr< TerminationReasonsolve ()
 
virtual std::shared_ptr< TerminationReasonevaluate_objective_and_gradient ()
 

Protected Member Functions

virtual void assemble_GN_rhs (DesignVec &out)
 
virtual std::shared_ptr< TerminationReasonsolve_linearized ()
 
virtual std::shared_ptr< TerminationReasoncompute_dlogalpha (double *dalpha)
 
virtual std::shared_ptr< TerminationReasonlinesearch ()
 

Protected Attributes

const unsigned int m_design_stencil_width
 
const unsigned int m_state_stencil_width
 
IP_SSATaucForwardProblemm_ssaforward
 
DesignVecGhosted m_x
 
DesignVec m_tmp_D1Global
 
DesignVec m_tmp_D2Global
 
DesignVecGhosted m_tmp_D1Local
 
DesignVecGhosted m_tmp_D2Local
 
StateVec m_tmp_S1Global
 
StateVec m_tmp_S2Global
 
StateVec1 m_tmp_S1Local
 
StateVec1 m_tmp_S2Local
 
DesignVec m_GN_rhs
 
std::shared_ptr< DesignVecGhostedm_d
 
DesignVecm_d0
 
DesignVec m_dGlobal
 
DesignVecGhosted m_d_diff
 
DesignVecGhosted m_d_diff_lin
 
DesignVecGhosted m_h
 
DesignVec m_hGlobal
 
DesignVec m_dalpha_rhs
 
DesignVec m_dh_dalpha
 
DesignVec m_dh_dalphaGlobal
 
DesignVec m_grad_design
 
DesignVec m_grad_state
 
DesignVec m_gradient
 
double m_val_design
 
double m_val_state
 
double m_value
 
StateVecm_u_obs
 
StateVec1 m_u_diff
 
petsc::KSP m_ksp
 
petsc::Mat m_mat_GN
 
double m_eta
 
IPInnerProductFunctional< DesignVec > & m_designFunctional
 
IPInnerProductFunctional< StateVec > & m_stateFunctional
 
double m_alpha
 
double m_logalpha
 
double m_target_misfit
 
int m_iter
 
int m_iter_max
 
bool m_tikhonov_adaptive
 
double m_vel_scale
 
double m_tikhonov_rtol
 
double m_tikhonov_atol
 
double m_tikhonov_ptol
 
MPI_Comm m_comm
 
Logger::ConstPtr m_log
 

Detailed Description

Definition at line 57 of file IP_SSATaucTikhonovGNSolver.hh.


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