Bridge++  Ver.2.1.3
force_F_CloverTerm.h
Go to the documentation of this file.
1 
10 #ifndef FORCE_F_CLOVERTERM_INCLUDED
11 #define FORCE_F_CLOVERTERM_INCLUDED
12 
18 #include "lib/IO/bridgeIO.h"
19 using Bridge::vout;
20 
22 
31 class Force_F_CloverTerm : public Force
32 {
33  public:
34  static const std::string class_name;
35 
36  private:
37  int m_Ndim;
38  double m_kappa;
39  double m_cSW;
40  std::vector<int> m_boundary;
42 
43  std::string m_repr;
44 
46 
48 
51 
54 
57 
61 
65 
70 
71  public:
75  { init("Dirac"); /* default gamma matrix representation */ }
76 
78  Force_F_CloverTerm(const std::string repr)
79  { init(repr); }
80 
82  { init(params); }
83 
86 
88  void set_parameters(const Parameters& params);
89 
91  void set_parameters(const double kappa,
92  const double cSW,
93  const std::vector<int> bc);
94 
96  void get_parameters(Parameters& params) const;
97 
99  void set_config(Field *U);
100 
102  void force_core(Field& force, const Field& eta); // override default
103 
105  void force_udiv(Field& force, const Field& eta);
106 
108  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
109 
110  private:
112  void init(const std::string);
113 
115  void init(const Parameters& params);
116 
118  void tidyup();
119 
121  void set_parameters_impl(const Parameters& params);
122 
124  void set_parameters_impl(const double kappa,
125  const double cSW,
126  const std::vector<int> bc);
127 
129  void force_udiv1_impl(Field_G& force,
130  const Field_F& zeta, const Field_F& eta);
131 
133  void set_component();
134 
135  int index_dir(const int mu, const int nu)
136  { return mu + m_Ndim * nu; }
137 
138 };
139 #endif
Force_F_CloverTerm::m_eta
Field_F * m_eta
Definition: force_F_CloverTerm.h:52
Force_F_CloverTerm::m_vt4
Field_F * m_vt4
Definition: force_F_CloverTerm.h:69
Force_F_CloverTerm::m_force1
Field_G * m_force1
Definition: force_F_CloverTerm.h:55
bridgeIO.h
Force_F_CloverTerm::m_vt3
Field_F * m_vt3
Definition: force_F_CloverTerm.h:68
Force_F_CloverTerm::m_vt1
Field_F * m_vt1
Definition: force_F_CloverTerm.h:66
Force_F_CloverTerm::m_eta2
Field_F * m_eta2
Definition: force_F_CloverTerm.h:62
Parameters
Class for parameters.
Definition: parameters.h:46
Force_F_CloverTerm::tidyup
void tidyup()
final clean-up.
Definition: force_F_CloverTerm.cpp:134
Force_F_CloverTerm::m_vt2
Field_F * m_vt2
Definition: force_F_CloverTerm.h:67
shiftField_lex.h
Force_F_CloverTerm::m_shift
ShiftField_lex * m_shift
Field shifter.
Definition: force_F_CloverTerm.h:49
Force_F_CloverTerm::m_zeta
Field_F * m_zeta
Definition: force_F_CloverTerm.h:53
Force_F_CloverTerm::m_Ut1
Field_G * m_Ut1
Definition: force_F_CloverTerm.h:58
Force_F_CloverTerm::~Force_F_CloverTerm
~Force_F_CloverTerm()
Deconstructor.
Definition: force_F_CloverTerm.h:85
Force_F_CloverTerm
Force calculation for clover term of clover fermion.
Definition: force_F_CloverTerm.h:31
Force_F_CloverTerm::m_Unu
Field_G * m_Unu
Definition: force_F_CloverTerm.h:60
Force_F_CloverTerm::m_zeta_mu
Field_F * m_zeta_mu
Definition: force_F_CloverTerm.h:64
Force_F_CloverTerm::force_udiv1
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_CloverTerm.cpp:286
Force_F_CloverTerm::Force_F_CloverTerm
Force_F_CloverTerm(const Parameters &params)
Definition: force_F_CloverTerm.h:81
Force_F_CloverTerm::set_config
void set_config(Field *U)
Setting gauge configuration.
Definition: force_F_CloverTerm.cpp:254
Force_F_CloverTerm::force_core
void force_core(Field &force, const Field &eta)
Force determination for clover fermion.
Definition: force_F_CloverTerm.cpp:268
Force_F_CloverTerm::m_repr
std::string m_repr
gamma matrix representation
Definition: force_F_CloverTerm.h:43
Force_F_CloverTerm::force_udiv
void force_udiv(Field &force, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_CloverTerm.cpp:277
fopr_CloverTerm.h
Force_F_CloverTerm::set_component
void set_component()
Set building components for force calculation.
Definition: force_F_CloverTerm.cpp:395
Force_F_CloverTerm::set_parameters
void set_parameters(const Parameters &params)
Setting parameters of clover fermion force.
Definition: force_F_CloverTerm.cpp:164
Force_F_CloverTerm::Force_F_CloverTerm
DEPRECATED Force_F_CloverTerm()
Constructor.
Definition: force_F_CloverTerm.h:74
Force_F_CloverTerm::m_boundary
std::vector< int > m_boundary
boundary conditions
Definition: force_F_CloverTerm.h:40
Force_F_CloverTerm::m_kappa
double m_kappa
hopping parameter
Definition: force_F_CloverTerm.h:38
Force_F_CloverTerm::Force_F_CloverTerm
DEPRECATED Force_F_CloverTerm(const std::string repr)
Definition: force_F_CloverTerm.h:78
staple_lex.h
AForce_F< Field >
Force_F_CloverTerm::index_dir
int index_dir(const int mu, const int nu)
Definition: force_F_CloverTerm.h:135
Force_F_CloverTerm::set_parameters_impl
void set_parameters_impl(const Parameters &params)
Setting parameters of clover fermion force.
Definition: force_F_CloverTerm.cpp:172
Force_F_CloverTerm::m_staple
Staple_lex * m_staple
Staple constructor.
Definition: force_F_CloverTerm.h:50
Force_F_CloverTerm::m_eta3
Field_F * m_eta3
Definition: force_F_CloverTerm.h:63
ShiftField_lex
Methods to shift a field in the lexical site index.
Definition: shiftField_lex.h:39
Force_F_CloverTerm::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_CloverTerm.cpp:304
force_F.h
Force_F_CloverTerm::m_fopr_csw
Fopr_CloverTerm * m_fopr_csw
fermion operator
Definition: force_F_CloverTerm.h:45
Force_F_CloverTerm::m_Ndim
int m_Ndim
spacetime dimension
Definition: force_F_CloverTerm.h:37
Staple_lex
Staple construction.
Definition: staple_lex.h:39
AForce_F< Field >::init
virtual void init()
initializer.
Force_F_CloverTerm::m_force2
Field_G * m_force2
Definition: force_F_CloverTerm.h:56
Force_F_CloverTerm::m_Ut2
Field_G * m_Ut2
Definition: force_F_CloverTerm.h:59
Force_F_CloverTerm::m_Cud
Field_G * m_Cud
for force calculation
Definition: force_F_CloverTerm.h:47
Force_F_CloverTerm::m_vl
Bridge::VerboseLevel m_vl
verbose level
Definition: force_F_CloverTerm.h:41
Field_F
Wilson-type fermion field.
Definition: field_F.h:37
Org::Fopr_CloverTerm
Definition: fopr_CloverTerm_impl.h:55
tensorProd.h
Field
Container of Field-type object.
Definition: field.h:46
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:45
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Force_F_CloverTerm::class_name
static const std::string class_name
Definition: force_F_CloverTerm.h:34
DEPRECATED
#define DEPRECATED
Definition: configure.h:28
Force_F_CloverTerm::m_cSW
double m_cSW
clover coefficient
Definition: force_F_CloverTerm.h:39
Force_F_CloverTerm::get_parameters
void get_parameters(Parameters &params) const
Getting parameters of clover fermion force.
Definition: force_F_CloverTerm.cpp:243
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:572