Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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);
71 
72  ~GradientFlow();
73 
74  private:
75  // non-copyable
76  GradientFlow(const GradientFlow&);
78 
79  public:
80  void set_parameters(const Parameters& params);
81  void set_parameters(const int Norder_RK,
82  const double Estep, const int Nprec,
83  const int adaptive,
84  const double tolerance, const double safety); // backward compability
85  void set_parameters(const int Norder_RK,
86  const double Estep, const int Nprec,
87  const bool adaptive,
88  const double tolerance, const double safety);
89  void set_parameter_Norder_RK(const int order, const bool is_adaptive);
90 
92 
93  void initialize();
94 
95  double evolve(double& t, Field_G& U);
96 
98  double evolve(Field_G& U, int ntau);
99 
101  double evolve_wt_output(Field_G& U);
102 
104  double evolve_wo_output(Field_G& U);
105 };
106 #endif
static const std::string class_name
Definition: gradientFlow.h:50
double m_Estep
Definition: gradientFlow.h:57
BridgeIO vout
Definition: bridgeIO.cpp:503
Action * m_action
Definition: gradientFlow.h:63
double evolve(double &t, Field_G &U)
GradientFlow(Action *action)
Class for parameters.
Definition: parameters.h:46
GradientFlow_RungeKutta * m_impl
Definition: gradientFlow.h:66
Base class of HMC action class family.
Definition: action.h:36
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: gradientFlow.h:91
double m_tolerance
Definition: gradientFlow.h:59
Staple construction.
Definition: staple_lex.h:39
SU(N) gauge field.
Definition: field_G.h:38
void set_parameter_Norder_RK(const int order, const bool is_adaptive)
double evolve_wo_output(Field_G &U)
Mainly used for adjoint flow of fermion field.
GradientFlow construction.
Definition: gradientFlow.h:47
Bridge::VerboseLevel vl
Bridge::VerboseLevel m_vl
Definition: gradientFlow.h:53
VerboseLevel
Definition: bridgeIO.h:42
bool m_is_adaptive
Definition: gradientFlow.h:61
GradientFlow & operator=(const GradientFlow &)
double m_safety
Definition: gradientFlow.h:60
double evolve_wt_output(Field_G &U)
Mainly used for gauge field flow.
void initialize()
GradientFlow_RungeKutta construction.
void set_parameters(const Parameters &params)
Staple_lex m_staple
Definition: gradientFlow.h:64