CHROMA
Public Types | Public Member Functions | Private Attributes | List of all members
Chroma::KleinGordonLinOp Class Reference

#include <klein_gordon_linop_s.h>

Inheritance diagram for Chroma::KleinGordonLinOp:
Chroma::UnprecLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::LinearOperator< T >

Public Types

typedef LatticeStaggeredFermion T
 
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 

Public Member Functions

 KleinGordonLinOp ()
 Partial constructor - Must use create later. More...
 
 KleinGordonLinOp (Handle< FermState< T, P, Q > > state_, const Real &Mass_, const AnisoParam_t &aniso)
 Full constructor. More...
 
void create (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso)
 Creation routine with Anisotropy. More...
 
 ~KleinGordonLinOp ()
 Destructor is automatic. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
void operator() (T &chi, const T &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
void deriv (multi1d< LatticeColorMatrix > &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const
 Derivative of unpreconditioned operator. More...
 
unsigned long nFlops () const
 Return flops performed by the operator() More...
 
- Public Member Functions inherited from Chroma::UnprecLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~UnprecLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
const Subset & subset () const
 Only defined on the entire lattice. More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~DiffLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeStaggeredFermion &chi, const LatticeStaggeredFermion &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. More...
 
virtual void derivMultipole (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeStaggeredFermion > &chi, const multi1d< LatticeStaggeredFermion > &psi, enum PlusMinus isign) const
 Return the force for multiple poles. More...
 
- Public Member Functions inherited from Chroma::LinearOperator< T >
virtual ~LinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (T &chi, const T &psi, enum PlusMinus isign) const =0
 Apply the operator onto a source std::vector. More...
 
virtual void operator() (T &chi, const T &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 

Private Attributes

Real fact
 
Real Mass
 
AnisoParam_t anisoParam
 
Handle< FermBC< T, P, Q > > fbc
 
multi1d< LatticeColorMatrix > u
 

Detailed Description

Definition at line 18 of file klein_gordon_linop_s.h.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::KleinGordonLinOp::P

Definition at line 24 of file klein_gordon_linop_s.h.

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::KleinGordonLinOp::Q

Definition at line 25 of file klein_gordon_linop_s.h.

◆ T

typedef LatticeStaggeredFermion Chroma::KleinGordonLinOp::T

Definition at line 23 of file klein_gordon_linop_s.h.

Constructor & Destructor Documentation

◆ KleinGordonLinOp() [1/2]

Chroma::KleinGordonLinOp::KleinGordonLinOp ( )
inline

Partial constructor - Must use create later.

Definition at line 28 of file klein_gordon_linop_s.h.

◆ KleinGordonLinOp() [2/2]

Chroma::KleinGordonLinOp::KleinGordonLinOp ( Handle< FermState< T, P, Q > >  state_,
const Real &  Mass_,
const AnisoParam_t aniso 
)

Full constructor.

Definition at line 11 of file klein_gordon_linop_s.cc.

References create().

◆ ~KleinGordonLinOp()

Chroma::KleinGordonLinOp::~KleinGordonLinOp ( )
inline

Destructor is automatic.

Definition at line 41 of file klein_gordon_linop_s.h.

Member Function Documentation

◆ create()

void Chroma::KleinGordonLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const Real &  Mass_,
const AnisoParam_t aniso 
)

◆ deriv()

void Chroma::KleinGordonLinOp::deriv ( multi1d< LatticeColorMatrix > &  ds_u,
const T chi,
const T psi,
enum PlusMinus  isign 
) const
virtual

◆ getFermBC()

const FermBC<T,P,Q>& Chroma::KleinGordonLinOp::getFermBC ( ) const
inlinevirtual

Return the fermion BC object for this linear operator.

Implements Chroma::DiffLinearOperator< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 44 of file klein_gordon_linop_s.h.

References fbc.

Referenced by deriv(), and operator()().

◆ nFlops()

unsigned long Chroma::KleinGordonLinOp::nFlops ( void  ) const
virtual

Return flops performed by the operator()

Reimplemented from Chroma::LinearOperator< T >.

Definition at line 143 of file klein_gordon_linop_s.cc.

◆ operator()()

void Chroma::KleinGordonLinOp::operator() ( T chi,
const T psi,
enum PlusMinus  isign 
) const

Apply the operator onto a source std::vector.

Definition at line 60 of file klein_gordon_linop_s.cc.

References BACKWARD, Chroma::chi(), Chroma::END_CODE(), fact, FORWARD, getFermBC(), mu, Nd, Chroma::psi, Chroma::START_CODE(), Chroma::tmp, u, and Chroma::zero.

Member Data Documentation

◆ anisoParam

AnisoParam_t Chroma::KleinGordonLinOp::anisoParam
private

Definition at line 60 of file klein_gordon_linop_s.h.

Referenced by create(), and deriv().

◆ fact

Real Chroma::KleinGordonLinOp::fact
private

Definition at line 58 of file klein_gordon_linop_s.h.

Referenced by create(), and operator()().

◆ fbc

Handle< FermBC<T,P,Q> > Chroma::KleinGordonLinOp::fbc
private

Definition at line 61 of file klein_gordon_linop_s.h.

Referenced by create(), and getFermBC().

◆ Mass

Real Chroma::KleinGordonLinOp::Mass
private

Definition at line 59 of file klein_gordon_linop_s.h.

Referenced by create().

◆ u

multi1d<LatticeColorMatrix> Chroma::KleinGordonLinOp::u
private

Definition at line 62 of file klein_gordon_linop_s.h.

Referenced by create(), and operator()().


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