Bridge++  Ver. 1.3.x
integrator_Omelyan.h
Go to the documentation of this file.
1 
14 #ifndef INTEGRATOR_OMELYAN_INCLUDED
15 #define INTEGRATOR_OMELYAN_INCLUDED
16 
17 #include "action.h"
18 #include "director.h"
19 #include "randomNumbers.h"
20 #include "integrator.h"
21 
22 #include "bridgeIO.h"
23 using Bridge::vout;
24 
26 
33 //- parameters class
35 {
36  public:
38 };
39 //- end
40 
42 {
43  public:
44  static const std::string class_name;
45 
46  private:
47  int m_level; // level number
48  int m_Nstep; // number of steps
49  double m_lambda; // Omelyan's optimized parameter
50 
51  Integrator *m_update_p; // momentum updator
52  Integrator *m_update_u; // link variable updator or next level integrator
53 
54  public:
55 
58  : m_level(0), m_Nstep(0),
59  m_lambda(0.0),
60  m_update_p(update_p), m_update_u(update_u)
61  {
62  }
63 
66 
67  void set_parameters(const Parameters& params);
68  void set_parameters(int level, int Nstep, double lambda_Omelyan);
69 
70  void set_parameter_level(const int level);
71 
72  void set_parameter_nstep(const int nstep);
73  void set_parameter_nsteps(const std::vector<int>& nsteps);
74 
75  void set_parameter_lambda(const double lambda_omelyan);
76 
77  void evolve(const double step_size, Field_G& iP, Field_G& U);
78 
79  // cache management
81  {
82  m_update_p->invalidate_cache();
83  m_update_u->invalidate_cache();
84  }
85 };
86 #endif
BridgeIO vout
Definition: bridgeIO.cpp:278
~Integrator_Omelyan()
destructor
void set_parameters(const Parameters &params)
Integrator_Omelyan(Integrator *update_p, Integrator *update_u)
constructor
Class for parameters.
Definition: parameters.h:38
virtual void invalidate_cache()=0
void set_parameter_nsteps(const std::vector< int > &nsteps)
void set_parameter_nstep(const int nstep)
Base class of Integrator class family.
Definition: integrator.h:31
SU(N) gauge field.
Definition: field_G.h:38
void set_parameter_lambda(const double lambda_omelyan)
static const std::string class_name
void evolve(const double step_size, Field_G &iP, Field_G &U)
Omelyan integrator to compose MD integrator.
void set_parameter_level(const int level)