Bridge++  Ver. 1.3.x
gradientFlow.h
Go to the documentation of this file.
1 
13 #ifndef GRADIENTFLOW_INCLUDED
14 #define GRADIENTFLOW_INCLUDED
15 
16 #include "action.h"
17 #include "staples.h"
18 
19 #ifdef USE_PARAMETERS_FACTORY
20 #include "parameters_factory.h"
21 #endif
22 
23 #include "bridgeIO.h"
24 using Bridge::vout;
25 
27 
43 //- parameters class
44 class Parameters_GradientFlow : virtual public Parameters
45 {
46  public:
48 };
49 //- end
50 
52 {
53  public:
54  static const std::string class_name;
55 
56  protected:
58 
59  private:
61  double m_Estep;
62  int m_Nprec;
63  double m_tol_RK, m_safety;
64  bool m_adaptive;
65 
68 
69  // class family for flow algorithm
70  class RungeKutta;
71 
72  class RungeKutta_1st;
73  class RungeKutta_2nd;
74  class RungeKutta_3rd;
75  class RungeKutta_4th;
76 
78 
80 
81  public:
82  GradientFlow(Action *action);
83 
85 
86  ~GradientFlow();
87 
88  private:
89  // non-copyable
90  GradientFlow(const GradientFlow&);
92 
93  public:
94  void set_parameters(const Parameters& params);
95  void set_parameters(const int order_RK,
96  const double Estep, const int Nprec,
97  const double tol_RK, const double safety,
98  const int is_adaptive);
99 
100  void set_parameter_order(const int order, const bool is_adaptive);
101 
103 
104  void initialize();
105 
106  double evolve(double& t_flow, Field_G& U);
107 };
108 #endif
static const std::string class_name
Definition: gradientFlow.h:54
double m_Estep
Definition: gradientFlow.h:61
BridgeIO vout
Definition: bridgeIO.cpp:278
GradientFlow construction.
Definition: gradientFlow.h:44
Action * m_action
Definition: gradientFlow.h:66
Staple construction.
Definition: staples.h:40
void set_parameter_order(const int order, const bool is_adaptive)
GradientFlow(Action *action)
Class for parameters.
Definition: parameters.h:38
Base class of HMC action class family.
Definition: action.h:42
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: gradientFlow.h:102
SU(N) gauge field.
Definition: field_G.h:38
Bridge::VerboseLevel vl
Definition: checker.cpp:18
Bridge::VerboseLevel m_vl
Definition: gradientFlow.h:57
VerboseLevel
Definition: bridgeIO.h:39
double m_tol_RK
Definition: gradientFlow.h:63
RungeKutta * m_impl
Definition: gradientFlow.h:77
GradientFlow & operator=(const GradientFlow &)
double evolve(double &t_flow, Field_G &U)
double m_safety
Definition: gradientFlow.h:63
void initialize()
void set_parameters(const Parameters &params)
Staples m_staple
Definition: gradientFlow.h:67