FV3 Bundle
oops::PCGMinimizer< MODEL > Class Template Reference

PCG Minimizer. More...

#include <PCGMinimizer.h>

Inheritance diagram for oops::PCGMinimizer< MODEL >:
[legend]
Collaboration diagram for oops::PCGMinimizer< MODEL >:
[legend]

Public Member Functions

const std::string classname () const override
 
 PCGMinimizer (const eckit::Configuration &, const CostFct_ &J)
 
 ~PCGMinimizer ()
 
- Public Member Functions inherited from oops::PrimalMinimizer< MODEL >
 PrimalMinimizer (const CostFct_ &J)
 
 ~PrimalMinimizer ()
 
- Public Member Functions inherited from oops::Minimizer< MODEL >
 Minimizer (const CostFct_ &J)
 
virtual ~Minimizer ()
 
ControlIncrement< MODEL > * minimize (const eckit::Configuration &)
 

Private Types

typedef BMatrix< MODEL > Bmat_
 
typedef CostFunction< MODEL > CostFct_
 
typedef ControlIncrement< MODEL > CtrlInc_
 
typedef HessianMatrix< MODEL > Hessian_
 

Private Member Functions

double solve (CtrlInc_ &, const CtrlInc_ &, const Hessian_ &, const Bmat_ &, const int, const double) override
 

Detailed Description

template<typename MODEL>
class oops::PCGMinimizer< MODEL >

PCG Minimizer.

Implements the standard Preconditioned Conjugate Gradients algorithm.

Definition at line 32 of file PCGMinimizer.h.

Member Typedef Documentation

◆ Bmat_

template<typename MODEL >
typedef BMatrix<MODEL> oops::PCGMinimizer< MODEL >::Bmat_
private

Definition at line 33 of file PCGMinimizer.h.

◆ CostFct_

template<typename MODEL >
typedef CostFunction<MODEL> oops::PCGMinimizer< MODEL >::CostFct_
private

Definition at line 34 of file PCGMinimizer.h.

◆ CtrlInc_

template<typename MODEL >
typedef ControlIncrement<MODEL> oops::PCGMinimizer< MODEL >::CtrlInc_
private

Definition at line 35 of file PCGMinimizer.h.

◆ Hessian_

template<typename MODEL >
typedef HessianMatrix<MODEL> oops::PCGMinimizer< MODEL >::Hessian_
private

Definition at line 36 of file PCGMinimizer.h.

Constructor & Destructor Documentation

◆ PCGMinimizer()

template<typename MODEL >
oops::PCGMinimizer< MODEL >::PCGMinimizer ( const eckit::Configuration &  ,
const CostFct_ J 
)
inline

Definition at line 40 of file PCGMinimizer.h.

◆ ~PCGMinimizer()

template<typename MODEL >
oops::PCGMinimizer< MODEL >::~PCGMinimizer ( )
inline

Definition at line 41 of file PCGMinimizer.h.

Member Function Documentation

◆ classname()

template<typename MODEL >
const std::string oops::PCGMinimizer< MODEL >::classname ( ) const
inlineoverridevirtual

Implements oops::PrimalMinimizer< MODEL >.

Definition at line 39 of file PCGMinimizer.h.

◆ solve()

template<typename MODEL >
double oops::PCGMinimizer< MODEL >::solve ( CtrlInc_ dx,
const CtrlInc_ rhs,
const Hessian_ hessian,
const Bmat_ B,
const int  ninner,
const double  gnreduc 
)
overrideprivatevirtual

Implements oops::PrimalMinimizer< MODEL >.

Definition at line 52 of file PCGMinimizer.h.

Here is the call graph for this function:

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