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

Control vector for the saddle point formulation. More...

#include <SaddlePointVector.h>

Public Member Functions

 SaddlePointVector (CtrlInc_ *, Multipliers_ *)
 
 SaddlePointVector (const SaddlePointVector &)
 
const Multipliers_lambda () const
 Accessor method to get the lambda_ component. More...
 
Multipliers_lambda ()
 
void lambda (Multipliers_ *lambda)
 Accessor method to set the lambda_ component. More...
 
const CtrlInc_dx () const
 Accessor method to get the dx_ component. More...
 
CtrlInc_dx ()
 
void dx (CtrlInc_ *dx)
 Accessor method to set the dx_ component. More...
 
SaddlePointVectoroperator= (const SaddlePointVector &)
 
SaddlePointVectoroperator+= (const SaddlePointVector &)
 
SaddlePointVectoroperator-= (const SaddlePointVector &)
 
SaddlePointVectoroperator*= (const double)
 
void zero ()
 
void axpy (const double, const SaddlePointVector &)
 
double dot_product_with (const SaddlePointVector &) const
 

Private Types

typedef ControlIncrement< MODEL > CtrlInc_
 
typedef DualVector< MODEL > Multipliers_
 

Private Attributes

boost::scoped_ptr< Multipliers_lambda_
 
boost::scoped_ptr< CtrlInc_dx_
 

Detailed Description

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

Control vector for the saddle point formulation.

The vector contains two ControlIncrements and one Departure, and knows how to do basic linear algebra.Control vector for the saddle point formulation.

Definition at line 30 of file SaddlePointVector.h.

Member Typedef Documentation

◆ CtrlInc_

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

Definition at line 31 of file SaddlePointVector.h.

◆ Multipliers_

template<typename MODEL >
typedef DualVector<MODEL> oops::SaddlePointVector< MODEL >::Multipliers_
private

Definition at line 32 of file SaddlePointVector.h.

Constructor & Destructor Documentation

◆ SaddlePointVector() [1/2]

template<typename MODEL >
oops::SaddlePointVector< MODEL >::SaddlePointVector ( CtrlInc_ dx,
Multipliers_ lambda 
)

Definition at line 68 of file SaddlePointVector.h.

◆ SaddlePointVector() [2/2]

template<typename MODEL >
oops::SaddlePointVector< MODEL >::SaddlePointVector ( const SaddlePointVector< MODEL > &  other)

Definition at line 76 of file SaddlePointVector.h.

Member Function Documentation

◆ axpy()

template<typename MODEL >
void oops::SaddlePointVector< MODEL >::axpy ( const double  zz,
const SaddlePointVector< MODEL > &  rhs 
)

Definition at line 125 of file SaddlePointVector.h.

◆ dot_product_with()

template<typename MODEL >
double oops::SaddlePointVector< MODEL >::dot_product_with ( const SaddlePointVector< MODEL > &  x2) const

Definition at line 133 of file SaddlePointVector.h.

◆ dx() [1/3]

template<typename MODEL >
const CtrlInc_& oops::SaddlePointVector< MODEL >::dx ( ) const
inline

Accessor method to get the dx_ component.

Definition at line 46 of file SaddlePointVector.h.

Here is the caller graph for this function:

◆ dx() [2/3]

template<typename MODEL >
CtrlInc_& oops::SaddlePointVector< MODEL >::dx ( )
inline

Definition at line 47 of file SaddlePointVector.h.

◆ dx() [3/3]

template<typename MODEL >
void oops::SaddlePointVector< MODEL >::dx ( CtrlInc_ dx)
inline

Accessor method to set the dx_ component.

Definition at line 50 of file SaddlePointVector.h.

Here is the call graph for this function:

◆ lambda() [1/3]

template<typename MODEL >
const Multipliers_& oops::SaddlePointVector< MODEL >::lambda ( ) const
inline

Accessor method to get the lambda_ component.

Definition at line 39 of file SaddlePointVector.h.

Here is the caller graph for this function:

◆ lambda() [2/3]

template<typename MODEL >
Multipliers_& oops::SaddlePointVector< MODEL >::lambda ( )
inline

Definition at line 40 of file SaddlePointVector.h.

◆ lambda() [3/3]

template<typename MODEL >
void oops::SaddlePointVector< MODEL >::lambda ( Multipliers_ lambda)
inline

Accessor method to set the lambda_ component.

Definition at line 43 of file SaddlePointVector.h.

Here is the call graph for this function:

◆ operator*=()

template<typename MODEL >
SaddlePointVector< MODEL > & oops::SaddlePointVector< MODEL >::operator*= ( const double  rhs)

Definition at line 110 of file SaddlePointVector.h.

◆ operator+=()

template<typename MODEL >
SaddlePointVector< MODEL > & oops::SaddlePointVector< MODEL >::operator+= ( const SaddlePointVector< MODEL > &  rhs)

Definition at line 92 of file SaddlePointVector.h.

◆ operator-=()

template<typename MODEL >
SaddlePointVector< MODEL > & oops::SaddlePointVector< MODEL >::operator-= ( const SaddlePointVector< MODEL > &  rhs)

Definition at line 101 of file SaddlePointVector.h.

◆ operator=()

template<typename MODEL >
SaddlePointVector< MODEL > & oops::SaddlePointVector< MODEL >::operator= ( const SaddlePointVector< MODEL > &  rhs)

Definition at line 83 of file SaddlePointVector.h.

◆ zero()

template<typename MODEL >
void oops::SaddlePointVector< MODEL >::zero ( )

Definition at line 118 of file SaddlePointVector.h.

Member Data Documentation

◆ dx_

template<typename MODEL >
boost::scoped_ptr<CtrlInc_> oops::SaddlePointVector< MODEL >::dx_
private

Definition at line 62 of file SaddlePointVector.h.

◆ lambda_

template<typename MODEL >
boost::scoped_ptr<Multipliers_> oops::SaddlePointVector< MODEL >::lambda_
private

Definition at line 61 of file SaddlePointVector.h.


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