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