Bridge++  Ver. 1.3.x
integrator_Leapfrog.h
Go to the documentation of this file.
1 
14 #ifndef INTEGRATOR_LEAPFROG_INCLUDED
15 #define INTEGRATOR_LEAPFROG_INCLUDED
16 
17 #include "action.h"
18 #include "director.h"
19 #include "integrator.h"
20 #include "randomNumbers.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 
50  Integrator *m_update_p; // momentum updator
51  Integrator *m_update_u; // link variable updator or next level integrator
52 
53  public:
54 
57  : m_level(0), m_Nstep(0),
58  m_update_p(update_p), m_update_u(update_u)
59  {
60  }
61 
64  {
65  }
66 
67  void set_parameters(const Parameters& params);
68  void set_parameters(int level, int nstep);
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 
76  void evolve(const double step_size, Field_G& iP, Field_G& U);
77 
78  // cache management
80  {
81  m_update_p->invalidate_cache();
82  m_update_u->invalidate_cache();
83  }
84 };
85 #endif
~Integrator_Leapfrog()
destructor
BridgeIO vout
Definition: bridgeIO.cpp:278
Integrator_Leapfrog(Integrator *update_p, Integrator *update_u)
constructor
void set_parameters(const Parameters &params)
Class for parameters.
Definition: parameters.h:38
virtual void invalidate_cache()=0
Base class of Integrator class family.
Definition: integrator.h:31
SU(N) gauge field.
Definition: field_G.h:38
Standard leapfrog integrator to compose MD integrator.
static const std::string class_name
void set_parameter_nsteps(const std::vector< int > &nsteps)
void set_parameter_nstep(const int nstep)
void set_parameter_level(const int level)
void evolve(const double step_size, Field_G &iP, Field_G &U)