CHROMA
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members

Hisq staggered fermion action. More...

#include <hisq_fermact_s.h>

Inheritance diagram for Chroma::HisqFermAct:
Chroma::EvenOddStaggeredTypeFermAct< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::StaggeredTypeFermAct< T, P, Q > Chroma::StaggeredTypeFermAct< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q >

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...
 
AsqtadConnectStateBasecreateState (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
 

Detailed Description

Hisq staggered fermion action.

Definition at line 30 of file hisq_fermact_s.h.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::HisqFermAct::P

Definition at line 36 of file hisq_fermact_s.h.

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::HisqFermAct::Q

Definition at line 37 of file hisq_fermact_s.h.

◆ T

typedef LatticeStaggeredFermion Chroma::HisqFermAct::T

Definition at line 35 of file hisq_fermact_s.h.

Constructor & Destructor Documentation

◆ HisqFermAct() [1/3]

Chroma::HisqFermAct::HisqFermAct ( Handle< CreateFermState< T, P, Q > >  cfs_,
const HisqFermActParams p 
)
inline

General CreateFermState.

Definition at line 40 of file hisq_fermact_s.h.

◆ HisqFermAct() [2/3]

Chroma::HisqFermAct::HisqFermAct ( const HisqFermAct a)
inline

Copy constructor.

Definition at line 45 of file hisq_fermact_s.h.

◆ ~HisqFermAct()

Chroma::HisqFermAct::~HisqFermAct ( )
inline

Destructor is automatic.

Definition at line 69 of file hisq_fermact_s.h.

◆ HisqFermAct() [3/3]

Chroma::HisqFermAct::HisqFermAct ( )
inlineprivate

Definition at line 76 of file hisq_fermact_s.h.

Member Function Documentation

◆ createState()

AsqtadConnectStateBase * Chroma::HisqFermAct::createState ( const Q u_) const
virtual

◆ getCreateState()

const CreateFermState<T,P,Q>& Chroma::HisqFermAct::getCreateState ( ) const
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.

◆ getFermBC()

const FermBC<T,P,Q>& Chroma::HisqFermAct::getFermBC ( ) const
inlinevirtual

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().

◆ getQuarkMass()

const Real Chroma::HisqFermAct::getQuarkMass ( void  ) const
inlinevirtual

accessors

Implements Chroma::StaggeredTypeFermAct< T, P, Q >.

Definition at line 65 of file hisq_fermact_s.h.

References Chroma::HisqFermActParams::Mass, and param.

◆ getU0()

Real Chroma::HisqFermAct::getU0 ( )
inline

Definition at line 66 of file hisq_fermact_s.h.

References param, and Chroma::HisqFermActParams::u0.

◆ operator=()

void Chroma::HisqFermAct::operator= ( const HisqFermAct a)
inlineprivate

Definition at line 77 of file hisq_fermact_s.h.

◆ qprop()

SystemSolver< LF > * Chroma::HisqFermAct::qprop ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
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.

Member Data Documentation

◆ cfs

Handle< CreateFermState<T,P,Q> > Chroma::HisqFermAct::cfs
private

Definition at line 80 of file hisq_fermact_s.h.

Referenced by createState(), getCreateState(), and getFermBC().

◆ param

HisqFermActParams Chroma::HisqFermAct::param
private

Definition at line 81 of file hisq_fermact_s.h.

Referenced by createState(), getQuarkMass(), getU0(), linOp(), and lMdagM().


The documentation for this class was generated from the following files: