CHROMA
unprec_two_flavor_ratio_conv_rat_monomial_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Two-flavor collection of unpreconditioned 4D ferm monomials
4  */
5 
6 #ifndef __unprec_two_flavor_ratio_conv_rat_monomial_w_h__
7 #define __unprec_two_flavor_ratio_conv_rat_monomial_w_h__
8 
13 
14 namespace Chroma
15 {
16 
17  /*! @ingroup monomial */
18  namespace UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomialEnv
19  {
20  bool registerAll();
21  }
22 
23 
24  //! Wrapper class for 2-flavor unprec ferm monomials
25  /*! @ingroup monomial
26  *
27  * Monomial is expected to be the same for these fermacts
28  */
31  multi1d<LatticeColorMatrix>,
32  multi1d<LatticeColorMatrix>,
33  LatticeFermion>
34  {
35  public:
36  // Typedefs to save typing
37  typedef LatticeFermion T;
38  typedef multi1d<LatticeColorMatrix> P;
39  typedef multi1d<LatticeColorMatrix> Q;
40 
41  // Construct out of a parameter struct. Check against the desired FermAct name
43 
44  protected:
45 
46  T& getPhi(void) {
47  // If phi are changed we must reset the chrono predictor
48  return phi;
49  }
50 
51  const T& getPhi(void) const {
52  return phi;
53  }
54 
56  return *chrono_predictor;
57  };
58 
60  return *fermact_num;
61  }
62 
64  return *fermact_den;
65  }
66 
67 
68  //! Get parameters for the inverter
69  const GroupXML_t& getNumerInvParams() const {
70  return invParam_num;
71  }
72 
73  //! Get parameters for the inverter
74  const GroupXML_t& getDenomActionInvParams(void) const {
75  return actionInvParam_den;
76  }
77 
78  //! Get parameters for the inverter
79  const GroupXML_t& getDenomForceInvParams(void) const {
80  return forceInvParam_den;
81  }
82 
83  //! Return the partial fraction expansion for the force calc
84  const RemezCoeff_t& getDenomFPFE() const {return fpfe_den;}
85 
86  //! Return the partial fraction expansion for the action calc
87  const RemezCoeff_t& getDenomSPFE() const {return spfe_den;}
88 
89  //! Return the partial fraction expansion for the heat-bath
90  const RemezCoeff_t& getDenomSIPFE() const {return sipfe_den;}
91 
92  private:
93  // Hide empty constructor and =
96 
97  // Pseudofermion field phi
98  T phi;
99 
100  // A handle for the chrono predictor
102 
103  // A handle for the UnprecWilsonFermAct
105 
106  // A handle for the UnprecWilsonFermAct
108 
109  // The parameters for the inversion
111 
112  // The parameters for the inversion
115 
116  // Coefficients and roots of partial fractions
120  };
121 
122 
123 } //end namespace chroma
124 
125 
126 
127 #endif
Abstract interface for a Chronological Solution predictor.
Class for counted reference semantics.
Definition: handle.h:33
Exact 2 degen flavor unpreconditioned RatioConvRat type fermact monomial.
const GroupXML_t & getDenomForceInvParams(void) const
Get parameters for the inverter.
const GroupXML_t & getNumerInvParams() const
Get parameters for the inverter.
T & getPhi(void)
Accessor for pseudofermion with Pf index i (read only)
const T & getPhi(void) const
Accessor for pseudofermion with Pf index i (read only)
const UnprecWilsonTypeFermAct< T, P, Q > & getNumerFermAct() const
Get at fermion action.
const RemezCoeff_t & getDenomSPFE() const
Return the partial fraction expansion for the action calc.
const RemezCoeff_t & getDenomSIPFE() const
Return the partial fraction expansion for the heat-bath.
const GroupXML_t & getDenomActionInvParams(void) const
Get parameters for the inverter.
const UnprecWilsonTypeFermAct< T, P, Q > & getDenomFermAct() const
Get at the preconditioned fermion actions.
const RemezCoeff_t & getDenomFPFE() const
Return the partial fraction expansion for the force calc.
AbsChronologicalPredictor4D< T > & getMDSolutionPredictor()
Get the initial guess predictor.
void operator=(const UnprecTwoFlavorRatioConvRatWilsonTypeFermMonomial &)
Unpreconditioned Wilson-like fermion actions with derivatives.
Definition: fermact.orig.h:491
Field state.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
Remez algorithm coefficients.
Hold group xml and type id.
Convenient structure to package Remez coeffs.
Definition: remez_coeff.h:19
Two-flavor ratio of conventional fermion action monomial params.
Two flavor Monomials - gauge action or fermion binlinear contributions for HMC.