Bridge++  Ver. 2.0.2
action_G_Rectangle_SF.h
Go to the documentation of this file.
1 
15 #ifndef ACTION_G_RECTANGLE_SF_INCLUDED
16 #define ACTION_G_RECTANGLE_SF_INCLUDED
17 
18 #include "Action/action.h"
20 
21 #include "IO/bridgeIO.h"
22 using Bridge::vout;
23 
25 
104 {
105  public:
106  static const std::string class_name;
107 
108  private:
110 
111  int m_Nc;
112 
113  double m_beta;
114  double m_c_plaq;
115  double m_c_rect;
116 
117  std::string m_label;
118 
123 
126  // double *m_phi;
127  // double *m_phipr;
128  double m_ct;
129  double m_ctr;
130 
131  // raw parameter values
132  std::vector<double> m_phi;
133  std::vector<double> m_phipr;
134 
135  public:
137  : m_vl(CommonParameters::Vlevel()),
139  {
140  m_force_G = Force_G::New("Force_G_Rectangle_SF");
141  }
142 
144  : m_vl(CommonParameters::Vlevel()),
146  {
147  m_force_G = new Force_G_Rectangle_SF(params);
148  set_parameters(params);
149  }
150 
152  {
153  delete m_force_G;
154  }
155 
156  void set_parameters(const Parameters& params);
157 
158  void set_parameters(const double beta, const double c_plaq, const double c_rect,
159  double *phi, double *phipr,
160  const double ct, double ctr);
161 
162  void get_parameters(Parameters& params) const;
163 
164  void set_label(const std::string label)
165  {
166  m_label = label;
167  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
168  }
169 
170  std::string get_label()
171  {
172  return m_label;
173  }
174 
175  void set_config(Field *U)
176  {
177  m_U = (Field_G *)U;
178  }
179 
180  double langevin(RandomNumbers *);
181 
182  double calcH();
183 
184  void force(Field&);
185 
186 #ifdef USE_FACTORY
187  private:
188  static Action *create_object()
189  {
190  return new Action_G_Rectangle_SF();
191  }
192 
193  static Action *create_object_with_params(const Parameters& params)
194  {
195  return new Action_G_Rectangle_SF(params);
196  }
197 
198  public:
199  static bool register_factory()
200  {
201  bool init = true;
202  init &= Action::Factory::Register("Action_G_Rectangle_SF", create_object);
203  init &= Action::Factory_params::Register("Action_G_Rectangle_SF", create_object_with_params);
204  return init;
205  }
206 #endif
207 };
208 
209 #endif
Action_G_Rectangle_SF::m_ct
double m_ct
SF boundary improvement coefficient for the plaquatte action.
Definition: action_G_Rectangle_SF.h:128
bridgeIO.h
Force_G_Rectangle_SF
HMC force class for rectangular gauge action with the SF BC.
Definition: force_G_Rectangle_SF.h:103
Action_G_Rectangle_SF::m_shift
ShiftField_lex m_shift
Definition: action_G_Rectangle_SF.h:121
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
force_G_Rectangle_SF.h
Parameters
Class for parameters.
Definition: parameters.h:46
Action_G_Rectangle_SF::~Action_G_Rectangle_SF
~Action_G_Rectangle_SF()
Definition: action_G_Rectangle_SF.h:151
Bridge::BridgeIO::detailed
void detailed(const char *format,...)
Definition: bridgeIO.cpp:219
RandomNumbers
Base class of random number generators.
Definition: randomNumbers.h:43
Action_G_Rectangle_SF::m_wkpr
Mat_SU_N m_wkpr
Definition: action_G_Rectangle_SF.h:125
Action_G_Rectangle_SF::m_c_plaq
double m_c_plaq
Definition: action_G_Rectangle_SF.h:114
Force_G
Base class of gauge force calculation.
Definition: force_G.h:31
Action_G_Rectangle_SF::m_wk
Mat_SU_N m_wk
SF boundary condition.
Definition: action_G_Rectangle_SF.h:125
Staple_SF
Staple construction.
Definition: staple_SF.h:36
Action
Base class of HMC action class family.
Definition: action.h:36
action.h
Action_G_Rectangle_SF::set_config
void set_config(Field *U)
setting pointer to the gauge configuration.
Definition: action_G_Rectangle_SF.h:175
Action_G_Rectangle_SF::class_name
static const std::string class_name
Definition: action_G_Rectangle_SF.h:106
Action_G_Rectangle_SF::m_phi
std::vector< double > m_phi
Definition: action_G_Rectangle_SF.h:132
Action_G_Rectangle_SF::Action_G_Rectangle_SF
Action_G_Rectangle_SF()
Definition: action_G_Rectangle_SF.h:136
Action_G_Rectangle_SF::m_label
std::string m_label
Definition: action_G_Rectangle_SF.h:117
Action_G_Rectangle_SF::m_Nc
int m_Nc
Definition: action_G_Rectangle_SF.h:111
Action_G_Rectangle_SF::m_ctr
double m_ctr
SF boundary improvement coefficient for the rectangle action.
Definition: action_G_Rectangle_SF.h:129
Action_G_Rectangle_SF::get_label
std::string get_label()
Definition: action_G_Rectangle_SF.h:170
SU_N::Mat_SU_N
Definition: mat_SU_N.h:36
Action_G_Rectangle_SF::langevin
double langevin(RandomNumbers *)
Langevis step.
Definition: action_G_Rectangle_SF.cpp:179
Action_G_Rectangle_SF::set_label
void set_label(const std::string label)
Definition: action_G_Rectangle_SF.h:164
Action_G_Rectangle_SF::m_force_G
Force_G * m_force_G
Definition: action_G_Rectangle_SF.h:122
Action_G_Rectangle_SF
HMC action class for rectangular gauge action with the SF BC.
Definition: action_G_Rectangle_SF.h:103
ShiftField_lex
Methods to shift a field in the lexical site index.
Definition: shiftField_lex.h:39
Action_G_Rectangle_SF::Action_G_Rectangle_SF
Action_G_Rectangle_SF(const Parameters &params)
Definition: action_G_Rectangle_SF.h:143
Action_G_Rectangle_SF::m_U
Field_G * m_U
Definition: action_G_Rectangle_SF.h:119
Action_G_Rectangle_SF::m_staple
Staple_SF m_staple
Definition: action_G_Rectangle_SF.h:120
Action_G_Rectangle_SF::m_vl
Bridge::VerboseLevel m_vl
Definition: action_G_Rectangle_SF.h:109
Action_G_Rectangle_SF::m_phipr
std::vector< double > m_phipr
Definition: action_G_Rectangle_SF.h:133
Action_G_Rectangle_SF::m_beta
double m_beta
Definition: action_G_Rectangle_SF.h:113
Field
Container of Field-type object.
Definition: field.h:46
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Action_G_Rectangle_SF::force
void force(Field &)
Definition: action_G_Rectangle_SF.cpp:391
Action_G_Rectangle_SF::get_parameters
void get_parameters(Parameters &params) const
Definition: action_G_Rectangle_SF.cpp:72
Action_G_Rectangle_SF::m_c_rect
double m_c_rect
Definition: action_G_Rectangle_SF.h:115
Action_G_Rectangle_SF::calcH
double calcH()
Definition: action_G_Rectangle_SF.cpp:230
Action_G_Rectangle_SF::set_parameters
void set_parameters(const Parameters &params)
Definition: action_G_Rectangle_SF.cpp:25
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512