CHROMA
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members

General Wilson-Dirac dslash. More...

#include <lwldslash_w_cppf.h>

Inheritance diagram for Chroma::CPPWilsonDslashF:
Chroma::WilsonDslashBase< LatticeFermionF, multi1d< LatticeColorMatrixF >, multi1d< LatticeColorMatrixF > > Chroma::DslashLinearOperator< T, P, Q > Chroma::DiffLinearOperator< T, P, Q > Chroma::LinearOperator< T >

Public Types

typedef LatticeFermionF T
 
typedef multi1d< LatticeColorMatrixF > P
 
typedef multi1d< LatticeColorMatrixF > Q
 

Public Member Functions

 CPPWilsonDslashF ()
 Empty constructor. Must use create later. More...
 
 CPPWilsonDslashF (Handle< FermState< T, P, Q > > state)
 Full constructor. More...
 
 CPPWilsonDslashF (Handle< FermState< T, P, Q > > state, const AnisoParam_t &aniso_)
 Full constructor with anisotropy. More...
 
 CPPWilsonDslashF (Handle< FermState< T, P, Q > > state, const multi1d< Real > &coeffs_)
 Full constructor with general coefficients. More...
 
void create (Handle< FermState< T, P, Q > > state)
 Creation routine. More...
 
void create (Handle< FermState< T, P, Q > > state, const AnisoParam_t &aniso_)
 Creation routine with anisotropy. More...
 
void create (Handle< FermState< T, P, Q > > state, const multi1d< Real > &coeffs_)
 Full constructor with general coefficients. More...
 
 ~CPPWilsonDslashF ()
 No real need for cleanup here. More...
 
void apply (T &chi, const T &psi, enum PlusMinus isign, int cb) const
 General Wilson-Dirac dslash. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
- Public Member Functions inherited from Chroma::WilsonDslashBase< LatticeFermionF, multi1d< LatticeColorMatrixF >, multi1d< LatticeColorMatrixF > >
virtual ~WilsonDslashBase ()
 No real need for cleanup here. More...
 
const Subset & subset () const
 Subset is all here. More...
 
virtual void deriv (multi1d< LatticeColorMatrixF > &ds_u, const LatticeFermionF &chi, const LatticeFermionF &psi, enum PlusMinus isign) const
 Take deriv of D. More...
 
virtual void deriv (multi1d< LatticeColorMatrixF > &ds_u, const LatticeFermionF &chi, const LatticeFermionF &psi, enum PlusMinus isign, int cb) const
 Take deriv of D. More...
 
unsigned long nFlops () const
 Return flops performed by the operator() More...
 
- Public Member Functions inherited from Chroma::DslashLinearOperator< T, P, Q >
virtual ~DslashLinearOperator ()
 Virtual destructor to help in cleanup. More...
 
virtual void operator() (T &d, const T &psi, enum PlusMinus isign) const
 Apply operator on both checkerboards (entire lattice) More...
 
virtual void apply (T &chi, const T &psi, enum PlusMinus isign, int cb) const =0
 Apply checkerboarded linear operator. More...
 
