Bridge++  Ver. 2.0.2
force_G_Rectangle_SF.h
Go to the documentation of this file.
1 
15 #ifndef FORCE_G_RECTANGLE_SF_INCLUDED
16 #define FORCE_G_RECTANGLE_SF_INCLUDED
17 
18 #include "force_G.h"
19 
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
104 {
105  public:
106  static const std::string class_name;
107 
108  private:
110 
111  //- NB. m_U has been defined in force_G.h
112  // Field_G *m_U;
113 
114  int m_Nc;
115 
116  double m_beta;
117  double m_c_plaq;
118  double m_c_rect;
119 
120  std::string m_label;
121 
124 
127  // double *m_phi;
128  // double *m_phipr;
130  double m_ct;
132  double m_ctr;
133 
134  // raw parameter
135  std::vector<double> m_phi, m_phipr;
136 
137  public:
139  : m_vl(CommonParameters::Vlevel()), m_Nc(CommonParameters::Nc()), m_wk(m_Nc), m_wkpr(m_Nc)
140  {
141  }
142 
144  : m_vl(CommonParameters::Vlevel()), m_Nc(CommonParameters::Nc()), m_wk(m_Nc), m_wkpr(m_Nc)
145  {
146  set_parameters(params);
147  }
148 
150 
151  void set_parameters(const Parameters& params);
152 
153  void set_parameters(const double beta, const double c_plaq, const double c_rect,
154  double *phi, double *phipr, const double ct, const double ctr);
155 
156  void get_parameters(Parameters& params) const;
157 
158  //- NB. set_config has been defined in force_G.h
159  // void set_config(Field *U);
160 
161  void force_core(Field&);
162 
163 #ifdef USE_FACTORY
164  private:
165  static Force_G *create_object()
166  {
167  return new Force_G_Rectangle_SF();
168  }
169 
170  static Force_G *create_object_with_params(const Parameters& params)
171  {
172  return new Force_G_Rectangle_SF(params);
173  }
174 
175  public:
176  static bool register_factory()
177  {
178  bool init = true;
179  init &= Force_G::Factory::Register("Force_G_Rectangle_SF", create_object);
180  init &= Force_G::Factory_params::Register("Force_G_Rectangle_SF", create_object_with_params);
181  return init;
182  }
183 #endif
184 };
185 #endif
bridgeIO.h
Force_G_Rectangle_SF
HMC force class for rectangular gauge action with the SF BC.
Definition: force_G_Rectangle_SF.h:103
Force_G_Rectangle_SF::get_parameters
void get_parameters(Parameters &params) const
Definition: force_G_Rectangle_SF.cpp:69
Force_G_Rectangle_SF::~Force_G_Rectangle_SF
~Force_G_Rectangle_SF()
Definition: force_G_Rectangle_SF.h:149
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Force_G_Rectangle_SF::Force_G_Rectangle_SF
Force_G_Rectangle_SF(const Parameters &params)
Definition: force_G_Rectangle_SF.h:143
Force_G_Rectangle_SF::m_phipr
std::vector< double > m_phipr
Definition: force_G_Rectangle_SF.h:135
Force_G_Rectangle_SF::m_c_plaq
double m_c_plaq
Definition: force_G_Rectangle_SF.h:117
Force_G_Rectangle_SF::m_vl
Bridge::VerboseLevel m_vl
Definition: force_G_Rectangle_SF.h:109
Parameters
Class for parameters.
Definition: parameters.h:46
Force_G_Rectangle_SF::m_shift
ShiftField_lex m_shift
Definition: force_G_Rectangle_SF.h:123
Force_G_Rectangle_SF::m_wkpr
Mat_SU_N m_wkpr
Definition: force_G_Rectangle_SF.h:126
Force_G_Rectangle_SF::m_beta
double m_beta
Definition: force_G_Rectangle_SF.h:116
Force_G
Base class of gauge force calculation.
Definition: force_G.h:31
Staple_SF
Staple construction.
Definition: staple_SF.h:36
Force_G_Rectangle_SF::m_ctr
double m_ctr
SF boundary improvement coefficient for the rectangle action.
Definition: force_G_Rectangle_SF.h:132
Force_G_Rectangle_SF::m_Nc
int m_Nc
Definition: force_G_Rectangle_SF.h:114
SU_N::Mat_SU_N
Definition: mat_SU_N.h:36
Force_G_Rectangle_SF::m_label
std::string m_label
Definition: force_G_Rectangle_SF.h:120
force_G.h
Force_G_Rectangle_SF::m_ct
double m_ct
SF boundary improvement coefficient for the plaquatte action.
Definition: force_G_Rectangle_SF.h:130
ShiftField_lex
Methods to shift a field in the lexical site index.
Definition: shiftField_lex.h:39
Force_G_Rectangle_SF::m_staple
Staple_SF m_staple
Definition: force_G_Rectangle_SF.h:122
staple_SF.h
Force_G_Rectangle_SF::set_parameters
void set_parameters(const Parameters &params)
Definition: force_G_Rectangle_SF.cpp:25
Force_G_Rectangle_SF::class_name
static const std::string class_name
Definition: force_G_Rectangle_SF.h:106
Force_G_Rectangle_SF::m_c_rect
double m_c_rect
Definition: force_G_Rectangle_SF.h:118
Field
Container of Field-type object.
Definition: field.h:46
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Force_G_Rectangle_SF::m_wk
Mat_SU_N m_wk
SF boundary condition.
Definition: force_G_Rectangle_SF.h:126
Force_G_Rectangle_SF::Force_G_Rectangle_SF
Force_G_Rectangle_SF()
Definition: force_G_Rectangle_SF.h:138
Force_G_Rectangle_SF::force_core
void force_core(Field &)
Definition: force_G_Rectangle_SF.cpp:230
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Force_G_Rectangle_SF::m_phi
std::vector< double > m_phi
Definition: force_G_Rectangle_SF.h:135