Bridge++  Ver. 2.0.2
gradientFlow.h
Go to the documentation of this file.
1 
13 #ifndef GRADIENTFLOW_INCLUDED
14 #define GRADIENTFLOW_INCLUDED
15 
21 
22 #include "staple_lex.h"
23 
24 #include "topologicalCharge.h"
25 
26 #include "IO/bridgeIO.h"
27 using Bridge::vout;
28 
30 
48 {
49  public:
50  static const std::string class_name;
51 
52  protected:
54 
55  private:
57  double m_Estep;
58  int m_Nprec;
59  double m_tolerance;
60  double m_safety;
62 
65 
67 
68  public:
69  GradientFlow(Action *action);
70 
71  GradientFlow(Action *action, const Parameters& params);
72 
73  ~GradientFlow();
74 
75  private:
76  // non-copyable
77  GradientFlow(const GradientFlow&);
79 
80  public:
81  void set_parameters(const Parameters& params);
82  void set_parameters(const int Norder_RK,
83  const double Estep, const int Nprec,
84  const int adaptive,
85  const double tolerance, const double safety); // backward compability
86  void set_parameters(const int Norder_RK,
87  const double Estep, const int Nprec,
88  const bool adaptive,
89  const double tolerance, const double safety);
90  void set_parameter_Norder_RK(const int order, const bool is_adaptive);
91 
92  void get_parameters(Parameters& params) const;
93 
94  void initialize();
95 
96  double evolve(double& t, Field_G& U);
97 
99  double evolve(Field_G& U, int ntau);
100 
102  double evolve_wt_output(Field_G& U);
103 
105  double evolve_wo_output(Field_G& U);
106 };
107 #endif
topologicalCharge.h
gradientFlow_RungeKutta_1st.h
bridgeIO.h
GradientFlow::evolve_wo_output
double evolve_wo_output(Field_G &U)
Mainly used for adjoint flow of fermion field.
GradientFlow::m_staple
Staple_lex m_staple
Definition: gradientFlow.h:64
GradientFlow::m_action
Action * m_action
Definition: gradientFlow.h:63
GradientFlow::GradientFlow
GradientFlow(Action *action)
Definition: gradientFlow.cpp:19
Parameters
Class for parameters.
Definition: parameters.h:46
GradientFlow::m_vl
Bridge::VerboseLevel m_vl
Definition: gradientFlow.h:53
GradientFlow::m_is_adaptive
bool m_is_adaptive
Definition: gradientFlow.h:61
GradientFlow::initialize
void initialize()
Definition: gradientFlow.cpp:40
GradientFlow::m_tolerance
double m_tolerance
Definition: gradientFlow.h:59
Action
Base class of HMC action class family.
Definition: action.h:36
GradientFlow::m_impl
GradientFlow_RungeKutta * m_impl
Definition: gradientFlow.h:66
gradientFlow_AdaptiveRungeKutta.h
GradientFlow::m_safety
double m_safety
Definition: gradientFlow.h:60
GradientFlow::class_name
static const std::string class_name
Definition: gradientFlow.h:50
GradientFlow::m_Estep
double m_Estep
Definition: gradientFlow.h:57
staple_lex.h
GradientFlow::get_parameters
void get_parameters(Parameters &params) const
Definition: gradientFlow.cpp:94
gradientFlow_RungeKutta_2nd.h
GradientFlow::set_parameter_Norder_RK
void set_parameter_Norder_RK(const int order, const bool is_adaptive)
Definition: gradientFlow.cpp:166
GradientFlow::~GradientFlow
~GradientFlow()
Definition: gradientFlow.cpp:48
GradientFlow::m_Norder_RK
int m_Norder_RK
Definition: gradientFlow.h:56
Staple_lex
Staple construction.
Definition: staple_lex.h:39
GradientFlow::evolve
double evolve(double &t, Field_G &U)
Definition: gradientFlow.cpp:200
GradientFlow::evolve_wt_output
double evolve_wt_output(Field_G &U)
Mainly used for gauge field flow.
gradientFlow_RungeKutta_4th.h
GradientFlow_RungeKutta
GradientFlow_RungeKutta construction.
Definition: gradientFlow_RungeKutta.h:29
GradientFlow::set_parameters
void set_parameters(const Parameters &params)
Definition: gradientFlow.cpp:55
GradientFlow::operator=
GradientFlow & operator=(const GradientFlow &)
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
GradientFlow
GradientFlow construction.
Definition: gradientFlow.h:47
gradientFlow_RungeKutta_3rd.h
GradientFlow::m_Nprec
int m_Nprec
Definition: gradientFlow.h:58
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512