CHROMA
eoprec_constdet_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 even-odd preconditioned 4D ferm monomials
4  */
5 
6 #ifndef __eoprec_two_flavor_ratio_conv_rat_monomial_w_h__
7 #define __eoprec_two_flavor_ratio_conv_rat_monomial_w_h__
8 
12 
13 namespace Chroma
14 {
15 
16  /*! @ingroup monomial */
17  namespace EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomialEnv
18  {
19  bool registerAll();
20  }
21 
22 
23  //! Wrapper class for 2-flavor even-odd prec ferm monomials
24  /*! @ingroup monomial
25  *
26  * Monomial is expected to be the same for these fermacts
27  */
30  multi1d<LatticeColorMatrix>,
31  multi1d<LatticeColorMatrix>,
32  LatticeFermion>
33  {
34  public:
35  // Typedefs to save typing
36  typedef LatticeFermion T;
37  typedef multi1d<LatticeColorMatrix> P;
38  typedef multi1d<LatticeColorMatrix> Q;
39 
40  // Construct out of a parameter struct. Check against the desired FermAct name
42 
43  protected:
44 
45  T& getPhi() {
46  return phi;
47  }
48 
49  const T& getPhi() const {
50  return phi;
51  }
52 
54  return *fermact_num;
55  }
56 
58  return *fermact_den;
59  }
60 
61 
63  return *chrono_predictor;
64  };
65 
66  //! Get parameters for the inverter
67  const GroupXML_t& getNumerInvParams() const {
68  return invParam_num;
69  }
70 
71  //! Get parameters for the inverter
72  const GroupXML_t& getDenomActionInvParams(void) const {
73  return actionInvParam_den;
74  }
75 
76  //! Get parameters for the inverter
77  const GroupXML_t& getDenomForceInvParams(void) const {
78  return forceInvParam_den;
79  }
80 
81  //! Return the partial fraction expansion for the force calc
82  const RemezCoeff_t& getDenomFPFE() const {return fpfe_den;}
83 
84  //! Return the partial fraction expansion for the action calc
85  const RemezCoeff_t& getDenomSPFE() const {return spfe_den;}
86 
87  //! Return the partial fraction expansion for the heat-bath
88  const RemezCoeff_t& getDenomSIPFE() const {return sipfe_den;}
89 
90  private:
91 
92  // Hide empty constructor and =
95 
96  // Pseudofermion field phi
97  T phi;
98 
100 
101  // A handle for the EvenOddPrecWilsonFermAct
103 
105 
106  // The parameters for the inversion
108 
109  // The parameters for the inversion
112 
113  // Coefficients and roots of partial fractions
117  };
118 
119 
120 } //end namespace chroma
121 
122 #endif
Abstract interface for a Chronological Solution predictor.
const T & getPhi() const
Accessor for pseudofermion with Pf index i (read only)
const EvenOddPrecWilsonTypeFermAct< T, P, Q > & getNumerFermAct() const
Get at fermion action.
const RemezCoeff_t & getDenomFPFE() const
Return the partial fraction expansion for the force calc.
AbsChronologicalPredictor4D< T > & getMDSolutionPredictor()
Get the initial guess predictor.
const RemezCoeff_t & getDenomSIPFE() const
Return the partial fraction expansion for the heat-bath.
const RemezCoeff_t & getDenomSPFE() const
Return the partial fraction expansion for the action calc.
void operator=(const EvenOddPrecConstDetTwoFlavorRatioConvRatWilsonTypeFermMonomial &)
const EvenOddPrecWilsonTypeFermAct< T, P, Q > & getDenomFermAct() const
Get at the preconditioned fermion actions.
Even-odd preconditioned Wilson-like fermion actions including derivatives.
Class for counted reference semantics.
Definition: handle.h:33
Exact 2 degen flavor even-odd preconditioned RatioConvRat type fermact monomial.
Field state.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
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.