Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
action_F_Rational.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_F_RATIONAL_INCLUDED
15 #define ACTION_F_RATIONAL_INCLUDED
16 
17 #include "Action/action.h"
18 
19 #include "Fopr/fopr_Rational.h"
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
37 class Action_F_Rational : public Action
38 {
39  public:
40  static const std::string class_name;
41 
42  private:
43  std::string m_label; // label of action
44 
48 
50 
52 
53  public:
56  Fopr *fopr_langev, Fopr *fopr_H, Force *fopr_force_MD)
57  : Action(),
58  m_fopr_langev(fopr_langev), m_fopr_H(fopr_H), m_fopr_force_MD(fopr_force_MD)
59  {}
60 
62  unique_ptr<Fopr>& fopr_langev, unique_ptr<Fopr>& fopr_H, unique_ptr<Force>& fopr_force_MD)
63  : Action(),
64  m_fopr_langev(fopr_langev.get()), m_fopr_H(fopr_H.get()), m_fopr_force_MD(fopr_force_MD.get())
65  {}
66 
69 
70  void set_parameters(const Parameters& params);
71 
73  void set_label(const std::string label)
74  {
75  m_label = label;
76  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
77  }
78 
80  std::string get_label()
81  {
82  return m_label;
83  }
84 
86  void set_config(Field *U)
87  {
88  m_U = U;
90  m_fopr_H->set_config(U);
92  }
93 
95  double langevin(RandomNumbers *);
96 
98  double calcH();
99 
101  //const Field force();
102  void force(Field&);
103 
104  private:
105 };
106 #endif
BridgeIO vout
Definition: bridgeIO.cpp:503
void detailed(const char *format,...)
Definition: bridgeIO.cpp:216
void force(Field &)
returns the force for updating conjugate momentum.
static const std::string class_name
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
Container of Field-type object.
Definition: field.h:45
virtual void set_config(Field *)=0
Base class of fermion force calculation.
Definition: force_F.h:31
std::string get_label()
returns the label of action.
Class for parameters.
Definition: parameters.h:46
double calcH()
calculation of Hamiltonian.
Base class of HMC action class family.
Definition: action.h:36
void set_config(Field *U)
setting gauge configuration.
void set_label(const std::string label)
set the label of action.
action class for RHMC, with externally constructed Fopr_Rational.
double langevin(RandomNumbers *)
Langevin step called at the beginning of HMC.
void set_parameters(const Parameters &params)
Bridge::VerboseLevel m_vl
Definition: action.h:75
Base class of random number generators.
Definition: randomNumbers.h:43
~Action_F_Rational()
destructor. constructed instances are deconstructed in tydyup().
Base class of fermion operator family.
Definition: fopr.h:46
Action_F_Rational(Fopr *fopr_langev, Fopr *fopr_H, Force *fopr_force_MD)
constructor requires pointers to Fopr and Force instances.
Action_F_Rational(unique_ptr< Fopr > &fopr_langev, unique_ptr< Fopr > &fopr_H, unique_ptr< Force > &fopr_force_MD)