Bridge++  Ver. 2.0.2
action_F_Ratio_eo.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_F_RATIO_EO_INCLUDED
15 #define ACTION_F_RATIO_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 
41 class Action_F_Ratio_eo : public Action
42 {
43  public:
44  static const std::string class_name;
45 
46  private:
48 
50 
51  Fopr *m_fopr_prec; // preconditioner
52  Force *m_fopr_prec_force; // force of preconditioner
53  Fopr *m_fopr; // dynamical fermion
54  Force *m_fopr_force; // force of dynamical fermion
55  Field m_psf; // pseudofermion field
56  std::string m_label; // label of action
57 
61 
62  public:
64  Fopr *fopr_prec, Force *fopr_prec_force,
65  Fopr *fopr, Force *fopr_force,
66  Fprop *fprop_H_prec,
67  Fprop *fprop_MD, Fprop *fprop_H)
68  : m_vl(CommonParameters::Vlevel()),
69  m_fopr_prec(fopr_prec), m_fopr_prec_force(fopr_prec_force),
70  m_fopr(fopr), m_fopr_force(fopr_force),
71  m_fprop_H_prec(fprop_H_prec),
72  m_fprop_MD(fprop_MD), m_fprop_H(fprop_H)
73  {
75  }
76 
78  Fopr *fopr_prec, Force *fopr_prec_force,
79  Fopr *fopr, Force *fopr_force,
80  Fprop *fprop_H_prec,
81  Fprop *fprop_MD, Fprop *fprop_H,
82  const Parameters& params)
83  : m_vl(CommonParameters::Vlevel()),
84  m_fopr_prec(fopr_prec), m_fopr_prec_force(fopr_prec_force),
85  m_fopr(fopr), m_fopr_force(fopr_force),
86  m_fprop_H_prec(fprop_H_prec),
87  m_fprop_MD(fprop_MD), m_fprop_H(fprop_H)
88  {
89  set_parameters(params);
90  }
91 
93 
94  void set_parameters(const Parameters&);
95  void set_parameters();
96 
97  void get_parameters(Parameters&) const;
98 
99  void set_label(const std::string label)
100  {
101  m_label = label;
102  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
103  }
104 
105  std::string get_label()
106  {
107  return m_label;
108  }
109 
110  void set_config(Field *U);
111 
112  double langevin(RandomNumbers *);
113  double calcH();
114 
115  void force(Field&);
116 };
117 #endif
Action_F_Ratio_eo::m_fprop_H_prec
Fprop * m_fprop_H_prec
Definition: action_F_Ratio_eo.h:58
Action_F_Ratio_eo::force
void force(Field &)
returns force for molcular dynamical update of conjugate momenta.
Definition: action_F_Ratio_eo.cpp:137
bridgeIO.h
Action_F_Ratio_eo::m_U
Field * m_U
Definition: action_F_Ratio_eo.h:49
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Action_F_Ratio_eo::Action_F_Ratio_eo
Action_F_Ratio_eo(Fopr *fopr_prec, Force *fopr_prec_force, Fopr *fopr, Force *fopr_force, Fprop *fprop_H_prec, Fprop *fprop_MD, Fprop *fprop_H, const Parameters &params)
Definition: action_F_Ratio_eo.h:77
AFopr
Definition: afopr.h:48
Parameters
Class for parameters.
Definition: parameters.h:46
Action_F_Ratio_eo::langevin
double langevin(RandomNumbers *)
Langevis step.
Definition: action_F_Ratio_eo.cpp:56
Bridge::BridgeIO::detailed
void detailed(const char *format,...)
Definition: bridgeIO.cpp:219
RandomNumbers
Base class of random number generators.
Definition: randomNumbers.h:43
Action_F_Ratio_eo::get_label
std::string get_label()
Definition: action_F_Ratio_eo.h:105
Action_F_Ratio_eo::set_config
void set_config(Field *U)
setting pointer to the gauge configuration.
Definition: action_F_Ratio_eo.cpp:43
Action_F_Ratio_eo::m_fopr_prec
Fopr * m_fopr_prec
Definition: action_F_Ratio_eo.h:51
Action_F_Ratio_eo::m_label
std::string m_label
Definition: action_F_Ratio_eo.h:56
Action
Base class of HMC action class family.
Definition: action.h:36
action.h
Action_F_Ratio_eo::Action_F_Ratio_eo
Action_F_Ratio_eo(Fopr *fopr_prec, Force *fopr_prec_force, Fopr *fopr, Force *fopr_force, Fprop *fprop_H_prec, Fprop *fprop_MD, Fprop *fprop_H)
Definition: action_F_Ratio_eo.h:63
Action_F_Ratio_eo::m_fprop_H
Fprop * m_fprop_H
Definition: action_F_Ratio_eo.h:60
Action_F_Ratio_eo::set_label
void set_label(const std::string label)
Definition: action_F_Ratio_eo.h:99
Action_F_Ratio_eo::set_parameters
void set_parameters()
Definition: action_F_Ratio_eo.cpp:36
Action_F_Ratio_eo::m_fopr
Fopr * m_fopr
Definition: action_F_Ratio_eo.h:53
Action_F_Ratio_eo::get_parameters
void get_parameters(Parameters &) const
Definition: action_F_Ratio_eo.cpp:29
Action_F_Ratio_eo::m_fprop_MD
Fprop * m_fprop_MD
Definition: action_F_Ratio_eo.h:59
Action_F_Ratio_eo::m_vl
Bridge::VerboseLevel m_vl
Definition: action_F_Ratio_eo.h:47
Action_F_Ratio_eo::~Action_F_Ratio_eo
~Action_F_Ratio_eo()
Definition: action_F_Ratio_eo.h:92
Fprop
Base class for fermion propagator class family.
Definition: fprop.h:34
Action_F_Ratio_eo::m_psf
Field m_psf
Definition: action_F_Ratio_eo.h:55
Action_F_Ratio_eo::m_fopr_prec_force
Force * m_fopr_prec_force
Definition: action_F_Ratio_eo.h:52
force_F.h
Action_F_Ratio_eo
HMC action for Hasenbusch preconditioned fermions.
Definition: action_F_Ratio_eo.h:41
Action_F_Ratio_eo::m_fopr_force
Force * m_fopr_force
Definition: action_F_Ratio_eo.h:54
Action_F_Ratio_eo::calcH
double calcH()
calculate Hamiltonian of this action term.
Definition: action_F_Ratio_eo.cpp:101
Field
Container of Field-type object.
Definition: field.h:46
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Action_F_Ratio_eo::class_name
static const std::string class_name
Definition: action_F_Ratio_eo.h:44
fprop.h
Force
Base class of fermion force calculation.
Definition: force_F.h:31
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512