CHROMA
Public Member Functions | List of all members
Chroma::FermionAction< T, P, Q > Class Template Referenceabstract

Base class for quadratic matter actions (e.g., fermions) More...

#include <fermact.h>

Inheritance diagram for Chroma::FermionAction< T, P, Q >:
Chroma::FermAct4D< T, P, Q > Chroma::FermAct4D< T, P, Q > Chroma::FermAct5D< T, P, Q > Chroma::FermAct5D< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::DiffFermAct4D< T, P, Q > Chroma::DiffFermAct5D< T, P, Q > Chroma::DiffFermAct5D< T, P, Q > Chroma::DiffFermAct5D< T, P, Q > Chroma::DiffFermAct5D< T, P, Q >

Public Member Functions

virtual ~FermionAction ()
 Virtual destructor to help with cleanup;. More...
 
virtual FermState< T, P, Q > * createState (const Q &q) const
 Given links (coordinates Q) create the state needed for the linear operators. 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 const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this action. More...
 
virtual const CreateFermState< T, P, Q > & getCreateState () const =0
 Return the factory object that produces a state. More...
 
virtual SystemSolver< T > * qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const =0
 Return quark prop solver, solution of unpreconditioned system. 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 =0
 Given a complete propagator as a source, this does all the inversions needed. 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) const
 Given links (coordinates Q) create the state needed for the linear operators. 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 const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this action. More...
 
virtual const CreateFermState< T, P, Q > & getCreateState () const =0
 Return the factory object that produces a state. More...
 
virtual SystemSolver< T > * qprop (Handle< FermState< T, P, Q > > state, const GroupXML_t &invParam) const =0
 Return quark prop solver, solution of unpreconditioned system. 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 =0
 Given a complete propagator as a source, this does all the inversions needed. 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...
 

Detailed Description

template<typename T, typename P, typename Q>
class Chroma::FermionAction< T, P, Q >

Base class for quadratic matter actions (e.g., fermions)

Supports creation and application for quadratic actions. This is basically a foundry class with additional operations.

The class holds info on the particulars of a bi-local action, but it DOES NOT hold gauge fields. A specific dirac-operator is a functional of the gauge fields, hence when a dirac-operator is needed, it is created.

The FermState holds gauge fields and whatever auxilliary info is needed to create a specific dirac operator (linear operator) on some background gauge field.

The FermBC is the type of boundary conditions used for this action

The linop and lmdagm functions create a linear operator on a fixed FermState

The qprop solves for the full linear system undoing all preconditioning. No direct functions are provided (or needed) to call a linear system solver - that is a stand-alone function in the generic programming sense.

Definition at line 52 of file fermact.h.

Constructor & Destructor Documentation

◆ ~FermionAction() [1/2]

template<typename T , typename P , typename Q >
virtual Chroma::FermionAction< T, P, Q >::~FermionAction ( )
inlinevirtual

Virtual destructor to help with cleanup;.

Definition at line 56 of file fermact.h.

◆ ~FermionAction() [2/2]

template<typename T , typename P , typename Q >
virtual Chroma::FermionAction< T, P, Q >::~FermionAction ( )
inlinevirtual

Virtual destructor to help with cleanup;.

Definition at line 58 of file fermact.orig.h.

Member Function Documentation

◆ createState() [1/4]

template<typename T , typename P , typename Q >
virtual FermState<T,P,Q>* Chroma::FermionAction< T, P, Q >::createState ( const Q q) const
inlinevirtual

Given links (coordinates Q) create the state needed for the linear operators.

Reimplemented in Chroma::KleinGordonFermAct, Chroma::HisqFermAct, Chroma::AsqtadFermAct, Chroma::UnprecOvlapContFrac5DFermActArray, and Chroma::OvlapPartFrac4DFermAct.

Definition at line 59 of file fermact.h.

References Chroma::FermionAction< T, P, Q >::getCreateState(), and q.

