Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
force_F_Clover_Nf2.h
Go to the documentation of this file.
1 
14 #ifndef FORCE_F_CLOVER_NF2_INCLUDED
15 #define FORCE_F_CLOVER_NF2_INCLUDED
16 
17 #include "Fopr/fopr_Clover.h"
18 
19 #include "force_F_Wilson_Nf2.h"
20 #include "force_F_CloverTerm.h"
21 
23 
24 #include "IO/bridgeIO.h"
25 using Bridge::vout;
26 
28 
38 class Force_F_Clover_Nf2 : public Force
39 {
40  public:
41  static const std::string class_name;
42 
43  private:
44  double m_kappa;
45  double m_cSW;
46  std::vector<int> m_boundary;
47 
48  std::string m_repr;
49 
50 // Field_G *m_U; //!< pointer to gauge field
51  int m_Ndim;
56 
57  public:
58 
60  : Force()
61  {
62  init("Dirac");
63  }
64 
66  Force_F_Clover_Nf2(const std::string repr)
67  : Force()
68  {
69  init(repr);
70  }
71 
74  {
75  tidyup();
76  }
77 
79  void set_parameters(const Parameters& params);
80 
82  void set_parameters(const double kappa, const double cSW,
83  const std::vector<int> bc);
84 
86  void set_config(Field *U)
87  {
88  m_U = (Field_G *)U;
89  m_fopr_c->set_config(U);
92  set_component();
93  }
94 
96  void force_udiv(Field& force, const Field& eta);
97 
99  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
100 
101  private:
102  void init(const std::string);
103  void tidyup();
104 
106  void force_udiv1_impl(Field_G& force, const Field_F& zeta, const Field_F& eta);
107 
109  void set_component();
110 
111  int index_dir(const int mu, const int nu)
112  {
113  return mu + m_Ndim * nu;
114  }
115 };
116 #endif
int index_dir(const int mu, const int nu)
double m_kappa
hopping parameter
BridgeIO vout
Definition: bridgeIO.cpp:503
Container of Field-type object.
Definition: field.h:45
~Force_F_Clover_Nf2()
Deconstructor.
Field_G * m_U
Definition: force_F.h:68
Base class of fermion force calculation.
Definition: force_F.h:31
double m_cSW
clover coefficient
Class for parameters.
Definition: parameters.h:46
int m_Ndim
spacetime dimension
Force_F_Clover_Nf2(const std::string repr)
Construction with gamma matrix representation.
Wilson-type fermion field.
Definition: field_F.h:37
Clover fermion operator.
Definition: fopr_Clover.h:42
void set_parameters(const Parameters &params)
Setting parameters of clover fermion force.
void set_config(Field *U)
Setting gauge configuration.
void set_config(Field *U)
std::vector< int > m_boundary
boundary conditions
void force_udiv1_impl(Field_G &force, const Field_F &zeta, const Field_F &eta)
Core implemetation of clover force calculation.
void set_config(Field *U)
setting pointer to the gauge configuration.
Definition: fopr_Clover.h:84
SU(N) gauge field.
Definition: field_G.h:38
Force calculation for clover quark action.
Force_F_CloverTerm * m_force_csw
Clover term force.
void init(const std::string)
void force_udiv(Field &force, const Field &eta)
For recursive calculation of smeared force.
void set_config(Field *U)
Setting gauge configuration.
Force for the standard Wilson fermion operator.
Field_G * m_Cud
for force calculation
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
For recursive calculation of smeared force.
void set_component()
Set building components for force calculation.
Force_F_Wilson_Nf2 * m_force_w
Wilson fermion force.
std::string m_repr
gamma matrix representation
static const std::string class_name
Fopr_Clover * m_fopr_c
fermion operator
Force calculation for clover term of clover fermion.