CHROMA
|
Unpreconditioned Wilson-Dirac operator with parity breaking term. More...
#include <unprec_parwilson_linop_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecParWilsonLinOp () | |
Partial constructor. More... | |
UnprecParWilsonLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const Real &H_) | |
Full constructor. More... | |
~UnprecParWilsonLinOp () | |
Destructor is automatic. More... | |
const Subset & | subset () const |
Only defined on the odd subset. 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_, const Real &H_) |
Creation routine. 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 ParWilson dM/dU. 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... | |
virtual unsigned long | nFlops () const |
Private Attributes | |
Real | Mass |
Real | H |
WilsonDslash | D |
Unpreconditioned Wilson-Dirac operator with parity breaking term.
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 with a parity breaking term is
M = (d+M) + i*H*gamma_5 - (1/2) D'
Definition at line 39 of file unprec_parwilson_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecParWilsonLinOp::P |
Definition at line 45 of file unprec_parwilson_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecParWilsonLinOp::Q |
Definition at line 46 of file unprec_parwilson_linop_w.h.
typedef LatticeFermion Chroma::UnprecParWilsonLinOp::T |
Definition at line 44 of file unprec_parwilson_linop_w.h.
|
inline |
Partial constructor.
Definition at line 49 of file unprec_parwilson_linop_w.h.
|
inline |
Destructor is automatic.
Definition at line 57 of file unprec_parwilson_linop_w.h.
|
virtual |
Derivative of unpreconditioned ParWilson 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 89 of file unprec_parwilson_linop_w.cc.
References chi, END_CODE, Chroma::isign, mu, Nd, psi, and START_CODE.
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 63 of file unprec_parwilson_linop_w.h.
References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().
|
inlinevirtual |
Only defined on the odd subset.
Implements Chroma::LinearOperator< LatticeFermion >.
Definition at line 60 of file unprec_parwilson_linop_w.h.
|
private |
Definition at line 81 of file unprec_parwilson_linop_w.h.
Referenced by getFermBC().
|
private |
Definition at line 79 of file unprec_parwilson_linop_w.h.
|
private |
Definition at line 78 of file unprec_parwilson_linop_w.h.