Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
force_F_Overlap_Nf2.h
Go to the documentation of this file.
1 
15 #ifndef FORCE_F_OVERLAP_NF2_INCLUDED
16 #define FORCE_F_OVERLAP_NF2_INCLUDED
17 
18 #include "force_F_Wilson_Nf2.h"
19 #include "fopr_Overlap.h"
20 
21 #include "index_lex.h"
22 #include "solver_CG.h"
23 #include "shiftsolver_CG.h"
24 #include "math_Sign_Zolotarev.h"
25 
26 #include "bridgeIO.h"
27 using Bridge::vout;
28 
30 
39 //- parameters class
41 {
42  public:
44 };
45 //- end
46 
47 class Force_F_Overlap_Nf2 : public Force
48 {
49  private:
51 
52  double m_mq, m_M0;
53  int m_Np;
54  double m_x_min, m_x_max;
55 
58 
59  std::valarray<int> m_boundary;
60 
61  double m_kappa;
62 
65 
66  // Zolotarev coefficients
67  std::valarray<double> m_cl;
68  std::valarray<double> m_bl;
69  std::valarray<double> m_sigma;
70 
71  public:
72 
74  : Force() {}
75 
77  {
78  delete m_fopr_w;
79  delete m_force_w;
80  }
81 
82  void set_parameters(const Parameters& params);
83 
84 // void set_parameters (const Parameters_Fopr_Overlap& params);
85  void set_parameters(const double mq, const double M0, const int Np,
86  const double x_min, const double x_max,
87  const int Niter_ms, const double Stop_cond_ms,
88  const std::valarray<int> bc);
89  void set_parameters();
90 
91  void set_config(Field *U)
92  {
93  m_U = (Field_G *)U;
94  m_fopr_w->set_config(U);
96  }
97 
98  // void set_eigenmodes();
99 
100  Field force_core(const Field&);
101  Field force_core1(const Field_F&, const Field_F&);
102 
103  Field force_udiv(const Field&) { return Field(); } // dummy entry
104 };
105 #endif