FV3 Bundle
oops::LBMinimizer< MODEL > Class Template Referenceabstract

LB (Left B-preconditioned) Minimizers. More...

#include <LBMinimizer.h>

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

Public Member Functions

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

Private Types

typedef CostFunction< MODEL > CostFct_
 
typedef ControlIncrement< MODEL > CtrlInc_
 
typedef BMatrix< MODEL > Bmat_
 
typedef LBHessianMatrix< MODEL > LBHessianMatrix_
 
typedef Minimizer< MODEL > Minimizer_
 

Private Member Functions

CtrlInc_doMinimize (const eckit::Configuration &) override
 
virtual void solve (CtrlInc_ &, CtrlInc_ &, const LBHessianMatrix_ &, const int, const double)=0
 

Private Attributes

const CostFct_J_
 
boost::scoped_ptr< CtrlInc_gradJb_
 

Detailed Description

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

LB (Left B-preconditioned) Minimizers.

LBMinimizer is the base class for all minimizers that use \( B\) to precondition the variational minimisation problem

NOTE: not suitable for weak constraint state formulation

Definition at line 38 of file LBMinimizer.h.

Member Typedef Documentation

◆ Bmat_

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

Definition at line 41 of file LBMinimizer.h.

◆ CostFct_

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

Definition at line 39 of file LBMinimizer.h.

◆ CtrlInc_

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

Definition at line 40 of file LBMinimizer.h.

◆ LBHessianMatrix_

template<typename MODEL >
typedef LBHessianMatrix<MODEL> oops::LBMinimizer< MODEL >::LBHessianMatrix_
private

Definition at line 42 of file LBMinimizer.h.

◆ Minimizer_

template<typename MODEL >
typedef Minimizer<MODEL> oops::LBMinimizer< MODEL >::Minimizer_
private

Definition at line 43 of file LBMinimizer.h.

Constructor & Destructor Documentation

◆ LBMinimizer()

template<typename MODEL >
oops::LBMinimizer< MODEL >::LBMinimizer ( const CostFct_ J)
inlineexplicit

Definition at line 46 of file LBMinimizer.h.

◆ ~LBMinimizer()

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

Definition at line 47 of file LBMinimizer.h.

Member Function Documentation

◆ classname()

template<typename MODEL >
const std::string oops::LBMinimizer< MODEL >::classname ( ) const
overridepure virtual

◆ doMinimize()

template<typename MODEL >
ControlIncrement< MODEL > * oops::LBMinimizer< MODEL >::doMinimize ( const eckit::Configuration &  config)
overrideprivatevirtual

Implements oops::Minimizer< MODEL >.

Definition at line 62 of file LBMinimizer.h.

Here is the call graph for this function:

◆ solve()

template<typename MODEL >
virtual void oops::LBMinimizer< MODEL >::solve ( CtrlInc_ ,
CtrlInc_ ,
const LBHessianMatrix_ ,
const int  ,
const double   
)
privatepure virtual

Member Data Documentation

◆ gradJb_

template<typename MODEL >
boost::scoped_ptr<CtrlInc_> oops::LBMinimizer< MODEL >::gradJb_
private

Definition at line 56 of file LBMinimizer.h.

◆ J_

template<typename MODEL >
const CostFct_& oops::LBMinimizer< MODEL >::J_
private

Definition at line 55 of file LBMinimizer.h.


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