|
CHROMA
|
Even-odd preconditioned Clover-Dirac operator. More...
#include <eoprec_clover_dumb_linop_w.h>
Public Types | |
| typedef LatticeFermionD | T |
| typedef LatticeColorMatrixD | U |
| typedef multi1d< U > | P |
| typedef multi1d< U > | Q |
Public Member Functions | |
| EvenOddPrecDumbCloverDLinOp (Handle< FermState< T, P, Q > > fs, const CloverFermActParams ¶m_) | |
| Full constructor. More... | |
| ~EvenOddPrecDumbCloverDLinOp () | |
| Destructor is automatic. More... | |
| const FermBC< T, P, Q > & | getFermBC () const |
| Return the fermion BC object for this linear operator. More... | |
| void | create (Handle< FermState< T, P, Q > > fs, const CloverFermActParams ¶m_) |
| Creation routine. More... | |
| void | operator() (T &chi, const T &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< LatticeFermionD > | |
| virtual | ~LinearOperator () |
| Virtual destructor to help with cleanup;. More... | |
| virtual void | operator() (LatticeFermionD &chi, const LatticeFermionD &psi, enum PlusMinus isign, Real epsilon) const |
| Apply the operator onto a source std::vector to some precision. More... | |
Private Attributes | |
| CloverFermActParams | param |
| WilsonDslashD | D |
| CloverTermD | clov |
| CloverTermD | 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 double precision
Definition at line 143 of file eoprec_clover_dumb_linop_w.h.
| typedef multi1d<U> Chroma::EvenOddPrecDumbCloverDLinOp::P |
Definition at line 148 of file eoprec_clover_dumb_linop_w.h.
| typedef multi1d<U> Chroma::EvenOddPrecDumbCloverDLinOp::Q |
Definition at line 149 of file eoprec_clover_dumb_linop_w.h.
| typedef LatticeFermionD Chroma::EvenOddPrecDumbCloverDLinOp::T |
Definition at line 146 of file eoprec_clover_dumb_linop_w.h.
| typedef LatticeColorMatrixD Chroma::EvenOddPrecDumbCloverDLinOp::U |
Definition at line 147 of file eoprec_clover_dumb_linop_w.h.
|
inline |
Destructor is automatic.
Definition at line 157 of file eoprec_clover_dumb_linop_w.h.
|
inline |
Creation routine.
Definition at line 163 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, Chroma::END_CODE(), invclov, param, and Chroma::START_CODE().
Referenced by EvenOddPrecDumbCloverDLinOp().
Return the fermion BC object for this linear operator.
Definition at line 160 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< LatticeFermionD >.
Definition at line 223 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< LatticeFermionD >.
Definition at line 182 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< LatticeFermionD >.
Definition at line 232 of file eoprec_clover_dumb_linop_w.h.
|
private |
Definition at line 240 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), nFlops(), and operator()().
|
private |
Definition at line 239 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), getFermBC(), nFlops(), and operator()().
|
private |
Definition at line 241 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), and operator()().
|
private |
Definition at line 238 of file eoprec_clover_dumb_linop_w.h.
Referenced by create(), nFlops(), and operator()().