CHROMA
|
Unpreconditioned Clover-Dirac operator. More...
#include <unprec_clover_linop_w.h>
Public Types | |
typedef LatticeFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
UnprecCloverLinOp () | |
Partial constructor. More... | |
UnprecCloverLinOp (Handle< FermState< T, P, Q > > fs, const CloverFermActParams ¶m_) | |
Full constructor. More... | |
~UnprecCloverLinOp () | |
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() (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 Clover 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 | |
CloverFermActParams | param |
WilsonDslash | D |
CloverTerm | A |
Unpreconditioned Clover-Dirac operator.
This routine is specific to Wilson fermions!
Definition at line 23 of file unprec_clover_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecCloverLinOp::P |
Definition at line 29 of file unprec_clover_linop_w.h.
typedef multi1d<LatticeColorMatrix> Chroma::UnprecCloverLinOp::Q |
Definition at line 30 of file unprec_clover_linop_w.h.
typedef LatticeFermion Chroma::UnprecCloverLinOp::T |
Definition at line 28 of file unprec_clover_linop_w.h.
|
inline |
Partial constructor.
Definition at line 33 of file unprec_clover_linop_w.h.
|
inline |
Destructor is automatic.
Definition at line 41 of file unprec_clover_linop_w.h.
void Chroma::UnprecCloverLinOp::create | ( | Handle< FermState< T, P, Q > > | fs, |
const CloverFermActParams & | param_ | ||
) |
Creation routine.
Creation routine with Anisotropy.
fs | gauge field (Read) |
param_ | parameters (Read) |
Definition at line 17 of file unprec_clover_linop_w.cc.
References Chroma::A().
Referenced by UnprecCloverLinOp().
|
virtual |
Derivative of unpreconditioned Clover dM/dU.
Reimplemented from Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 57 of file unprec_clover_linop_w.cc.
References Chroma::A(), chi, Chroma::isign, mu, Nd, psi, and Chroma::zero.
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 44 of file unprec_clover_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 78 of file unprec_clover_linop_w.cc.
References Chroma::A().
|
virtual |
Apply the operator onto a source std::vector.
Apply unpreconditioned Clover fermion linear operator.
The operator acts on the entire lattice
chi | Pseudofermion field (Write) |
psi | Pseudofermion field (Read) |
isign | Flag ( PLUS | MINUS ) (Read) |
Implements Chroma::LinearOperator< LatticeFermion >.
Definition at line 40 of file unprec_clover_linop_w.cc.
References Chroma::A(), chi, Chroma::isign, psi, and tmp.
|
private |
Definition at line 64 of file unprec_clover_linop_w.h.
|
private |
Definition at line 63 of file unprec_clover_linop_w.h.
Referenced by getFermBC().
|
private |
Definition at line 62 of file unprec_clover_linop_w.h.