Bridge++  Ver. 2.0.2
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"
21 #include "IO/bridgeIO.h"
22 using Bridge::vout;
23 
25 
35 class Force_F_Clover_Nf2 : public Force
36 {
37  public:
38  static const std::string class_name;
39 
40  private:
42 
43  double m_kappa;
44  double m_cSW;
45  std::vector<int> m_boundary;
46  std::string m_repr;
47 
48  int m_Ndim;
53 
54  public:
57  : m_vl(CommonParameters::Vlevel())
58  {
59  init("Dirac");
60  }
61 
64  Force_F_Clover_Nf2(const std::string repr)
65  : m_vl(CommonParameters::Vlevel())
66  {
67  init(repr);
68  }
69 
71  : m_vl(CommonParameters::Vlevel())
72  {
73  std::string repr = params.get_string("gamma_matrix_type");
74  init(repr);
75  set_parameters(params);
76  }
77 
80  {
81  tidyup();
82  }
83 
85  void set_parameters(const Parameters& params);
86 
88  void set_parameters(const double kappa,
89  const double cSW,
90  const std::vector<int> bc);
91 
93  void get_parameters(Parameters& params) const;
94 
96  void set_config(Field *U)
97  {
98  m_U = (Field_G *)U;
99  m_fopr_c->set_config(U);
100  m_force_w->set_config(U);
102  set_component();
103  }
104 
106  void force_udiv(Field& force, const Field& eta);
107 
109  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
110 
111  private:
112  void init(const std::string);
113  void tidyup();
114 
116  void force_udiv1_impl(Field_G& force, const Field_F& zeta, const Field_F& eta);
117 
119  void set_component();
120 
121  int index_dir(const int mu, const int nu)
122  {
123  return mu + m_Ndim * nu;
124  }
125 };
126 #endif
Force_F_Clover_Nf2::Force_F_Clover_Nf2
DEPRECATED Force_F_Clover_Nf2(const std::string repr)
Construction with gamma matrix representation.
Definition: force_F_Clover_Nf2.h:64
bridgeIO.h
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Force_F_Clover_Nf2::set_config
void set_config(Field *U)
Setting gauge configuration.
Definition: force_F_Clover_Nf2.h:96
Force_F_Clover_Nf2::m_Cud
Field_G * m_Cud
for force calculation
Definition: force_F_Clover_Nf2.h:49
Parameters
Class for parameters.
Definition: parameters.h:46
Force_F_Clover_Nf2::m_force_csw
Force_F_CloverTerm * m_force_csw
Clover term force.
Definition: force_F_Clover_Nf2.h:52
fopr_Clover.h
Force_F_Clover_Nf2::index_dir
int index_dir(const int mu, const int nu)
Definition: force_F_Clover_Nf2.h:121
Force_F_Clover_Nf2::force_udiv
void force_udiv(Field &force, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_Clover_Nf2.cpp:126
Force_F_Clover_Nf2::Force_F_Clover_Nf2
Force_F_Clover_Nf2(const Parameters &params)
Definition: force_F_Clover_Nf2.h:70
Force_F_CloverTerm
Force calculation for clover term of clover fermion.
Definition: force_F_CloverTerm.h:38
Force_F_Clover_Nf2::force_udiv1
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_Clover_Nf2.cpp:146
Force_F_Clover_Nf2::m_fopr_c
Fopr_Clover * m_fopr_c
fermion operator
Definition: force_F_Clover_Nf2.h:50
Fopr_Clover
Clover fermion operator.
Definition: fopr_Clover.h:43
Force_F_Clover_Nf2::get_parameters
void get_parameters(Parameters &params) const
Getting parameters of clover fermion force.
Definition: force_F_Clover_Nf2.cpp:115
Fopr_Clover::set_config
void set_config(Field *U)
sets the gauge configuration.
Definition: fopr_Clover.cpp:195
Force_F_Clover_Nf2::~Force_F_Clover_Nf2
~Force_F_Clover_Nf2()
Deconstructor.
Definition: force_F_Clover_Nf2.h:79
Force::m_U
Field_G * m_U
Definition: force_F.h:66
Force_F_Clover_Nf2::init
void init(const std::string)
Definition: force_F_Clover_Nf2.cpp:20
Force_F_CloverTerm::set_config
void set_config(Field *U)
Setting gauge configuration.
Definition: force_F_CloverTerm.h:97
Force_F_Clover_Nf2::m_repr
std::string m_repr
gamma matrix representation
Definition: force_F_Clover_Nf2.h:46
Force_F_Clover_Nf2::class_name
static const std::string class_name
Definition: force_F_Clover_Nf2.h:38
Force_F_Clover_Nf2
Force calculation for clover quark action.
Definition: force_F_Clover_Nf2.h:35
Force_F_Clover_Nf2::tidyup
void tidyup()
Definition: force_F_Clover_Nf2.cpp:38
staple_lex.h
Force_F_Clover_Nf2::m_force_w
Force_F_Wilson_Nf2 * m_force_w
Wilson fermion force.
Definition: force_F_Clover_Nf2.h:51
Force_F_Clover_Nf2::Force_F_Clover_Nf2
DEPRECATED Force_F_Clover_Nf2()
Definition: force_F_Clover_Nf2.h:56
force_F_CloverTerm.h
Force_F_Clover_Nf2::set_component
void set_component()
Set building components for force calculation.
Definition: force_F_Clover_Nf2.cpp:180
Force_F_Clover_Nf2::force_udiv1_impl
void force_udiv1_impl(Field_G &force, const Field_F &zeta, const Field_F &eta)
Core implemetation of clover force calculation.
Definition: force_F_Clover_Nf2.cpp:162
Force_F_Wilson_Nf2
Force for the standard Wilson fermion operator.
Definition: force_F_Wilson_Nf2.h:38
Field_F
Wilson-type fermion field.
Definition: field_F.h:37
Force_F_Clover_Nf2::m_kappa
double m_kappa
hopping parameter
Definition: force_F_Clover_Nf2.h:43
Force_F_Clover_Nf2::set_parameters
void set_parameters(const Parameters &params)
Setting parameters of clover fermion force.
Definition: force_F_Clover_Nf2.cpp:48
Parameters::get_string
string get_string(const string &key) const
Definition: parameters.cpp:221
Force_F_Clover_Nf2::m_Ndim
int m_Ndim
spacetime dimension
Definition: force_F_Clover_Nf2.h:48
force_F_Wilson_Nf2.h
Field
Container of Field-type object.
Definition: field.h:46
Force_F_Clover_Nf2::m_boundary
std::vector< int > m_boundary
boundary conditions
Definition: force_F_Clover_Nf2.h:45
Force_F_Clover_Nf2::m_cSW
double m_cSW
clover coefficient
Definition: force_F_Clover_Nf2.h:44
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Force_F_Clover_Nf2::m_vl
Bridge::VerboseLevel m_vl
Definition: force_F_Clover_Nf2.h:41
Force_F_Wilson_Nf2::set_config
void set_config(Field *U)
Definition: force_F_Wilson_Nf2.h:96
Force
Base class of fermion force calculation.
Definition: force_F.h:31
DEPRECATED
#define DEPRECATED
Definition: configure.h:28
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512