Bridge++  Ver. 2.0.2
action_F_Standard_lex_alt.h
Go to the documentation of this file.
1 
10 #ifndef ACTION_F_STANDARD_LEX_ALT_INCLUDED
11 #define ACTION_F_STANDARD_LEX_ALT_INCLUDED
12 
13 #include "lib/Action/action.h"
14 
17 #include "lib/IO/bridgeIO.h"
18 using Bridge::vout;
19 
20 // include files in alt-code
21 //#include "Field/afield.h"
22 #include "lib_alt/Measurements/Fermion/afprop.h"
23 
25 
31 template<typename AFIELD>
33 {
34  public:
35  // typedef AField<double> AFIELD;
36  typedef typename AFIELD::real_t real_t;
37  static const std::string class_name;
38 
39  private:
41  AForce_F<AFIELD> *m_fopr_force;
43  std::string m_label;
44 
45  AFprop<AFIELD> *m_fprop_MD;
46  AFprop<AFIELD> *m_fprop_H;
47 
49 
50  public:
52  AFopr<AFIELD> *fopr, AForce_F<AFIELD> *fopr_force,
53  AFprop<AFIELD> *fprop_MD, AFprop<AFIELD> *fprop_H)
54  : Action(),
55  m_fopr(fopr), m_fopr_force(fopr_force),
56  m_fprop_MD(fprop_MD), m_fprop_H(fprop_H)
57  {}
58 
60  unique_ptr<AFopr<AFIELD> >& fopr,
61  unique_ptr<AForce_F<AFIELD> >& fopr_force,
62  unique_ptr<AFprop<AFIELD> >& fprop_MD,
63  unique_ptr<AFprop<AFIELD> >& fprop_H)
64  : Action(),
65  m_fopr(fopr.get()), m_fopr_force(fopr_force.get()),
66  m_fprop_MD(fprop_MD.get()), m_fprop_H(fprop_H.get())
67  { init(); }
68 
70  { tidyup(); }
71 
72  void set_parameters(const Parameters&);
73 
74  void set_label(const std::string label)
75  {
76  m_label = label;
77  vout.detailed(m_vl, " label: %s\n", m_label.c_str());
78  }
79 
80  std::string get_label()
81  { return m_label; }
82 
83  void set_config(Field *U);
84 
85  double langevin(RandomNumbers *);
86 
87  double calcH();
88 
89  void force(Field&);
90 
91  private:
92  void init();
93  void tidyup();
94 };
95 #endif
Action_F_Standard_lex_alt::m_U
Field * m_U
Definition: action_F_Standard_lex_alt.h:48
Action_F_Standard_lex_alt::langevin
double langevin(RandomNumbers *)
Langevis step.
Definition: action_F_Standard_lex_alt-tmpl.h:59
Action_F_Standard_lex_alt::set_label
void set_label(const std::string label)
Definition: action_F_Standard_lex_alt.h:74
bridgeIO.h
Action_F_Standard_lex_alt::real_t
AFIELD::real_t real_t
Definition: action_F_Standard_lex_alt.h:36
AFopr
Definition: afopr.h:48
Action_F_Standard_lex_alt::m_fopr_force
AForce_F< AFIELD > * m_fopr_force
Definition: action_F_Standard_lex_alt.h:41
Parameters
Class for parameters.
Definition: parameters.h:46
Action_F_Standard_lex_alt::set_parameters
void set_parameters(const Parameters &)
Definition: action_F_Standard_lex_alt-tmpl.h:39
Action_F_Standard_lex_alt::set_config
void set_config(Field *U)
setting pointer to the gauge configuration.
Definition: action_F_Standard_lex_alt-tmpl.h:48
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_Standard_lex_alt::m_label
std::string m_label
Definition: action_F_Standard_lex_alt.h:43
Action
Base class of HMC action class family.
Definition: action.h:36
action.h
Field::real_t
double real_t
Definition: field.h:51
Action_F_Standard_lex_alt::force
void force(Field &)
returns force for molcular dynamical update of conjugate momenta.
Definition: action_F_Standard_lex_alt-tmpl.h:140
Action_F_Standard_lex_alt::m_fprop_H
AFprop< AFIELD > * m_fprop_H
Definition: action_F_Standard_lex_alt.h:46
Action_F_Standard_lex_alt::init
void init()
Definition: action_F_Standard_lex_alt-tmpl.h:23
Action_F_Standard_lex_alt::Action_F_Standard_lex_alt
Action_F_Standard_lex_alt(AFopr< AFIELD > *fopr, AForce_F< AFIELD > *fopr_force, AFprop< AFIELD > *fprop_MD, AFprop< AFIELD > *fprop_H)
Definition: action_F_Standard_lex_alt.h:51
Action_F_Standard_lex_alt::m_fprop_MD
AFprop< AFIELD > * m_fprop_MD
Definition: action_F_Standard_lex_alt.h:45
Action_F_Standard_lex_alt::get_label
std::string get_label()
Definition: action_F_Standard_lex_alt.h:80
Action_F_Standard_lex_alt::m_psf
AFIELD m_psf
Definition: action_F_Standard_lex_alt.h:42
Action_F_Standard_lex_alt::class_name
static const std::string class_name
Definition: action_F_Standard_lex_alt.h:37
Action_F_Standard_lex_alt::tidyup
void tidyup()
Definition: action_F_Standard_lex_alt-tmpl.h:31
force_F.h
Action_F_Standard_lex_alt::Action_F_Standard_lex_alt
Action_F_Standard_lex_alt(unique_ptr< AFopr< AFIELD > > &fopr, unique_ptr< AForce_F< AFIELD > > &fopr_force, unique_ptr< AFprop< AFIELD > > &fprop_MD, unique_ptr< AFprop< AFIELD > > &fprop_H)
Definition: action_F_Standard_lex_alt.h:59
Action_F_Standard_lex_alt::m_fopr
AFopr< AFIELD > * m_fopr
Definition: action_F_Standard_lex_alt.h:40
Action_F_Standard_lex_alt
Standard fermion action for HMC.
Definition: action_F_Standard_lex_alt.h:32
Action_F_Standard_lex_alt::~Action_F_Standard_lex_alt
~Action_F_Standard_lex_alt()
Definition: action_F_Standard_lex_alt.h:69
Action_F_Standard_lex_alt::calcH
double calcH()
calculate Hamiltonian of this action term.
Definition: action_F_Standard_lex_alt-tmpl.h:107
Field
Container of Field-type object.
Definition: field.h:46
fprop.h
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512