Bridge++  Ver.2.1.3
fopr_Smeared_eo.h
Go to the documentation of this file.
1 
14 #ifndef FOPR_SMEARED_EO_INCLUDED
15 #define FOPR_SMEARED_EO_INCLUDED
16 
18 //#include "Smear/director_Smear.h"
19 
20 #include "lib/IO/bridgeIO.h"
21 using Bridge::vout;
22 
24 
42 
43 /*
44 class Fopr_Smeared_eo : public Fopr_eo
45 {
46  public:
47  static const std::string class_name;
48 
49  private:
50  Bridge::VerboseLevel m_vl;
51 
52  Fopr_eo *m_fopr_eo;
53  Director_Smear *m_dr_smear;
54 
55  public:
57  Fopr_Smeared_eo(Fopr_eo *fopr_eo, Director_Smear *dr_smear)
58  : m_vl(CommonParameters::Vlevel())
59  {
60  m_fopr_eo = fopr_eo;
61  m_dr_smear = dr_smear;
62  }
63 
64  Fopr_Smeared_eo(Fopr_eo *fopr_eo, Director_Smear *dr_smear, const Parameters& params)
65  : m_vl(CommonParameters::Vlevel())
66  {
67  m_fopr_eo = fopr_eo;
68  m_dr_smear = dr_smear;
69 
70  set_parameters(params);
71  }
72 
73  void set_parameters(const Parameters&);
74 
75  void get_parameters(Parameters&) const;
76 
77  void preProp(Field& Be, Field& bo, const Field& b)
78  {
79  m_fopr_eo->preProp(Be, bo, b);
80  }
81 
82  void postProp(Field& x, const Field& xe, const Field& bo)
83  {
84  m_fopr_eo->postProp(x, xe, bo);
85  }
86 
88  void set_config(Field *U);
89 
91  void mult(Field& v, const Field& f)
92  {
93  m_fopr_eo->mult(v, f);
94  }
95 
97  void mult_dag(Field& v, const Field& f)
98  {
99  m_fopr_eo->mult_dag(v, f);
100  }
101 
103  void set_mode(const std::string mode)
104  {
105  m_fopr_eo->set_mode(mode);
106  }
107 
108  std::string get_mode() const
109  {
110  return m_fopr_eo->get_mode();
111  }
112 
113  void mult_up(const int mu, Field& v, const Field& w)
114  {
115  m_fopr_eo->mult_up(mu, v, w);
116  }
117 
118  void mult_dn(const int mu, Field& v, const Field& w)
119  {
120  m_fopr_eo->mult_dn(mu, v, w);
121  }
122 
123  int field_nvol() { return m_fopr_eo->field_nvol(); }
124  int field_nin() { return m_fopr_eo->field_nin(); }
125  int field_nex() { return m_fopr_eo->field_nex(); }
126 
128  double flop_count();
129 
130 #ifdef USE_FACTORY
131  private:
132  static Fopr *create_object(Fopr *fopr, Director *director)
133  {
134  return new Fopr_Smeared_eo(dynamic_cast<Fopr_eo *>(fopr), dynamic_cast<Director_Smear *>(director));
135  }
136 
137  static Fopr *create_object_with_params(Fopr *fopr, Director *director, const Parameters& params)
138  {
139  return new Fopr_Smeared_eo(dynamic_cast<Fopr_eo *>(fopr), dynamic_cast<Director_Smear *>(director), params);
140  }
141 
142  public:
143  static bool register_factory()
144  {
145  bool init = true;
146  init &= Fopr::Factory_fopr_director::Register("Smeared_eo", create_object);
147 // init &= Fopr::Factory_fopr_director_params::Register("Smeared_eo", create_object_with_params);
148  return init;
149  }
150 #endif
151 };
152 */
153 
154 #endif
bridgeIO.h
afopr_Smeared_eo.h
Fopr_Smeared_eo
AFopr_Smeared_eo< Field > Fopr_Smeared_eo
smeared fermion operator with even-odd preconditioning.
Definition: fopr_Smeared_eo.h:41
AFopr_Smeared_eo
smeared fermion operator with even-odd preconditioning.
Definition: afopr_Smeared_eo.h:42
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:572