FV3 Bundle
oops::SpectralLMP< VECTOR > Class Template Reference

The solvers represent matrices as objects that implement a "multiply" method. More...

#include <SpectralLMP.h>

Public Member Functions

 SpectralLMP (const eckit::Configuration &)
 
 ~SpectralLMP ()
 
void update (boost::ptr_vector< VECTOR > &, boost::ptr_vector< VECTOR > &, boost::ptr_vector< VECTOR > &, std::vector< double > &, std::vector< double > &)
 
void multiply (const VECTOR &, VECTOR &) const
 

Private Attributes

unsigned maxpairs_
 
bool useoldpairs_
 
bool RitzPrecond_
 
int maxouter_
 
int update_
 
boost::ptr_vector< VECTOR > X_
 
boost::ptr_vector< VECTOR > U_
 
std::vector< double > eigvals_
 
std::vector< double > omega_
 
boost::ptr_vector< VECTOR > Y_
 
boost::ptr_vector< VECTOR > S_
 
std::vector< VECTOR > Zlast_
 
std::vector< VECTOR > Zhlast_
 
std::vector< unsigned > usedpairIndx_
 
std::vector< unsigned > zcount
 

Detailed Description

template<typename VECTOR>
class oops::SpectralLMP< VECTOR >

The solvers represent matrices as objects that implement a "multiply" method.

This class defines objects that apply the preconditioner matrix \( P \).

Definition at line 51 of file SpectralLMP.h.

Constructor & Destructor Documentation

◆ SpectralLMP()

template<typename VECTOR >
oops::SpectralLMP< VECTOR >::SpectralLMP ( const eckit::Configuration &  conf)
explicit

Definition at line 85 of file SpectralLMP.h.

◆ ~SpectralLMP()

template<typename VECTOR>
oops::SpectralLMP< VECTOR >::~SpectralLMP ( )
inline

Definition at line 54 of file SpectralLMP.h.

Member Function Documentation

◆ multiply()

template<typename VECTOR>
void oops::SpectralLMP< VECTOR >::multiply ( const VECTOR &  a,
VECTOR &  b 
) const

Definition at line 272 of file SpectralLMP.h.

◆ update()

template<typename VECTOR>
void oops::SpectralLMP< VECTOR >::update ( boost::ptr_vector< VECTOR > &  Zv,
boost::ptr_vector< VECTOR > &  Zhl,
boost::ptr_vector< VECTOR > &  Zl,
std::vector< double > &  alphas,
std::vector< double > &  betas 
)

Definition at line 114 of file SpectralLMP.h.

Here is the caller graph for this function:

Member Data Documentation

◆ eigvals_

template<typename VECTOR>
std::vector<double> oops::SpectralLMP< VECTOR >::eigvals_
private

Definition at line 70 of file SpectralLMP.h.

◆ maxouter_

template<typename VECTOR>
int oops::SpectralLMP< VECTOR >::maxouter_
private

Definition at line 65 of file SpectralLMP.h.

◆ maxpairs_

template<typename VECTOR>
unsigned oops::SpectralLMP< VECTOR >::maxpairs_
private

Definition at line 62 of file SpectralLMP.h.

◆ omega_

template<typename VECTOR>
std::vector<double> oops::SpectralLMP< VECTOR >::omega_
private

Definition at line 71 of file SpectralLMP.h.

◆ RitzPrecond_

template<typename VECTOR>
bool oops::SpectralLMP< VECTOR >::RitzPrecond_
private

Definition at line 64 of file SpectralLMP.h.

◆ S_

template<typename VECTOR>
boost::ptr_vector<VECTOR> oops::SpectralLMP< VECTOR >::S_
private

Definition at line 75 of file SpectralLMP.h.

◆ U_

template<typename VECTOR>
boost::ptr_vector<VECTOR> oops::SpectralLMP< VECTOR >::U_
private

Definition at line 69 of file SpectralLMP.h.

◆ update_

template<typename VECTOR>
int oops::SpectralLMP< VECTOR >::update_
private

Definition at line 66 of file SpectralLMP.h.

◆ usedpairIndx_

template<typename VECTOR>
std::vector<unsigned> oops::SpectralLMP< VECTOR >::usedpairIndx_
private

Definition at line 78 of file SpectralLMP.h.

◆ useoldpairs_

template<typename VECTOR>
bool oops::SpectralLMP< VECTOR >::useoldpairs_
private

Definition at line 63 of file SpectralLMP.h.

◆ X_

template<typename VECTOR>
boost::ptr_vector<VECTOR> oops::SpectralLMP< VECTOR >::X_
private

Definition at line 68 of file SpectralLMP.h.

◆ Y_

template<typename VECTOR>
boost::ptr_vector<VECTOR> oops::SpectralLMP< VECTOR >::Y_
private

Definition at line 74 of file SpectralLMP.h.

◆ zcount

template<typename VECTOR>
std::vector<unsigned> oops::SpectralLMP< VECTOR >::zcount
private

Definition at line 79 of file SpectralLMP.h.

◆ Zhlast_

template<typename VECTOR>
std::vector<VECTOR> oops::SpectralLMP< VECTOR >::Zhlast_
private

Definition at line 77 of file SpectralLMP.h.

◆ Zlast_

template<typename VECTOR>
std::vector<VECTOR> oops::SpectralLMP< VECTOR >::Zlast_
private

Definition at line 76 of file SpectralLMP.h.


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