Bridge++  Version 1.4.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
action_F_Standard_eo.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_F_STANDARD_EO_INCLUDED
15 #define ACTION_F_STANDARD_EO_INCLUDED
16 
17 #include "Action/action.h"
18 
19 #include "Force/Fermion/force_F.h"
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
38 {
39  public:
40  static const std::string class_name;
41 
42  private:
46  std::string m_label;
47 
50 
52 
53 
54  public:
56  Fopr *fopr, Force *fopr_force,
57  Fprop *fprop_MD, Fprop *fprop_H)
58  : Action(),
59  m_fopr(fopr), m_fopr_force(fopr_force),
60  m_fprop_MD(fprop_MD), m_fprop_H(fprop_H)
61  {
63  }
64 
66  unique_ptr<Fopr>& fopr, unique_ptr<Force>& fopr_force,
67  unique_ptr<Fprop>& fprop_MD, unique_ptr<Fprop>& fprop_H)
68  : Action(),
69  m_fopr(fopr.get()), m_fopr_force(fopr_force.get()),
70  m_fprop_MD(fprop_MD.get()), m_fprop_H(fprop_H.get())
71  {
73  }
74 
76 
77  void set_parameters(const Parameters&);
78  void set_parameters();
79 
80  void set_label(std::string label)
81  {
82  m_label = label;
83  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
84  }
85 
86  std::string get_label()
87  {
88  return m_label;
89  }
90 
91  void set_config(Field *U);
92 
93  double langevin(RandomNumbers *);
94 
95  double calcH();
96 
97  void force(Field&);
98 };
99 #endif
BridgeIO vout
Definition: bridgeIO.cpp:495
void detailed(const char *format,...)
Definition: bridgeIO.cpp:212
Standard even-odd preconditioned fermion action for HMC.
static const std::string class_name
double langevin(RandomNumbers *)
Langevis step.
Action_F_Standard_eo(unique_ptr< Fopr > &fopr, unique_ptr< Force > &fopr_force, unique_ptr< Fprop > &fprop_MD, unique_ptr< Fprop > &fprop_H)
Base class for fermion propagator class family.
Definition: fprop.h:30
Container of Field-type object.
Definition: field.h:39
void set_label(std::string label)
Base class of fermion force calculation.
Definition: force_F.h:31
Class for parameters.
Definition: parameters.h:46
double calcH()
calculate Hamiltonian of this action term.
Base class of HMC action class family.
Definition: action.h:36
Action_F_Standard_eo(Fopr *fopr, Force *fopr_force, Fprop *fprop_MD, Fprop *fprop_H)
void set_config(Field *U)
setting pointer to the gauge configuration.
void force(Field &)
returns force for molcular dynamical update of conjugate momenta.
Bridge::VerboseLevel m_vl
Definition: action.h:75
Base class of random number generators.
Definition: randomNumbers.h:36
Base class of fermion operator family.
Definition: fopr.h:47