Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fopr_Smeared_eo.h
Go to the documentation of this file.
1 
15 #ifndef FOPR_SMEARED_EO_INCLUDED
16 #define FOPR_SMEARED_EO_INCLUDED
17 
18 #include "fopr_eo.h"
19 #include "director_Smear.h"
20 
21 #include "bridgeIO.h"
22 using Bridge::vout;
23 
25 
40 class Fopr_Smeared_eo : public Fopr_eo
41 {
42  public:
43  static const std::string class_name;
44 
45  private:
48 
49  public:
50 
52  Fopr_Smeared_eo(Fopr_eo *fopr_eo, Director_Smear *dr_smear) : Fopr_eo()
53  {
54  m_fopr_eo = fopr_eo;
55  m_dr_smear = dr_smear;
56  }
57 
58  void set_parameters(const Parameters&);
59 
60  void preProp(Field& Be, Field& bo, const Field& b)
61  {
62  m_fopr_eo->preProp(Be, bo, b);
63  }
64 
65  void postProp(Field& x, const Field& xe, const Field& bo)
66  {
67  m_fopr_eo->postProp(x, xe, bo);
68  }
69 
71  void set_config(Field *U);
72 
74  void mult(Field& v, const Field& f)
75  {
76  m_fopr_eo->mult(v, f);
77  }
78 
80  const Field mult(const Field& f)
81  {
82  return m_fopr_eo->mult(f);
83  }
84 
86  void mult_dag(Field& v, const Field& f)
87  {
88  m_fopr_eo->mult_dag(v, f);
89  }
90 
92  const Field mult_dag(const Field& f)
93  {
94  return m_fopr_eo->mult_dag(f);
95  }
96 
98  void set_mode(std::string mode)
99  {
100  m_fopr_eo->set_mode(mode);
101  }
102 
103  std::string get_mode() const
104  {
105  return m_fopr_eo->get_mode();
106  }
107 
108  void mult_up(int mu, Field& v, const Field& w)
109  {
110  m_fopr_eo->mult_up(mu, v, w);
111  }
112 
113  void mult_dn(int mu, Field& v, const Field& w)
114  {
115  m_fopr_eo->mult_dn(mu, v, w);
116  }
117 
118  int field_nvol() { return m_fopr_eo->field_nvol(); }
119  int field_nin() { return m_fopr_eo->field_nin(); }
120  int field_nex() { return m_fopr_eo->field_nex(); }
121 };
122 #endif
BridgeIO vout
Definition: bridgeIO.cpp:207
void mult(Field &v, const Field &f)
multiply smeared fermion operator
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
void set_parameters(const Parameters &)
virtual void postProp(Field &, const Field &, const Field &)=0
Container of Field-type object.
Definition: field.h:37
std::string get_mode() const
Definition: fopr_eo.h:68
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
Director_Smear * m_dr_smear
void mult_dn(int mu, Field &v, const Field &w)
Class for parameters.
Definition: parameters.h:40
smeared fermion operator with even-odd preconditioning.
Fopr_eo * m_fopr_eo
virtual void mult_dn(int mu, Field &, const Field &)
Definition: fopr.h:71
void set_mode(std::string mode)
set the mode of fermion operator
const Field mult_dag(const Field &f)
multiply smeared fermion operator
Base class of fermion operator family.
Definition: fopr_eo.h:33
void postProp(Field &x, const Field &xe, const Field &bo)
void set_config(Field *U)
set pointer to original thin link variable
const Field mult(const Field &f)
multiply smeared fermion operator
virtual void mult_up(int mu, Field &, const Field &)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Definition: fopr.h:70
void mult_up(int mu, Field &v, const Field &w)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Fopr_Smeared_eo(Fopr_eo *fopr_eo, Director_Smear *dr_smear)
constructor requires Fopr and Director_Smear objects
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
Manager of smeared configurations.
void mult_dag(Field &v, const Field &f)
multiply smeared fermion operator
void preProp(Field &Be, Field &bo, const Field &b)
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
Definition: fopr_eo.h:63
int field_nvol()
returns the volume for which the fermion operator is defined.
virtual void preProp(Field &, Field &, const Field &)=0
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
std::string get_mode() const
virtual const Field mult(const Field &)=0
multiplies fermion operator to a given field and returns the resultant field.
virtual const Field mult_dag(const Field &)
hermitian conjugate of mult(const Field&).
Definition: fopr_eo.h:52
static const std::string class_name