CHROMA
|
Hisq staggered fermion action. More...
#include <hisq_fermact_s.h>
Public Types | |
typedef LatticeStaggeredFermion | T |
typedef multi1d< LatticeColorMatrix > | P |
typedef multi1d< LatticeColorMatrix > | Q |
Public Member Functions | |
HisqFermAct (Handle< CreateFermState< T, P, Q > > cfs_, const HisqFermActParams &p) | |
General CreateFermState. More... | |
HisqFermAct (const HisqFermAct &a) | |
Copy constructor. More... | |
AsqtadConnectStateBase * | createState (const Q &u_) const |
Create state should apply the BC. More... | |
const FermBC< T, P, Q > & | getFermBC () const |
Return the fermion BC object for this action. More... | |
EvenOddLinearOperator< T, P, Q > * | linOp (Handle< FermState< T, P, Q > > state_) const |
Produce a linear operator for this action. More... | |
DiffLinearOperator< T, P, Q > * | lMdagM (Handle< FermState< T, P, Q > > state_) const |
Produce a linear operator M^dag.M for this action. More... | |
SystemSolver< T > * | qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return quark prop solver, solution of unpreconditioned system. More... | |
const Real | getQuarkMass () const |
accessors More... | |
Real | getU0 () |
~HisqFermAct () | |
Destructor is automatic. More... | |
Public Member Functions inherited from Chroma::EvenOddStaggeredTypeFermAct< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > | |
virtual | ~EvenOddStaggeredTypeFermAct () |
Virtual destructor to help with cleanup;. More... | |
virtual | ~EvenOddStaggeredTypeFermAct () |
Virtual destructor to help with cleanup;. More... | |
SystemSolver< LF > * | qprop (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve MdagM*psi=chi. More... | |
Public Member Functions inherited from Chroma::StaggeredTypeFermAct< T, P, Q > | |
virtual | ~StaggeredTypeFermAct () |
Virtual destructor to help with cleanup;. More... | |
virtual LinOpSystemSolver< T > * | invLinOp (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve M*psi=chi. More... | |
virtual MdagMSystemSolver< T > * | invMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve MdagM*psi=chi. More... | |
virtual MdagMMultiSystemSolver< T > * | mInvMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi. More... | |
virtual void | quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had) const |
Given a complete propagator as a source, this does all the inversions needed. More... | |
virtual | ~StaggeredTypeFermAct () |
Virtual destructor to help with cleanup;. More... | |
virtual LinOpSystemSolver< T > * | invLinOp (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve M*psi=chi. More... | |
virtual MdagMSystemSolver< T > * | invMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve MdagM*psi=chi. More... | |
virtual LinOpMultiSystemSolver< T > * | mInvLinOp (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a multi-shift linear operator solver for this action to solve (M+shift)*psi=chi. More... | |
virtual MdagMMultiSystemSolver< T > * | mInvMdagM (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi. More... | |
virtual MdagMMultiSystemSolverAccumulate< T > * | mInvMdagMAcc (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return a multi-shift linear operator solver for this action to solve (MdagM+shift)*psi=chi. More... | |
virtual void | quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had) const |
Given a complete propagator as a source, this does all the inversions needed. More... | |
void | quarkProp (LatticeStaggeredPropagator &q_sol, XMLWriter &xml_out, const LatticeStaggeredPropagator &q_src, Handle< FermState< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, int &ncg_had) const |
Given a complete propagator as a source, this does all the inversions needed. More... | |
LinOpSystemSolver< LF > * | invLinOp (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
MdagMSystemSolver< LF > * | invMdagM (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve MdagM*psi=chi. More... | |
LinOpMultiSystemSolver< LF > * | mInvLinOp (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve (M+shift_i)*psi_i = chi. More... | |
MdagMMultiSystemSolver< LF > * | mInvMdagM (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi. More... | |
MdagMMultiSystemSolverAccumulate< LF > * | mInvMdagMAcc (Handle< FermState< LF, LCM, LCM > > state, const GroupXML_t &invParam) const |
Return a linear operator solver for this action to solve (MdagM+shift_i)*psi_i = chi. More... | |
Public Member Functions inherited from Chroma::DiffFermAct4D< T, P, Q > | |
virtual | ~DiffFermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual DiffLinearOperator< T, Q, P > * | linOp (Handle< FermState< T, P, Q > > state) const =0 |
Produce a linear operator for this action. More... | |
virtual DiffLinearOperator< T, Q, P > * | lMdagM (Handle< FermState< T, P, Q > > state) const =0 |
Produce a linear operator M^dag.M for this action. More... | |
virtual | ~DiffFermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual DiffLinearOperator< T, Q, P > * | linOp (Handle< FermState< T, P, Q > > state) const =0 |
Produce a linear operator for this action. More... | |
virtual DiffLinearOperator< T, Q, P > * | lMdagM (Handle< FermState< T, P, Q > > state) const =0 |
Produce a linear operator M^dag.M for this action. More... | |
Public Member Functions inherited from Chroma::FermAct4D< T, P, Q > | |
virtual | ~FermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual SystemSolver< T > * | qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return quark prop solver, solution of unpreconditioned system. More... | |
virtual | ~FermAct4D () |
Virtual destructor to help with cleanup;. More... | |
virtual SystemSolver< T > * | qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const |
Return quark prop solver, solution of unpreconditioned system. More... | |
SystemSolver< LatticeFermion > * | qprop (Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam) const |
Return quark prop solver, solution of unpreconditioned system. More... | |
SystemSolver< LatticeStaggeredFermion > * | qprop (Handle< FermState< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, const GroupXML_t &invParam) const |
Public Member Functions inherited from Chroma::FermionAction< T, P, Q > | |
virtual | ~FermionAction () |
Virtual destructor to help with cleanup;. More... | |
virtual FermState< T, P, Q > * | createState (const Q &q, XMLReader &reader, const std::string &path) const |
Given links (coordinates Q) create a state with additional info held by the XMLReader. More... | |
virtual void | quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, int t_src, int j_decay, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, bool obsvP, int &ncg_had) const |
Given a complete propagator as a source, this does all the inversions needed. More... | |
virtual | ~FermionAction () |
Virtual destructor to help with cleanup;. More... | |
virtual FermState< T, P, Q > * | createState (const Q &q, XMLReader &reader, const std::string &path) const |
Given links (coordinates Q) create a state with additional info held by the XMLReader. More... | |
virtual void | quarkProp (typename PropTypeTraits< T >::Type_t &q_sol, XMLWriter &xml_out, const typename PropTypeTraits< T >::Type_t &q_src, int t_src, int j_decay, Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam, QuarkSpinType quarkSpinType, bool obsvP, int &ncg_had) const |
Given a complete propagator as a source, this does all the inversions needed. More... | |
Protected Member Functions | |
const CreateFermState< T, P, Q > & | getCreateState () const |
Return the fermion BC object for this action. More... | |
Private Member Functions | |
HisqFermAct () | |
void | operator= (const HisqFermAct &a) |
Private Attributes | |
Handle< CreateFermState< T, P, Q > > | cfs |
HisqFermActParams | param |
Hisq staggered fermion action.
Definition at line 30 of file hisq_fermact_s.h.
typedef multi1d<LatticeColorMatrix> Chroma::HisqFermAct::P |
Definition at line 36 of file hisq_fermact_s.h.
typedef multi1d<LatticeColorMatrix> Chroma::HisqFermAct::Q |
Definition at line 37 of file hisq_fermact_s.h.
typedef LatticeStaggeredFermion Chroma::HisqFermAct::T |
Definition at line 35 of file hisq_fermact_s.h.
|
inline |
General CreateFermState.
Definition at line 40 of file hisq_fermact_s.h.
|
inline |
Copy constructor.
Definition at line 45 of file hisq_fermact_s.h.
|
inline |
Destructor is automatic.
Definition at line 69 of file hisq_fermact_s.h.
|
inlineprivate |
Definition at line 76 of file hisq_fermact_s.h.
|
virtual |
Create state should apply the BC.
Create a state – this multiplies in the K-S phases computes the fat and triple links etc.
Reimplemented from Chroma::FermionAction< T, P, Q >.
Definition at line 144 of file hisq_fermact_s.cc.
References Chroma::StagPhases::alpha(), Chroma::fat7_param::c_1l, Chroma::fat7_param::c_3l, Chroma::fat7_param::c_5l, Chroma::fat7_param::c_7l, Chroma::fat7_param::c_Lepage, cfs, Chroma::HisqFermActParams::epsilon, Chroma::Fat7_Links(), getFermBC(), Chroma::i, Chroma::HisqFermActParams::Mass, Nd, Chroma::one, param, Chroma::polar_dec(), Chroma::Triple_Links(), and Chroma::HisqFermActParams::u0.
|
inlineprotectedvirtual |
Return the fermion BC object for this action.
Implements Chroma::FermionAction< T, P, Q >.
Definition at line 73 of file hisq_fermact_s.h.
References cfs.
Return the fermion BC object for this action.
Reimplemented from Chroma::FermionAction< T, P, Q >.
Definition at line 52 of file hisq_fermact_s.h.
References cfs.
Referenced by createState().
|
inlinevirtual |
accessors
Implements Chroma::StaggeredTypeFermAct< T, P, Q >.
Definition at line 65 of file hisq_fermact_s.h.
References Chroma::HisqFermActParams::Mass, and param.
|
inline |
Definition at line 66 of file hisq_fermact_s.h.
References param, and Chroma::HisqFermActParams::u0.
|
inlineprivate |
Definition at line 77 of file hisq_fermact_s.h.
|
virtual |
Return quark prop solver, solution of unpreconditioned system.
Reimplemented from Chroma::EvenOddStaggeredTypeFermAct< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.
Definition at line 23 of file hisq_qprop.cc.
References params, Chroma::GroupXML_t::path, Chroma::state, and Chroma::GroupXML_t::xml.
|
private |
Definition at line 80 of file hisq_fermact_s.h.
Referenced by createState(), getCreateState(), and getFermBC().
|
private |
Definition at line 81 of file hisq_fermact_s.h.
Referenced by createState(), getQuarkMass(), getU0(), linOp(), and lMdagM().