CHROMA
|
Even-odd preconditioned Clover-Dirac operator. More...
#include <eoprec_clover_dumb_linop_w.h>
Public Types | |
typedef LatticeFermionF | T |
typedef LatticeColorMatrixF | U |
typedef multi1d< U > | P |
typedef multi1d< U > | Q |
Public Member Functions | |
EvenOddPrecDumbCloverFLinOp (Handle< FermState< LatticeFermionF, P, Q > > fs, const CloverFermActParams ¶m_) | |
Full constructor. More... | |
~EvenOddPrecDumbCloverFLinOp () | |
Destructor is automatic. More... | |
const FermBC< LatticeFermionF, P, Q > & | getFermBC () const |
Return the fermion BC object for this linear operator. More... | |
void | create (Handle< FermState< LatticeFermionF, P, Q > > fs, const CloverFermActParams ¶m_) |
Creation routine. More... | |
void | operator() (LatticeFermionF &chi, const LatticeFermionF &psi, enum PlusMinus isign) const |
Apply the operator onto a source std::vector. More... | |
unsigned long | nFlops () const |
Return flops performed by the operator() More... | |
const Subset & | subset () const |
Return the subset on which the operator acts. More... | |
Public Member Functions inherited from Chroma::LinearOperator< LatticeFermionF > | |
virtual | ~LinearOperator () |
Virtual destructor to help with cleanup;. More... | |
virtual void | operator() (LatticeFermionF &chi, const LatticeFermionF &psi, enum PlusMinus isign, Real epsilon) const |
Apply the operator onto a source std::vector to some precision. More... | |
Private Attributes | |
CloverFermActParams | param |
WilsonDslashF | D |
CloverTermF | clov |
CloverTermF | invclov |
Even-odd preconditioned Clover-Dirac operator.
This routine is specific to Wilson fermions!
The kernel for Clover fermions is
M = A + (d+M) - (1/2) D'
This is a dumb version with only a constructor and an apply method. It is also fixed to single precision
Definition at line 34 of file eoprec_clover_dumb_linop_w.h.
typedef multi1d<U> Chroma::EvenOddPrecDumbCloverFLinOp::P |
Definition at line 39 of file eoprec_clover_dumb_linop_w.h.
typedef multi1d<U> Chroma::EvenOddPrecDumbCloverFLinOp::Q |
Definition at line 40 of file eoprec_clover_dumb_linop_w.h.
typedef LatticeFermionF Chroma::EvenOddPrecDumbCloverFLinOp::T |
Definition at line 37 of file eoprec_clover_dumb_linop_w.h.
typedef LatticeColorMatrixF Chroma::EvenOddPrecDumbCloverFLinOp::U |
Definition at line 38 of file eoprec_clover_dumb_linop_w.h.
|
inline |
|
inline |
Destructor is automatic.
Definition at line 48 of file eoprec_clover_dumb_linop_w.h.
|
inline |
Creation routine.
Definition at line 54 of file eoprec_clover_dumb_linop_w.h.
References Chroma::CloverFermActParams::anisoParam, Chroma::QDPCloverTermT< T, U >::choles(), clov, Chroma::QDPCloverTermT< T, U >::create(), Chroma::QDPWilsonDslashT< T, P, Q >::create(), D, invclov, and param.
Referenced by EvenOddPrecDumbCloverFLinOp().
Return the fermion BC object for this linear operator.
Definition at line 51 of file eoprec_clover_dumb_linop_w.h.
References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().
|
inlinevirtual |
Return flops performed by the operator()
Reimplemented from Chroma::LinearOperator< LatticeFermionF >.
Definition at line 107 of file eoprec_clover_dumb_linop_w.h.
References clov, D, Chroma::CloverTermBase< T, U >::nFlops(), Chroma::WilsonDslashBase< T, P, Q >::nFlops(), param, and Chroma::CloverFermActParams::twisted_m_usedP.
|
inlinevirtual |
Apply the operator onto a source std::vector.
Implements Chroma::LinearOperator< LatticeFermionF >.
Definition at line 67 of file eoprec_clover_dumb_linop_w.h.
References Chroma::QDPCloverTermT< T, U >::apply(), Chroma::QDPWilsonDslashT< T, P, Q >::apply(), Chroma::chi(), clov, D, Chroma::END_CODE(), invclov, Chroma::isign, param, Chroma::PLUS, Chroma::psi, Chroma::START_CODE(), tmp2, Chroma::CloverFermActParams::twisted_m, and Chroma::CloverFermActParams::twisted_m_usedP.
|
inlinevirtual |
Return the subset on which the operator acts.
Implements Chroma::LinearOperator< LatticeFermionF >.
Definition at line 116 of file eoprec_clover_dumb_linop_w.h.
|
private |
Definition at line 124 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), nFlops(), and operator()().
|
private |
Definition at line 123 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), getFermBC(), nFlops(), and operator()().
|
private |
Definition at line 125 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 122 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), nFlops(), and operator()().