Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
action_F_Ratio.h
Go to the documentation of this file.
1 
14 #ifndef ACTION_F_RATIO_INCLUDED
15 #define ACTION_F_RATIO_INCLUDED
16 
17 #include "action.h"
18 #include "solver.h"
19 
20 #include "bridgeIO.h"
21 using Bridge::vout;
22 
24 
36 class Action_F_Ratio : public Action
37 {
38  private:
41 
42  Fopr *m_fopr_prec; // preconditioner
43  Force *m_fopr_prec_force; // force of preconditioner
44  Fopr *m_fopr; // dynamical fermion
45  Force *m_fopr_force; // force of dynamical fermion
46  Field m_psf; // pseudofermion field
47  std::string m_label; // label of action
49 
53 
55 
56  public:
57 
59  Fopr *fopr_prec, Force *fopr_prec_force,
60  Fopr *fopr, Force *fopr_force)
61  : Action(),
62  m_fopr_prec(fopr_prec), m_fopr_prec_force(fopr_prec_force),
63  m_fopr(fopr), m_fopr_force(fopr_force)
64  {
66  }
67 
69  {
70  delete m_solver_H_prec;
71  delete m_solver_MD;
72  delete m_solver_H;
73  }
74 
75  void set_parameters(const Parameters&);
76  void set_parameters();
77 
78  void set_label(std::string label)
79  {
80  m_label = label;
81  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
82  }
83 
84  std::string get_label()
85  {
86  return m_label;
87  }
88 
89  void set_config(Field *U)
90  {
91  m_U = U;
92 
95 
96  m_fopr->set_config(U);
98  }
99 
101  {
102  m_status_linkv = 0;
103  }
104 
105  double langevin(RandomNumbers *);
106 
107  double calcH();
108 
109  const Field force();
110 };
111 #endif