Bridge++  Version 1.4.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
action_F_Rational_SF.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_FRATIONAL_SF_INCLUDED
15 #define ACTION_FRATIONAL_SF_INCLUDED
16 
17 #include "Action/action.h"
18 
19 #include "Fopr/fopr_Rational.h"
21 
22 #include "Field/field_G_SF.h"
23 #include "Field/field_F_SF.h"
24 
25 #include "IO/bridgeIO.h"
26 using Bridge::vout;
27 
29 
40 class Action_F_Rational_SF : public Action {
41  public:
42  static const std::string class_name;
43 
44  private:
45  std::string m_label; // label of action
46 
50 
52 
54 
55  public:
57  Action_F_Rational_SF(Fopr *fopr_langev, Fopr *fopr_H,
58  Force *fopr_force_MD)
59  {
60  m_fopr_langev = fopr_langev;
61  m_fopr_H = fopr_H;
62  m_fopr_force_MD = fopr_force_MD;
63  setup();
64  }
65 
67  unique_ptr<Force>& fopr_force_MD)
68  {
69  m_fopr_langev = fopr_langev.get();
70  m_fopr_H = fopr_H.get();
71  m_fopr_force_MD = fopr_force_MD.get();
72  setup();
73  }
74 
77  {
78  }
79 
81  void set_parameters(const Parameters& params);
82 
84  void set_label(std::string label)
85  {
86  m_label = label;
87  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
88  }
89 
91  std::string get_label()
92  {
93  return m_label;
94  }
95 
97  void set_config(Field *U)
98  {
99  m_U = U;
101  m_fopr_H->set_config(U);
103  }
104 
106  double langevin(RandomNumbers *);
107 
109  double calcH();
110 
112  //const Field force();
113  void force(Field&);
114 
115  private:
117  void setup();
118 
120  void tidyup();
121 };
122 #endif
BridgeIO vout
Definition: bridgeIO.cpp:495
void detailed(const char *format,...)
Definition: bridgeIO.cpp:212
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
Container of Field-type object.
Definition: field.h:39
virtual void set_config(Field *)=0
void set_parameters(const Parameters &params)
setting parameters and creating class instances.
double langevin(RandomNumbers *)
Langevin step called at the beginning of HMC.
Base class of fermion force calculation.
Definition: force_F.h:31
void set_config(Field *U)
setting gauge configuration.
Class for parameters.
Definition: parameters.h:46
void tidyup()
destruct class instances constructed in setup()
~Action_F_Rational_SF()
destructor. constructed instances are deconstructed in tydyup().
static const std::string class_name
Base class of HMC action class family.
Definition: action.h:36
pointer get() const
Action_F_Rational_SF(unique_ptr< Fopr > &fopr_langev, unique_ptr< Fopr > &fopr_H, unique_ptr< Force > &fopr_force_MD)
void set_label(std::string label)
set the label of action.
void force(Field &)
returns the force for updating conjugate momentum.
double calcH()
calculation of Hamiltonian.
action class for RHMC, with externally constructed Fopr_Rational.
Bridge::VerboseLevel m_vl
Definition: action.h:75
Base class of random number generators.
Definition: randomNumbers.h:36
void setup()
creating instances. called from set_parameters().
std::string get_label()
returns the label of action.
Base class of fermion operator family.
Definition: fopr.h:47
Action_F_Rational_SF(Fopr *fopr_langev, Fopr *fopr_H, Force *fopr_force_MD)
constructor requires pointers to Fopr and Force instances.