Bridge++  Ver. 2.0.2
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 
20 #include "Fopr/fopr_Overlap.h"
21 #include "Field/index_lex.h"
22 #include "Solver/solver_CG.h"
23 #include "Solver/shiftsolver_CG.h"
25 
26 #include "IO/bridgeIO.h"
27 using Bridge::vout;
28 
30 
40 class Force_F_Overlap_Nf2 : public Force
41 {
42  public:
43  static const std::string class_name;
44 
45  private:
47 
48  double m_mq, m_M0;
49  int m_Np;
50  double m_x_min, m_x_max;
51 
54 
55  std::vector<int> m_boundary;
56 
57  double m_kappa;
58 
61 
62  // Zolotarev coefficients
63  std::vector<double> m_cl;
64  std::vector<double> m_bl;
65  std::vector<double> m_sigma;
66 
67  public:
69  : m_vl(CommonParameters::Vlevel()) {}
70 
72  : m_vl(CommonParameters::Vlevel())
73  {
74  set_parameters(params);
75  }
76 
78  {
79  delete m_fopr_w;
80  delete m_force_w;
81  }
82 
83  void set_parameters(const Parameters& params);
84 
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::vector<int> bc);
89  void set_parameters();
90 
91  void get_parameters(Parameters& params) const;
92 
93  void set_config(Field *U)
94  {
95  m_U = (Field_G *)U;
96  m_fopr_w->set_config(U);
98  }
99 
100  // void set_eigenmodes();
101 
102  void force_core(Field&, const Field&);
103  void force_core1(Field&, const Field&, const Field&);
104 
105  void force_udiv(Field&, const Field&);
106  void force_udiv1(Field&, const Field&, const Field&);
107 
108  void force_core1_impl(Field_G&, const Field_F&, const Field_F&);
109 };
110 #endif
Force_F_Overlap_Nf2::class_name
static const std::string class_name
Definition: force_F_Overlap_Nf2.h:43
bridgeIO.h
Force_F_Overlap_Nf2::~Force_F_Overlap_Nf2
~Force_F_Overlap_Nf2()
Definition: force_F_Overlap_Nf2.h:77
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
fopr_Overlap.h
Force_F_Overlap_Nf2::set_config
void set_config(Field *U)
Definition: force_F_Overlap_Nf2.h:93
Parameters
Class for parameters.
Definition: parameters.h:46
Force_F_Overlap_Nf2::m_fopr_w
Fopr_Wilson * m_fopr_w
Definition: force_F_Overlap_Nf2.h:59
Force_F_Overlap_Nf2::force_core1
void force_core1(Field &, const Field &, const Field &)
Definition: force_F_Overlap_Nf2.cpp:163
Force_F_Overlap_Nf2::set_parameters
void set_parameters()
Force_F_Overlap_Nf2::m_bl
std::vector< double > m_bl
Definition: force_F_Overlap_Nf2.h:64
Force_F_Overlap_Nf2::m_boundary
std::vector< int > m_boundary
Definition: force_F_Overlap_Nf2.h:55
Force_F_Overlap_Nf2::m_Niter_ms
int m_Niter_ms
Definition: force_F_Overlap_Nf2.h:52
Force_F_Overlap_Nf2::force_core
void force_core(Field &, const Field &)
Definition: force_F_Overlap_Nf2.cpp:138
Force_F_Overlap_Nf2::m_cl
std::vector< double > m_cl
Definition: force_F_Overlap_Nf2.h:63
shiftsolver_CG.h
Force_F_Overlap_Nf2::m_Np
int m_Np
Definition: force_F_Overlap_Nf2.h:49
math_Sign_Zolotarev.h
Force_F_Overlap_Nf2::m_sigma
std::vector< double > m_sigma
Definition: force_F_Overlap_Nf2.h:65
Force::m_U
Field_G * m_U
Definition: force_F.h:66
Force_F_Overlap_Nf2::m_x_min
double m_x_min
Definition: force_F_Overlap_Nf2.h:50
Force_F_Overlap_Nf2::m_kappa
double m_kappa
Definition: force_F_Overlap_Nf2.h:57
Force_F_Overlap_Nf2::get_parameters
void get_parameters(Parameters &params) const
Definition: force_F_Overlap_Nf2.cpp:55
Force_F_Overlap_Nf2::Force_F_Overlap_Nf2
Force_F_Overlap_Nf2(const Parameters &params)
Definition: force_F_Overlap_Nf2.h:71
Force_F_Overlap_Nf2::force_udiv
void force_udiv(Field &, const Field &)
Definition: force_F_Overlap_Nf2.cpp:155
Force_F_Overlap_Nf2::force_udiv1
void force_udiv1(Field &, const Field &, const Field &)
Definition: force_F_Overlap_Nf2.cpp:292
index_lex.h
Force_F_Overlap_Nf2::force_core1_impl
void force_core1_impl(Field_G &, const Field_F &, const Field_F &)
Definition: force_F_Overlap_Nf2.cpp:179
Force_F_Overlap_Nf2::m_mq
double m_mq
Definition: force_F_Overlap_Nf2.h:48
Force_F_Overlap_Nf2::Force_F_Overlap_Nf2
Force_F_Overlap_Nf2()
Definition: force_F_Overlap_Nf2.h:68
Force_F_Overlap_Nf2::m_M0
double m_M0
Definition: force_F_Overlap_Nf2.h:48
Force_F_Overlap_Nf2::m_force_w
Force_F_Wilson_Nf2 * m_force_w
Definition: force_F_Overlap_Nf2.h:60
Force_F_Overlap_Nf2::m_Stop_cond_ms
double m_Stop_cond_ms
Definition: force_F_Overlap_Nf2.h:53
Org::Fopr_Wilson::set_config
void set_config(Field *U)
sets the gauge configuration.
Definition: fopr_Wilson_impl.cpp:188
Force_F_Wilson_Nf2
Force for the standard Wilson fermion operator.
Definition: force_F_Wilson_Nf2.h:38
Field_F
Wilson-type fermion field.
Definition: field_F.h:37
Force_F_Overlap_Nf2::m_vl
Bridge::VerboseLevel m_vl
Definition: force_F_Overlap_Nf2.h:46
solver_CG.h
force_F_Wilson_Nf2.h
Field
Container of Field-type object.
Definition: field.h:46
Force_F_Overlap_Nf2::m_x_max
double m_x_max
Definition: force_F_Overlap_Nf2.h:50
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Org::Fopr_Wilson
Definition: fopr_Wilson_impl.h:38
Force_F_Wilson_Nf2::set_config
void set_config(Field *U)
Definition: force_F_Wilson_Nf2.h:96
Force
Base class of fermion force calculation.
Definition: force_F.h:31
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Force_F_Overlap_Nf2
Force calculation for overlap ferimon.
Definition: force_F_Overlap_Nf2.h:40