Referenced by Chroma::FermionAction< T, P, Q >::createState(), Chroma::EvenOddPrecLogDetEvenEvenMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::SymEvenOddPrecLogDetDiagMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::InlineMultiPropagator::func(), Chroma::InlineStaggeredSpectrum::func(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::getX(), Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >::getX(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::getX(), main(), readEigenVecs(), Chroma::TwoFlavorExactWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::refreshInternalFields(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >::refreshInternalFields(), Chroma::EvenOddPrecLogDetEvenEvenMonomial< P, Q, Phi >::S(), Chroma::SymEvenOddPrecLogDetDiagMonomial< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecWilsonTypeFermMonomial5D< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecWilsonTypeFermMonomial< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecPolynomialWilsonTypeFermMonomial< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::S(), Chroma::TwoFlavorExactUnprecRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::S(), Chroma::EvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial::S_odd_odd(), Chroma::SymEvenOddPrecConstDetTwoFlavorWilsonTypeFermMonomial::S_odd_odd(), Chroma::TwoFlavorExactEvenOddPrecWilsonTypeFermMonomial5D< P, Q, Phi >::S_odd_odd(), Chroma::TwoFlavorExactEvenOddPrecPolynomialWilsonTypeFermMonomial< P, Q, Phi >::S_odd_odd(), Chroma::TwoFlavorExactEvenOddPrecPolyPrecWilsonTypeFermMonomial< P, Q, Phi >::S_odd_odd(), Chroma::TwoFlavorExactEvenOddPrecRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >::S_odd_odd(), Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::S_odd_odd(), Chroma::TwoFlavorExactEvenOddPrecRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::S_odd_odd(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::S_subset(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi >::S_subset(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::S_subset(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >::S_subset(), and wilson_dsdu().

◆ createState() [2/4]

template<typename T , typename P , typename Q >
virtual FermState<T,P,Q>* Chroma::FermionAction< T, P, Q >::createState ( const Q q) const
inlinevirtual

Given links (coordinates Q) create the state needed for the linear operators.

Reimplemented in Chroma::KleinGordonFermAct, Chroma::HisqFermAct, Chroma::AsqtadFermAct, Chroma::UnprecOvlapContFrac5DFermActArray, and Chroma::OvlapPartFrac4DFermAct.

Definition at line 61 of file fermact.orig.h.

References Chroma::FermionAction< T, P, Q >::getCreateState(), and q.

◆ createState() [3/4]

template<typename T , typename P , typename Q >
virtual FermState<T,P,Q>* Chroma::FermionAction< T, P, Q >::createState ( const Q q,
XMLReader &  reader,
const std::string &  path 
) const
inlinevirtual

Given links (coordinates Q) create a state with additional info held by the XMLReader.

THIS FUNCTION SHOULD DISAPPEAR. This function is only really used by the overlap operators to hand around the StateInfo stuff. We are moving to have this stuff live within the FermState

Reimplemented in Chroma::UnprecOvlapContFrac5DFermActArray, and Chroma::OvlapPartFrac4DFermAct.

Definition at line 71 of file fermact.h.

References Chroma::FermionAction< T, P, Q >::createState(), and q.

◆ createState() [4/4]

template<typename T , typename P , typename Q >
virtual FermState<T,P,Q>* Chroma::FermionAction< T, P, Q >::createState ( const Q q,
XMLReader &  reader,
const std::string &  path 
) const
inlinevirtual

Given links (coordinates Q) create a state with additional info held by the XMLReader.

THIS FUNCTION SHOULD DISAPPEAR. This function is only really used by the overlap operators to hand around the StateInfo stuff. We are moving to have this stuff live within the FermState

Reimplemented in Chroma::UnprecOvlapContFrac5DFermActArray, and Chroma::OvlapPartFrac4DFermAct.

Definition at line 73 of file fermact.orig.h.

References Chroma::FermionAction< T, P, Q >::createState(), and q.

◆ getCreateState() [1/2]

template<typename T , typename P , typename Q >
virtual const CreateFermState<T,P,Q>& Chroma::FermionAction< T, P, Q >::getCreateState ( ) const
pure virtual

Return the factory object that produces a state.

The user will supply the FermState in a derived class

This method is public for the simple reason that a fermact might be nested, in which case the container would forward this function call to the children.

Implemented in Chroma::UnprecZoloNEFFermActArray, Chroma::UnprecWilsonFermAct, Chroma::UnprecW12FermAct, Chroma::UnprecDWFermActArray, Chroma::UnprecParWilsonFermAct, Chroma::UnprecOvlapContFrac5DFermActArray, Chroma::UnprecOvExtFermActArray, Chroma::UnprecOvDWFermActArray, Chroma::UnprecNEFFermActArray, Chroma::UnprecHTContFrac5DFermActArray, Chroma::UnprecHamberWuFermAct, Chroma::UnprecGrapheneFermAct, Chroma::UnprecDWFTransfFermAct, Chroma::UnprecDWFermActArray, Chroma::UnprecCloverFermAct, Chroma::StagFermAct, Chroma::SymEvenOddPrecCloverFermAct, Chroma::PolyChebFermAct, Chroma::OvlapPartFrac4DFermAct, Chroma::KleinGordonFermAct, Chroma::HisqFermAct, Chroma::EvenOddPrecZoloNEFFermActArray, Chroma::EvenOddPrecWilsonFermAct, Chroma::EvenOddPrecWilsonCoarseFineFermAct, Chroma::EvenOddPrecTwmFermActArray, Chroma::EvenOddPrecSLRCFermAct, Chroma::EvenOddPrecSLICFermAct, Chroma::EvenOddPrecParWilsonFermAct, Chroma::EvenOddPrecOvlapContFrac5DFermActArray, Chroma::EvenOddPrecOvExtFermActArray, Chroma::EvenOddPrecOvDWFermActArray, Chroma::EvenOddPrecNEFFermActArray, Chroma::EvenOddPrecKNOFermActArray, Chroma::EvenOddPrecHtContFrac5DFermActArray, Chroma::EvenOddPrecDWFermActArray, Chroma::EvenOddPrecCloverOrbifoldFermAct, Chroma::EvenOddPrecCloverFermAct, Chroma::EvenOddPrecCloverExtFieldFermAct, and Chroma::AsqtadFermAct.

Referenced by Chroma::FermionAction< T, P, Q >::createState(), and Chroma::FermionAction< T, P, Q >::getFermBC().

◆ getCreateState() [2/2]

template<typename T , typename P , typename Q >
virtual const CreateFermState<T,P,Q>& Chroma::FermionAction< T, P, Q >::getCreateState ( ) const
pure virtual

Return the factory object that produces a state.

The user will supply the FermState in a derived class

This method is public for the simple reason that a fermact might be nested, in which case the container would forward this function call to the children.

Implemented in Chroma::UnprecZoloNEFFermActArray, Chroma::UnprecWilsonFermAct, Chroma::UnprecW12FermAct, Chroma::UnprecDWFermActArray, Chroma::UnprecParWilsonFermAct, Chroma::UnprecOvlapContFrac5DFermActArray, Chroma::UnprecOvExtFermActArray, Chroma::UnprecOvDWFermActArray, Chroma::UnprecNEFFermActArray, Chroma::UnprecHTContFrac5DFermActArray, Chroma::UnprecHamberWuFermAct, Chroma::UnprecGrapheneFermAct, Chroma::UnprecDWFTransfFermAct, Chroma::UnprecDWFermActArray, Chroma::UnprecCloverFermAct, Chroma::StagFermAct, Chroma::SymEvenOddPrecCloverFermAct, Chroma::PolyChebFermAct, Chroma::OvlapPartFrac4DFermAct, Chroma::KleinGordonFermAct, Chroma::HisqFermAct, Chroma::EvenOddPrecZoloNEFFermActArray, Chroma::EvenOddPrecWilsonFermAct, Chroma::EvenOddPrecWilsonCoarseFineFermAct, Chroma::EvenOddPrecTwmFermActArray, Chroma::EvenOddPrecSLRCFermAct, Chroma::EvenOddPrecSLICFermAct, Chroma::EvenOddPrecParWilsonFermAct, Chroma::EvenOddPrecOvlapContFrac5DFermActArray, Chroma::EvenOddPrecOvExtFermActArray, Chroma::EvenOddPrecOvDWFermActArray, Chroma::EvenOddPrecNEFFermActArray, Chroma::EvenOddPrecKNOFermActArray, Chroma::EvenOddPrecHtContFrac5DFermActArray, Chroma::EvenOddPrecDWFermActArray, Chroma::EvenOddPrecCloverOrbifoldFermAct, Chroma::EvenOddPrecCloverFermAct, Chroma::EvenOddPrecCloverExtFieldFermAct, and Chroma::AsqtadFermAct.

◆ getFermBC() [1/2]

template<typename T , typename P , typename Q >
virtual const FermBC<T,P,Q>& Chroma::FermionAction< T, P, Q >::getFermBC ( ) const
inlinevirtual

◆ getFermBC() [2/2]

template<typename T , typename P , typename Q >
virtual const FermBC<T,P,Q>& Chroma::FermionAction< T, P, Q >::getFermBC ( ) const
inlinevirtual

Return the fermion BC object for this action.

Reimplemented in Chroma::KleinGordonFermAct, Chroma::HisqFermAct, and Chroma::AsqtadFermAct.

Definition at line 81 of file fermact.orig.h.

References Chroma::FermionAction< T, P, Q >::getCreateState().

◆ qprop() [1/2]

template<typename T , typename P , typename Q >
virtual SystemSolver<T>* Chroma::FermionAction< T, P, Q >::qprop ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
pure virtual

◆ qprop() [2/2]

template<typename T , typename P , typename Q >
virtual SystemSolver<T>* Chroma::FermionAction< T, P, Q >::qprop ( Handle< FermState< T, P, Q > >  state,
const GroupXML_t invParam 
) const
pure virtual

◆ quarkProp() [1/4]

template<typename T , typename P , typename Q >
virtual void Chroma::FermionAction< T, P, Q >::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
pure virtual

Given a complete propagator as a source, this does all the inversions needed.

Parameters
q_solquark propagator ( Write )
q_srcsource ( Read )
xml_outdiagnostic output ( Modify )
stategauge connection state ( Read )
invParaminverter parameters ( Read )
quarkSpinTypecompute only a non-relativistic prop ( Read )
ncg_hadnumber of solver iterations ( Write )

Implemented in Chroma::WilsonTypeFermAct5D< T, P, Q >, Chroma::WilsonTypeFermAct< T, P, Q >, Chroma::StaggeredTypeFermAct< T, P, Q >, Chroma::StaggeredTypeFermAct< T, P, Q >, Chroma::WilsonTypeFermAct5D< T, P, Q >, and Chroma::WilsonTypeFermAct< T, P, Q >.

Referenced by Chroma::FermionAction< T, P, Q >::quarkProp().

◆ quarkProp() [2/4]

template<typename T , typename P , typename Q >
virtual void Chroma::FermionAction< T, P, Q >::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
pure virtual

Given a complete propagator as a source, this does all the inversions needed.

Parameters
q_solquark propagator ( Write )
q_srcsource ( Read )
xml_outdiagnostic output ( Modify )
stategauge connection state ( Read )
invParaminverter parameters ( Read )
quarkSpinTypecompute only a non-relativistic prop ( Read )
ncg_hadnumber of solver iterations ( Write )

Implemented in Chroma::WilsonTypeFermAct5D< T, P, Q >, Chroma::WilsonTypeFermAct< T, P, Q >, Chroma::StaggeredTypeFermAct< T, P, Q >, Chroma::StaggeredTypeFermAct< T, P, Q >, Chroma::WilsonTypeFermAct5D< T, P, Q >, and Chroma::WilsonTypeFermAct< T, P, Q >.

◆ quarkProp() [3/4]

template<typename T , typename P , typename Q >
virtual void Chroma::FermionAction< T, P, Q >::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
inlinevirtual

Given a complete propagator as a source, this does all the inversions needed.

Provides a default version

Parameters
q_solquark propagator ( Write )
q_srcsource ( Read )
xml_outdiagnostic output ( Modify )
stategauge connection state ( Read )
invParaminverter parameters ( Read )
quarkSpinTypecompute only a non-relativistic prop ( Read )
ncg_hadnumber of solver iterations ( Write )
t_srctime slice of source ( Read )
j_decaydirection of decay ( Read )
obsvPcompute currents and residual mass ( Read )
ncg_hadnumber of solver iterations ( Write )

Definition at line 132 of file fermact.h.

References Chroma::FermionAction< T, P, Q >::quarkProp(), and Chroma::state.

◆ quarkProp() [4/4]

template<typename T , typename P , typename Q >
virtual void Chroma::FermionAction< T, P, Q >::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
inlinevirtual

Given a complete propagator as a source, this does all the inversions needed.

Provides a default version

Parameters
q_solquark propagator ( Write )
q_srcsource ( Read )
xml_outdiagnostic output ( Modify )
stategauge connection state ( Read )
invParaminverter parameters ( Read )
quarkSpinTypecompute only a non-relativistic prop ( Read )
ncg_hadnumber of solver iterations ( Write )
t_srctime slice of source ( Read )
j_decaydirection of decay ( Read )
obsvPcompute currents and residual mass ( Read )
ncg_hadnumber of solver iterations ( Write )

Definition at line 134 of file fermact.orig.h.

References Chroma::FermionAction< T, P, Q >::quarkProp(), and Chroma::state.


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