|
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()().