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

Container of dual space vectors for all terms of the cost function. More...

#include <DualVector.h>

Public Member Functions

 DualVector ()
 
 DualVector (const DualVector &)
 
 ~DualVector ()
 
void dx (CtrlInc_ *dx)
 
const CtrlInc_dx () const
 
CtrlInc_dx ()
 
void append (GeneralizedDepartures *)
 
boost::shared_ptr< const GeneralizedDeparturesgetv (const unsigned) const
 
DualVectoroperator= (const DualVector &)
 
DualVectoroperator+= (const DualVector &)
 
DualVectoroperator-= (const DualVector &)
 
DualVectoroperator*= (const double)
 
void zero ()
 
void axpy (const double, const DualVector &)
 
double dot_product_with (const DualVector &) const
 
void clear ()
 

Private Types

typedef Increment< MODEL > Increment_
 
typedef ControlIncrement< MODEL > CtrlInc_
 
typedef Departures< MODEL > Departures_
 

Private Member Functions

bool compatible (const DualVector &other) const
 

Private Attributes

boost::scoped_ptr< CtrlInc_dxjb_
 
std::vector< boost::shared_ptr< Departures_ > > dxjo_
 
std::vector< boost::shared_ptr< Increment_ > > dxjc_
 
std::vector< unsigned > ijo_
 
std::vector< unsigned > ijc_
 
unsigned size_
 

Detailed Description

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

Container of dual space vectors for all terms of the cost function.

Contains dual space vectors for all terms of the cost function, that is Departures for Jo, an Increment_ for Jc, a ControlIncrement for Jb and Jq.

Definition at line 34 of file DualVector.h.

Member Typedef Documentation

◆ CtrlInc_

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

Definition at line 36 of file DualVector.h.

◆ Departures_

template<typename MODEL>
typedef Departures<MODEL> oops::DualVector< MODEL >::Departures_
private

Definition at line 37 of file DualVector.h.

◆ Increment_

template<typename MODEL>
typedef Increment<MODEL> oops::DualVector< MODEL >::Increment_
private

Definition at line 35 of file DualVector.h.

Constructor & Destructor Documentation

◆ DualVector() [1/2]

template<typename MODEL>
oops::DualVector< MODEL >::DualVector ( )
inline

Definition at line 40 of file DualVector.h.

◆ DualVector() [2/2]

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

Definition at line 79 of file DualVector.h.

◆ ~DualVector()

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

Definition at line 42 of file DualVector.h.

Member Function Documentation

◆ append()

template<typename MODEL >
void oops::DualVector< MODEL >::append ( GeneralizedDepartures pv)

Definition at line 107 of file DualVector.h.

Here is the caller graph for this function:

◆ axpy()

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

Definition at line 213 of file DualVector.h.

Here is the caller graph for this function:

◆ clear()

template<typename MODEL >
void oops::DualVector< MODEL >::clear ( )

Definition at line 97 of file DualVector.h.

Here is the caller graph for this function:

◆ compatible()

template<typename MODEL >
bool oops::DualVector< MODEL >::compatible ( const DualVector< MODEL > &  other) const
private

Definition at line 243 of file DualVector.h.

◆ dot_product_with()

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

Definition at line 227 of file DualVector.h.

◆ dx() [1/3]

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

Definition at line 45 of file DualVector.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dx() [2/3]

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

Definition at line 46 of file DualVector.h.

Here is the caller graph for this function:

◆ dx() [3/3]

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

Definition at line 47 of file DualVector.h.

◆ getv()

template<typename MODEL >
boost::shared_ptr< const GeneralizedDepartures > oops::DualVector< MODEL >::getv ( const unsigned  ii) const

Definition at line 127 of file DualVector.h.

Here is the caller graph for this function:

◆ operator*=()

template<typename MODEL >
DualVector< MODEL > & oops::DualVector< MODEL >::operator*= ( const double  zz)

Definition at line 186 of file DualVector.h.

◆ operator+=()

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

Definition at line 156 of file DualVector.h.

◆ operator-=()

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

Definition at line 171 of file DualVector.h.

◆ operator=()

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

Definition at line 141 of file DualVector.h.

◆ zero()

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

Definition at line 200 of file DualVector.h.

Here is the caller graph for this function:

Member Data Documentation

◆ dxjb_

template<typename MODEL>
boost::scoped_ptr<CtrlInc_> oops::DualVector< MODEL >::dxjb_
private

Definition at line 68 of file DualVector.h.

◆ dxjc_

template<typename MODEL>
std::vector<boost::shared_ptr<Increment_> > oops::DualVector< MODEL >::dxjc_
private

Definition at line 70 of file DualVector.h.

◆ dxjo_

template<typename MODEL>
std::vector<boost::shared_ptr<Departures_> > oops::DualVector< MODEL >::dxjo_
private

Definition at line 69 of file DualVector.h.

◆ ijc_

template<typename MODEL>
std::vector<unsigned> oops::DualVector< MODEL >::ijc_
private

Definition at line 72 of file DualVector.h.

◆ ijo_

template<typename MODEL>
std::vector<unsigned> oops::DualVector< MODEL >::ijo_
private

Definition at line 71 of file DualVector.h.

◆ size_

template<typename MODEL>
unsigned oops::DualVector< MODEL >::size_
private

Definition at line 73 of file DualVector.h.


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