Bridge++  Ver.2.1.3
force_F_Clover_SF.h
Go to the documentation of this file.
1 
10 #ifndef FORCE_F_CLOVER_SF_INCLUDED
11 #define FORCE_F_CLOVER_SF_INCLUDED
12 
15 #include "lib/Field/field_SF.h"
18 #include "lib/IO/bridgeIO.h"
19 using Bridge::vout;
20 
22 
34 class Force_F_Clover_SF : public Force
35 {
36  public:
37  static const std::string class_name;
38 
39  private:
40  int m_Ndim;
41  double m_kappa;
42  double m_cSW;
43  std::vector<int> m_boundary;
44  std::string m_repr;
46 
49 
51 
53 
54  std::vector<double> m_phi;
55  std::vector<double> m_phipr;
56 
59 
62 
67 
69 
72 
77 
82 
83  public:
84 
88  { init(); }
89 
92  { init(params); }
93 
95 
96  void set_parameters(const Parameters& params);
97 
99  void set_parameters(const double kappa,
100  const double cSW,
101  const std::vector<int> bc,
102  const std::vector<double> phi,
103  const std::vector<double> phipr);
104 
105  void get_parameters(Parameters& params) const;
106 
108  void set_config(Field *U);
109 
111  void force_udiv(Field& force, const Field& eta);
112 
114  void force_udiv1(Field& force, const Field& zeta, const Field& eta);
115 
116  private:
117 
118  void init();
119 
120  void init(const Parameters& params);
121 
122  void tidyup();
123 
124  void set_parameters_impl(const Parameters& params);
125 
127  void set_parameters_impl(const double kappa,
128  const double cSW,
129  const std::vector<int> bc,
130  const std::vector<double> phi,
131  const std::vector<double> phipr);
132 
134  void force_udiv1_impl(Field_G& force,
135  const Field_F& zeta, const Field_F& eta);
136 
138  void set_component();
139 
140  void set_boundary_zero(Field_F& f);
141 
142  int index_dir(const int mu, const int nu)
143  { return mu + m_Ndim * nu; }
144 };
145 
146 #endif
Force_F_Clover_SF::m_eta3
Field_F * m_eta3
Definition: force_F_Clover_SF.h:64
Force_F_Clover_SF::m_Ut2
Field_G * m_Ut2
Definition: force_F_Clover_SF.h:74
Force_F_Clover_SF::force_udiv
void force_udiv(Field &force, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_Clover_SF.cpp:334
bridgeIO.h
Force_F_Clover_SF::m_cSW
double m_cSW
clover coefficient
Definition: force_F_Clover_SF.h:42
Force_F_Clover_SF::~Force_F_Clover_SF
~Force_F_Clover_SF()
Definition: force_F_Clover_SF.h:94
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Force_F_Clover_SF::m_zeta2
Field_F * m_zeta2
Definition: force_F_Clover_SF.h:66
Force_F_Clover_SF::force_udiv1
void force_udiv1(Field &force, const Field &zeta, const Field &eta)
For recursive calculation of smeared force.
Definition: force_F_Clover_SF.cpp:364
Force_F_Clover_SF::set_config
void set_config(Field *U)
Setting gauge configuration.
Definition: force_F_Clover_SF.cpp:321
Parameters
Class for parameters.
Definition: parameters.h:46
Force_F_Clover_SF::m_eta2
Field_F * m_eta2
Definition: force_F_Clover_SF.h:63
Force_F_Clover_SF::m_force2
Field_G * m_force2
Definition: force_F_Clover_SF.h:68
force_F_Wilson_SF.h
Force_F_Clover_SF::Force_F_Clover_SF
Force_F_Clover_SF(const Parameters &params)
Definition: force_F_Clover_SF.h:90
Force_F_Clover_SF::m_shift
ShiftField_lex * m_shift
Definition: force_F_Clover_SF.h:52
Force_F_Clover_SF::m_repr
std::string m_repr
gamma matrix representation
Definition: force_F_Clover_SF.h:44
Force_F_Clover_SF::m_Unu
Field_G * m_Unu
Definition: force_F_Clover_SF.h:76
Force_F_Clover_SF::m_Umu
Field_G * m_Umu
Definition: force_F_Clover_SF.h:75
Staple_SF
Staple construction.
Definition: staple_SF.h:32
Force_F_Clover_SF::index_dir
int index_dir(const int mu, const int nu)
Definition: force_F_Clover_SF.h:142
Force_F_Clover_SF
Force calculation for clover quark action with SF BC.
Definition: force_F_Clover_SF.h:34
Force_F_Clover_SF::m_staple
Staple_SF * m_staple
Definition: force_F_Clover_SF.h:50
Force_F_Clover_SF::m_wkpr
Mat_SU_N m_wkpr
SF boundary condition at t=Nt.
Definition: force_F_Clover_SF.h:58
Force_F_Clover_SF::init
void init()
initializer.
Definition: force_F_Clover_SF.cpp:93
Fopr_Clover_SF
Clover fermion operator.
Definition: fopr_Clover_SF.h:43
Force_F_Clover_SF::m_fopr_c
Fopr_Clover_SF * m_fopr_c
Definition: force_F_Clover_SF.h:47
Force_F_Clover_SF::m_eta
Field_F * m_eta
Definition: force_F_Clover_SF.h:60
Force_F_Clover_SF::m_zeta1
Field_F * m_zeta1
Definition: force_F_Clover_SF.h:65
Force_F_Clover_SF::m_force1
Field_G * m_force1
Definition: force_F_Clover_SF.h:71
Force_F_Clover_SF::m_zeta
Field_F * m_zeta
Definition: force_F_Clover_SF.h:61
Force_F_Clover_SF::m_vt4
Field_F * m_vt4
Definition: force_F_Clover_SF.h:81
Force_F_Clover_SF::m_Ut1
Field_G * m_Ut1
Definition: force_F_Clover_SF.h:73
Force_F_Clover_SF::m_vt3
Field_F * m_vt3
Definition: force_F_Clover_SF.h:80
SU_N::Mat_SU_N
Definition: mat_SU_N.h:36
Force_F_Clover_SF::tidyup
void tidyup()
finalizer.
Definition: force_F_Clover_SF.cpp:150
Force_F_Clover_SF::class_name
static const std::string class_name
Definition: force_F_Clover_SF.h:37
AForce_F< Field >
field_SF.h
Force_F_Clover_SF::m_Cud
Field_G * m_Cud
for force calculation
Definition: force_F_Clover_SF.h:70
ShiftField_lex
Methods to shift a field in the lexical site index.
Definition: shiftField_lex.h:39
Force_F_Clover_SF::set_parameters
void set_parameters(const Parameters &params)
sets parameters by a Parameter object: to be implemented in a subclass.
Definition: force_F_Clover_SF.cpp:182
Force_F_Clover_SF::m_kappa
double m_kappa
hopping parameter
Definition: force_F_Clover_SF.h:41
Force_F_Clover_SF::set_boundary_zero
void set_boundary_zero(Field_F &f)
Definition: force_F_Clover_SF.cpp:519
staple_SF.h
Force_F_Clover_SF::m_vt1
Field_F * m_vt1
Definition: force_F_Clover_SF.h:78
fopr_Clover_SF.h
Force_F_Clover_SF::m_vt2
Field_F * m_vt2
Definition: force_F_Clover_SF.h:79
Field_F
Wilson-type fermion field.
Definition: field_F.h:37
Force_F_Clover_SF::m_force_w
Force_F_Wilson_SF * m_force_w
Definition: force_F_Clover_SF.h:48
Force_F_Clover_SF::Force_F_Clover_SF
DEPRECATED Force_F_Clover_SF()
Definition: force_F_Clover_SF.h:86
tensorProd.h
Force_F_Clover_SF::get_parameters
void get_parameters(Parameters &params) const
Definition: force_F_Clover_SF.cpp:307
Force_F_Clover_SF::m_wk
Mat_SU_N m_wk
SF boundary condition at t=0.
Definition: force_F_Clover_SF.h:57
Force_F_Clover_SF::m_phi
std::vector< double > m_phi
SF boundary condition at t=0.
Definition: force_F_Clover_SF.h:54
Field
Container of Field-type object.
Definition: field.h:46
Force_F_Clover_SF::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_SF.cpp:380
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:45
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Force_F_Clover_SF::set_component
void set_component()
Set building components for force calculation.
Definition: force_F_Clover_SF.cpp:498
Force_F_Clover_SF::m_phipr
std::vector< double > m_phipr
SF boundary condition at t=Nt.
Definition: force_F_Clover_SF.h:55
Force_F_Clover_SF::m_boundary
std::vector< int > m_boundary
boundary conditions
Definition: force_F_Clover_SF.h:43
Force_F_Wilson_SF
Force for the Wilson quark action with SF BC.
Definition: force_F_Wilson_SF.h:30
DEPRECATED
#define DEPRECATED
Definition: configure.h:28
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:572
Force_F_Clover_SF::m_Ndim
int m_Ndim
Definition: force_F_Clover_SF.h:40
Force_F_Clover_SF::set_parameters_impl
void set_parameters_impl(const Parameters &params)
Definition: force_F_Clover_SF.cpp:192
Force_F_Clover_SF::m_vl
Bridge::VerboseLevel m_vl
verbose level
Definition: force_F_Clover_SF.h:45