virtual void derivMultipole (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const
 Return the force for multiple poles. More...
 
virtual void derivMultipole (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, int cb) const
 
- Public Member Functions inherited from Chroma::DiffLinearOperator< T, P, Q >
virtual ~DiffLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (P &ds_u, const T &chi, const T &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. 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, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 

Protected Member Functions

const multi1d< Real > & getCoeffs () const
 Get the anisotropy parameters. More...
 
void init ()
 Init internals. More...
 

Private Attributes

multi1d< Real > coeffs
 
Handle< FermBC< T, P, Q > > fbc
 
Handle< Dslash< float > > D
 
PrimitiveSU3MatrixF * packed_gauge
 

Detailed Description

General Wilson-Dirac dslash.

DSLASH

This routine is specific to Wilson fermions!

Description:

This routine applies the operator D' to Psi, putting the result in Chi.

      Nd-1
      ---
      \

chi(x) := > U (x) (1 - isign gamma ) psi(x+mu)

/ mu mu

mu=0

  Nd-1
  ---
  \    +
 +    >  U  (x-mu) (1 + isign gamma  ) psi(x-mu)
  /    mu                    mu
  ---
  mu=0

Definition at line 53 of file lwldslash_w_cppf.h.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrixF> Chroma::CPPWilsonDslashF::P

Definition at line 60 of file lwldslash_w_cppf.h.

◆ Q

typedef multi1d<LatticeColorMatrixF> Chroma::CPPWilsonDslashF::Q

Definition at line 61 of file lwldslash_w_cppf.h.

◆ T

typedef LatticeFermionF Chroma::CPPWilsonDslashF::T

Definition at line 59 of file lwldslash_w_cppf.h.

Constructor & Destructor Documentation

◆ CPPWilsonDslashF() [1/4]

Chroma::CPPWilsonDslashF::CPPWilsonDslashF ( )

Empty constructor. Must use create later.

Empty constructor.

Definition at line 29 of file lwldslash_w_cppf.cc.

References Chroma::MesonSpec2PtEnv::init().

◆ CPPWilsonDslashF() [2/4]

Chroma::CPPWilsonDslashF::CPPWilsonDslashF ( Handle< FermState< T, P, Q > >  state)

Full constructor.

Definition at line 39 of file lwldslash_w_cppf.cc.

References Chroma::MesonSpec2PtEnv::init(), and Chroma::state.

◆ CPPWilsonDslashF() [3/4]

Chroma::CPPWilsonDslashF::CPPWilsonDslashF ( Handle< FermState< T, P, Q > >  state,
const AnisoParam_t aniso_ 
)

Full constructor with anisotropy.

Definition at line 50 of file lwldslash_w_cppf.cc.

References Chroma::MesonSpec2PtEnv::init(), and Chroma::state.

◆ CPPWilsonDslashF() [4/4]

Chroma::CPPWilsonDslashF::CPPWilsonDslashF ( Handle< FermState< T, P, Q > >  state,
const multi1d< Real > &  coeffs_ 
)

Full constructor with general coefficients.

Definition at line 62 of file lwldslash_w_cppf.cc.

References Chroma::MesonSpec2PtEnv::init(), and Chroma::state.

◆ ~CPPWilsonDslashF()

Chroma::CPPWilsonDslashF::~CPPWilsonDslashF ( )

No real need for cleanup here.

Definition at line 149 of file lwldslash_w_cppf.cc.

References END_CODE, and START_CODE.

Member Function Documentation

◆ create() [1/3]

void Chroma::CPPWilsonDslashF::create ( Handle< FermState< T, P, Q > >  state)

Creation routine.

Definition at line 74 of file lwldslash_w_cppf.cc.

References create(), Nd, and Chroma::state.

Referenced by create().

◆ create() [2/3]

void Chroma::CPPWilsonDslashF::create ( Handle< FermState< T, P, Q > >  state,
const AnisoParam_t aniso_ 
)

Creation routine with anisotropy.

Definition at line 82 of file lwldslash_w_cppf.cc.

References END_CODE, Chroma::makeFermCoeffs(), START_CODE, and Chroma::state.

◆ create() [3/3]

void Chroma::CPPWilsonDslashF::create ( Handle< FermState< T, P, Q > >  state,
const multi1d< Real > &  coeffs_ 
)

Full constructor with general coefficients.

Definition at line 93 of file lwldslash_w_cppf.cc.

References Chroma::DEFAULT, END_CODE, mu, Nd, START_CODE, Chroma::state, and Chroma::u.

◆ getCoeffs()

const multi1d<Real>& Chroma::CPPWilsonDslashF::getCoeffs ( ) const
inlineprotectedvirtual

◆ getFermBC()

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

Return the fermion BC object for this linear operator.

Implements Chroma::DslashLinearOperator< T, P, Q >.

Definition at line 105 of file lwldslash_w_cppf.h.

◆ init()

void Chroma::CPPWilsonDslashF::init ( )
protected

Init internals.

Initialization routine.

Definition at line 17 of file lwldslash_w_cppf.cc.

Member Data Documentation

◆ coeffs

multi1d<Real> Chroma::CPPWilsonDslashF::coeffs
private

Nd array of coefficients of terms in the action

Definition at line 115 of file lwldslash_w_cppf.h.

◆ D

Handle< Dslash<float> > Chroma::CPPWilsonDslashF::D
private

Definition at line 118 of file lwldslash_w_cppf.h.

◆ fbc

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

Definition at line 117 of file lwldslash_w_cppf.h.

◆ packed_gauge

PrimitiveSU3MatrixF* Chroma::CPPWilsonDslashF::packed_gauge
private

Definition at line 121 of file lwldslash_w_cppf.h.


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