Bridge++  Ver. 2.0.2
integrator_Omelyan.h
Go to the documentation of this file.
1 
14 #ifndef INTEGRATOR_OMELYAN_INCLUDED
15 #define INTEGRATOR_OMELYAN_INCLUDED
16 
17 #include "integrator.h"
18 
19 #include "IO/bridgeIO.h"
20 using Bridge::vout;
21 
23 
32 {
33  public:
34  static const std::string class_name;
35 
36  private:
37  int m_level; // level number
38  int m_Nstep; // number of steps
39  double m_lambda; // Omelyan's optimized parameter
40 
41  Integrator *m_update_p; // momentum updator
42  Integrator *m_update_U; // link variable updator or next level integrator
43 
44  public:
45 
48  : m_level(0), m_Nstep(0),
49  m_lambda(0.0),
50  m_update_p(update_p), m_update_U(update_U)
51  {
52  }
53 
56 
57  void set_parameters(const Parameters& params);
58  void set_parameters(const int level, const int Nstep, const double lambda_Omelyan);
59 
60  void set_parameter_level(const int level);
61 
62  void set_parameter_Nstep(const int Nstep);
63  void set_parameter_Nsteps(const std::vector<int>& Nsteps);
64 
65  void set_parameter_lambda(const double lambda_omelyan);
66 
67  void get_parameters(Parameters& params) const;
68 
69  void evolve(const double step_size, Field_G& iP, Field_G& U);
70 
71  // cache management
73  {
76  }
77 };
78 #endif
Integrator_Omelyan::class_name
static const std::string class_name
Definition: integrator_Omelyan.h:34
bridgeIO.h
Integrator::invalidate_cache
virtual void invalidate_cache()=0
Integrator_Omelyan::m_update_U
Integrator * m_update_U
Definition: integrator_Omelyan.h:42
Parameters
Class for parameters.
Definition: parameters.h:46
Integrator_Omelyan::set_parameter_Nstep
void set_parameter_Nstep(const int Nstep)
Definition: integrator_Omelyan.cpp:83
Integrator_Omelyan::evolve
void evolve(const double step_size, Field_G &iP, Field_G &U)
Definition: integrator_Omelyan.cpp:112
Integrator_Omelyan::Integrator_Omelyan
Integrator_Omelyan(Integrator *update_p, Integrator *update_U)
constructor
Definition: integrator_Omelyan.h:47
Integrator_Omelyan::set_parameters
void set_parameters(const Parameters &params)
Definition: integrator_Omelyan.cpp:19
Integrator_Omelyan::invalidate_cache
void invalidate_cache()
Definition: integrator_Omelyan.h:72
Integrator_Omelyan::m_update_p
Integrator * m_update_p
Definition: integrator_Omelyan.h:41
Integrator_Omelyan::set_parameter_lambda
void set_parameter_lambda(const double lambda_omelyan)
Definition: integrator_Omelyan.cpp:105
Integrator_Omelyan::set_parameter_level
void set_parameter_level(const int level)
Definition: integrator_Omelyan.cpp:76
Integrator_Omelyan::m_Nstep
int m_Nstep
Definition: integrator_Omelyan.h:38
Integrator_Omelyan
Omelyan integrator to compose MD integrator.
Definition: integrator_Omelyan.h:31
Integrator_Omelyan::get_parameters
void get_parameters(Parameters &params) const
Definition: integrator_Omelyan.cpp:46
Integrator_Omelyan::m_lambda
double m_lambda
Definition: integrator_Omelyan.h:39
Integrator_Omelyan::set_parameter_Nsteps
void set_parameter_Nsteps(const std::vector< int > &Nsteps)
Definition: integrator_Omelyan.cpp:90
Integrator_Omelyan::m_level
int m_level
Definition: integrator_Omelyan.h:37
integrator.h
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Integrator
Base class of Integrator class family.
Definition: integrator.h:29
Integrator_Omelyan::~Integrator_Omelyan
~Integrator_Omelyan()
destructor
Definition: integrator_Omelyan.h:55
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512