CHROMA
|
Unpreconditioned Wilson-Dirac operator. More...
#include <unprec_wilson_linop_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecWilsonLinOp () | |
Partial constructor. More... | |
UnprecWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_) | |
Full constructor. More... | |
UnprecWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso) | |
Full constructor with Anisotropy. More... | |
~UnprecWilsonLinOp () | |
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 Real &Mass_) |
Creation routine. More... | |
void | create (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso) |
Creation routine with Anisotropy. More... | |
void | operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
Apply the operator onto a source std::vector. More... | |
void | deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const |
Derivative of unpreconditioned Wilson dM/dU. More... | |
unsigned long | nFlops () const |
Return flops performed by the operator() More... | |
Public Member Functions inherited from Chroma::UnprecLinearOperator< LatticeFermion, 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< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
virtual | ~DiffLinearOperator () |
Virtual destructor to help with cleanup;. More... | |
virtual void | deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &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< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const |
Return the force for multiple poles. More... | |
Public Member Functions inherited from Chroma::LinearOperator< LatticeFermion > | |
virtual | ~LinearOperator () |
Virtual destructor to help with cleanup;. More... | |
virtual void | operator() (LatticeFermion &chi, const LatticeFermion &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 |
WilsonDslash | D |
Unpreconditioned Wilson-Dirac operator.
This routine is specific to Wilson fermions!
~ ~+
This subroutine applies the unpreconditioned matrix M or M the std::vector Psi,
{ ~ { M(U) . Psi if ISign = PLUS Chi = { { ~ + { M(U) . Psi if ISign = MINUS
Algorithm:
The kernel for Wilson fermions is
M = (d+M) - (1/2) D'
Definition at line 39 of file unprec_wilson_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecWilsonLinOp::P |
Definition at line 45 of file unprec_wilson_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecWilsonLinOp::Q |
Definition at line 46 of file unprec_wilson_linop_w.h.
typedef LatticeFermion Chroma::UnprecWilsonLinOp::T |
Definition at line 44 of file unprec_wilson_linop_w.h.
|
inline |
Partial constructor.
Definition at line 49 of file unprec_wilson_linop_w.h.
|
inline |
Full constructor with Anisotropy.
Definition at line 56 of file unprec_wilson_linop_w.h.
References create().
|
inline |
Destructor is automatic.
Definition at line 62 of file unprec_wilson_linop_w.h.
Creation routine.
u_ | gauge field (Read) |
Mass_ | fermion kappa (Read) |
Definition at line 18 of file unprec_wilson_linop_w.cc.
Referenced by Chroma::UnprecOvExtLinOpArray::create(), and UnprecWilsonLinOp().
void Chroma::UnprecWilsonLinOp::create | ( | Handle< FermState< T, P, Q > > | fs, |
const Real & | Mass_, | ||
const AnisoParam_t & | anisoParam | ||
) |
Creation routine with Anisotropy.
u_ | gauge field (Read) |
Mass_ | fermion kappa (Read) |
aniso | anisotropy struct (Read) |
Definition at line 32 of file unprec_wilson_linop_w.cc.
References Chroma::AnisoParam_t::anisoP, END_CODE, Mass, Nd, Chroma::AnisoParam_t::nu, START_CODE, and Chroma::AnisoParam_t::xi_0.
|
virtual |
Derivative of unpreconditioned Wilson dM/dU.
chi | left std::vector on cb (Read) |
psi | right std::vector on 1-cb (Read) |
isign | D'^dag or D' ( MINUS | PLUS ) resp. (Read) |
cb | Checkerboard of chi std::vector (Read) |
Reimplemented from Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 91 of file unprec_wilson_linop_w.cc.
References chi, END_CODE, Chroma::isign, mu, Nd, psi, and START_CODE.
Referenced by main().
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 65 of file unprec_wilson_linop_w.h.
References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().
|
virtual |
Return flops performed by the operator()
Reimplemented from Chroma::LinearOperator< LatticeFermion >.
Definition at line 109 of file unprec_wilson_linop_w.cc.
|
private |
Definition at line 91 of file unprec_wilson_linop_w.h.
Referenced by getFermBC().
|
private |
Definition at line 88 of file unprec_wilson_linop_w.h.
|
private |
Definition at line 90 of file unprec_wilson_linop_w.h.