Bridge++  Ver. 2.0.2
action_G_Plaq_SF.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_G_PLAQ_SF_INCLUDED
15 #define ACTION_G_PLAQ_SF_INCLUDED
16 
17 #include "Action/action.h"
19 
20 #include "IO/bridgeIO.h"
21 using Bridge::vout;
22 
63 class Action_G_Plaq_SF : public Action
64 {
65  public:
66  static const std::string class_name;
67 
68  private:
70 
71  double m_beta;
72 
74  std::vector<double> m_phi;
76  std::vector<double> m_phipr;
78  double m_ct;
79 
80  std::string m_label;
81 
85 
86  public:
88  : m_vl(CommonParameters::Vlevel())
89  {
90  m_force_G = Force_G::New("Force_G_Plaq_SF");
91  }
92 
94  : m_vl(CommonParameters::Vlevel())
95  {
96  // m_force_G = Force_G::New("Force_G_Plaq_SF");
97  m_force_G = new Force_G_Plaq_SF(params);
98  set_parameters(params);
99  }
100 
102  {
103  delete m_force_G;
104  }
105 
106  void set_parameters(const Parameters& params);
107  void set_parameters(const double beta,
108  double *phi, double *phipr,
109  const double ct);
110 
111  void get_parameters(Parameters& params) const;
112 
113  void set_label(const std::string label)
114  {
115  m_label = label;
116  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
117  }
118 
119  std::string get_label()
120  {
121  return m_label;
122  }
123 
124  void set_config(Field *U)
125  {
126  m_U = (Field_G *)U;
127  }
128 
129  double langevin(RandomNumbers *);
130 
131  double calcH();
132 
133  void force(Field&);
134 
135 #ifdef USE_FACTORY
136  private:
137  static Action *create_object()
138  {
139  return new Action_G_Plaq_SF();
140  }
141 
142  static Action *create_object_with_params(const Parameters& params)
143  {
144  return new Action_G_Plaq_SF(params);
145  }
146 
147  public:
148  static bool register_factory()
149  {
150  bool init = true;
151  init &= Action::Factory::Register("Action_G_Plaq_SF", create_object);
152  init &= Action::Factory_params::Register("Action_G_Plaq_SF", create_object_with_params);
153  return init;
154  }
155 #endif
156 };
157 #endif
Action_G_Plaq_SF::force
void force(Field &)
Definition: action_G_Plaq_SF.cpp:177
Action_G_Plaq_SF::m_U
Field_G * m_U
Definition: action_G_Plaq_SF.h:82
bridgeIO.h
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Action_G_Plaq_SF::m_ct
double m_ct
SF boundary improvement coefficient for the plaquatte action.
Definition: action_G_Plaq_SF.h:78
Parameters
Class for parameters.
Definition: parameters.h:46
Force_G_Plaq_SF
HMC force class for plaquette gauge force with SF BC.
Definition: force_G_Plaq_SF.h:64
Bridge::BridgeIO::detailed
void detailed(const char *format,...)
Definition: bridgeIO.cpp:219
RandomNumbers
Base class of random number generators.
Definition: randomNumbers.h:43
Force_G
Base class of gauge force calculation.
Definition: force_G.h:31
Action_G_Plaq_SF::Action_G_Plaq_SF
Action_G_Plaq_SF()
Definition: action_G_Plaq_SF.h:87
Staple_SF
Staple construction.
Definition: staple_SF.h:36
Action_G_Plaq_SF::m_vl
Bridge::VerboseLevel m_vl
Definition: action_G_Plaq_SF.h:69
Action
Base class of HMC action class family.
Definition: action.h:36
Action_G_Plaq_SF::set_parameters
void set_parameters(const Parameters &params)
Definition: action_G_Plaq_SF.cpp:25
Action_G_Plaq_SF::m_staple
Staple_SF m_staple
Definition: action_G_Plaq_SF.h:83
Action_G_Plaq_SF::get_parameters
void get_parameters(Parameters &params) const
Definition: action_G_Plaq_SF.cpp:61
action.h
Action_G_Plaq_SF::set_config
void set_config(Field *U)
setting pointer to the gauge configuration.
Definition: action_G_Plaq_SF.h:124
Action_G_Plaq_SF::set_label
void set_label(const std::string label)
Definition: action_G_Plaq_SF.h:113
Action_G_Plaq_SF::m_label
std::string m_label
Definition: action_G_Plaq_SF.h:80
Action_G_Plaq_SF::get_label
std::string get_label()
Definition: action_G_Plaq_SF.h:119
Action_G_Plaq_SF::m_force_G
Force_G * m_force_G
Definition: action_G_Plaq_SF.h:84
Action_G_Plaq_SF::Action_G_Plaq_SF
Action_G_Plaq_SF(const Parameters &params)
Definition: action_G_Plaq_SF.h:93
force_G_Plaq_SF.h
Action_G_Plaq_SF::langevin
double langevin(RandomNumbers *)
Langevis step.
Definition: action_G_Plaq_SF.cpp:127
Action_G_Plaq_SF::class_name
static const std::string class_name
Definition: action_G_Plaq_SF.h:66
Action_G_Plaq_SF::calcH
double calcH()
Definition: action_G_Plaq_SF.cpp:151
Action_G_Plaq_SF::m_beta
double m_beta
Definition: action_G_Plaq_SF.h:71
Field
Container of Field-type object.
Definition: field.h:46
Action_G_Plaq_SF::~Action_G_Plaq_SF
~Action_G_Plaq_SF()
Definition: action_G_Plaq_SF.h:101
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Action_G_Plaq_SF::m_phipr
std::vector< double > m_phipr
SF boundary condition at t=Nt.
Definition: action_G_Plaq_SF.h:76
Action_G_Plaq_SF::m_phi
std::vector< double > m_phi
SF boundary condition at t=0.
Definition: action_G_Plaq_SF.h:74
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Action_G_Plaq_SF
HMC action class for plaquette gauge action with SF BC.
Definition: action_G_Plaq_SF.h:63