|
CHROMA
|
Unpreconditioned Graphene operator. More...
#include <unprec_graphene_linop_w.h>
Public Types | |
| typedef LatticeFermion | T |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
| UnprecGrapheneLinOp () | |
| Partial constructor. More... | |
| UnprecGrapheneLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_) | |
| Full constructor. More... | |
| UnprecGrapheneLinOp (Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso) | |
| Full constructor with Anisotropy. More... | |
| ~UnprecGrapheneLinOp () | |
| 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 Graphene 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 Member Functions | |
| void | gammaMults (multi1d< LatticeFermion > &tmp1, const LatticeFermion &psi) const |
| Form gamma_mu * psi. More... | |
| void | iGamMu (LatticeFermion &iGam, const multi1d< LatticeFermion > &gams, int mu) const |
| Form i*Gamma_mu * psi. More... | |
Private Attributes | |
| Real | Mass |
| AnisoParam_t | anisoParam |
| Handle< FermBC< T, P, Q > > | fbc |
| multi1d< LatticeColorMatrix > | u |
| multi2d< int > | alpha |
Unpreconditioned Graphene 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 these Graphene fermions is
M = m + i\sum_\mu\gamma_mu +
(1/2)*[(i*\Gamma_mu+\gamma_mu)*H_\mu + (i*\Gamma_mu-\gamma_mu)*H_-\mu]
Definition at line 45 of file unprec_graphene_linop_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::UnprecGrapheneLinOp::P |
Definition at line 51 of file unprec_graphene_linop_w.h.
| typedef multi1d<LatticeColorMatrix> Chroma::UnprecGrapheneLinOp::Q |
Definition at line 52 of file unprec_graphene_linop_w.h.
| typedef LatticeFermion Chroma::UnprecGrapheneLinOp::T |
Definition at line 50 of file unprec_graphene_linop_w.h.
|
inline |
Partial constructor.
Definition at line 55 of file unprec_graphene_linop_w.h.
|
inline |
Full constructor with Anisotropy.
Definition at line 62 of file unprec_graphene_linop_w.h.
References create().
|
inline |
Destructor is automatic.
Definition at line 68 of file unprec_graphene_linop_w.h.
Creation routine.
| u_ | gauge field (Read) |
| Mass_ | fermion kappa (Read) |
Definition at line 22 of file unprec_graphene_linop_w.cc.
Referenced by UnprecGrapheneLinOp().
| void Chroma::UnprecGrapheneLinOp::create | ( | Handle< FermState< T, P, Q > > | fs, |
| const Real & | Mass_, | ||
| const AnisoParam_t & | aniso_ | ||
| ) |
Creation routine with Anisotropy.
| u_ | gauge field (Read) |
| Mass_ | fermion kappa (Read) |
| aniso | anisotropy struct (Read) |
Definition at line 36 of file unprec_graphene_linop_w.cc.
References Chroma::StagPhases::alpha(), END_CODE, Mass, mu, Nd, nu, START_CODE, and Chroma::u.
|
virtual |
Derivative of unpreconditioned Graphene 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 212 of file unprec_graphene_linop_w.cc.
References chi, END_CODE, FORWARD, Chroma::isign, Chroma::MINUS, mu, Nd, Chroma::PLUS, psi, Chroma::QDP_error_exit(), START_CODE, tmp2, and tmp3.
|
private |
Form gamma_mu * psi.
Definition at line 107 of file unprec_graphene_linop_w.cc.
Return the fermion BC object for this linear operator.
Implements Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 71 of file unprec_graphene_linop_w.h.
References fbc.
|
private |
Form i*Gamma_mu * psi.
Definition at line 121 of file unprec_graphene_linop_w.cc.
References Chroma::StagPhases::alpha(), mu, Nd, nu, and tmp2.
|
virtual |
Return flops performed by the operator()
Reimplemented from Chroma::LinearOperator< LatticeFermion >.
Definition at line 290 of file unprec_graphene_linop_w.cc.
|
private |
Definition at line 106 of file unprec_graphene_linop_w.h.
|
private |
Definition at line 102 of file unprec_graphene_linop_w.h.
Definition at line 104 of file unprec_graphene_linop_w.h.
Referenced by getFermBC().
|
private |
Definition at line 101 of file unprec_graphene_linop_w.h.
|
private |
Definition at line 105 of file unprec_graphene_linop_w.h.