Bridge++  Ver.2.1.3
force_F_Rational.h
Go to the documentation of this file.
1 
10 #ifndef FORCE_F_RATIONAL_INCLUDED
11 #define FORCE_F_RATIONAL_INCLUDED
12 
15 #include "lib/Fopr/fopr.h"
16 #include "lib/IO/bridgeIO.h"
17 using Bridge::vout;
18 
20 
31 class Force_F_Rational : public Force
32 {
33  public:
34  static const std::string class_name;
35 
36  private:
37  int m_Np;
38  int m_n_exp;
39  int m_d_exp;
40  double m_x_min;
41  double m_x_max;
42  int m_Niter;
43  double m_Stop_cond;
45 
48 
50 
51  double m_a0;
52  std::vector<double> m_bl;
53  std::vector<double> m_cl;
54 
55  std::vector<Field> m_psi;
57 
60 
61  public:
62 
64  Force_F_Rational(Fopr *fopr, Force *force)
65  : m_fopr(fopr), m_force(force)
66  { init(); }
67 
68  Force_F_Rational(Fopr *fopr, Force *force, const Parameters& params)
69  : m_fopr(fopr), m_force(force)
70  { init(params); }
71 
73 
74  void set_parameters(const Parameters& params);
75 
76  void set_parameters(const int Np, const int n_exp, const int d_exp,
77  const double x_min, const double x_max,
78  const int Niter, const double Stop_cond);
79 
80  void get_parameters(Parameters& params) const;
81 
82  void set_config(Field *U);
83 
84  void force_udiv(Field&, const Field&);
85 
86  void force_core1(Field&, const Field&, const Field&); // dummy entry
87  void force_udiv1(Field&, const Field&, const Field&); // dummy entry
88 
89  private:
91  void init(const Parameters& params);
92 
94  void init();
95 
97  void tidyup();
98 
99  void setup(int Np_prev);
100 
101  void set_parameters_impl(const Parameters& params);
102 
103  void set_parameters_impl(const int Np,
104  const int n_exp, const int d_exp,
105  const double x_min, const double x_max,
106  const int Niter, const double Stop_cond);
107 
108  void force_udiv_impl(Field_G&, const Field&);
109 
110 };
111 #endif
Force_F_Rational::setup
void setup(int Np_prev)
Definition: force_F_Rational.cpp:60
Force_F_Rational::m_Niter
int m_Niter
maximum iteration of shiftsolver
Definition: force_F_Rational.h:42
bridgeIO.h
Force_F_Rational::m_solver
Shiftsolver_CG * m_solver
Definition: force_F_Rational.h:49
AFopr
Definition: afopr.h:48
Force_F_Rational::set_config
void set_config(Field *U)
sets verbose level.
Definition: force_F_Rational.cpp:260
Force_F_Rational::tidyup
void tidyup()
Finial clean-up.
Definition: force_F_Rational.cpp:95
Force_F_Rational::m_Stop_cond
double m_Stop_cond
stopping condition of shift solver
Definition: force_F_Rational.h:43
Parameters
Class for parameters.
Definition: parameters.h:46
Force_F_Rational::Force_F_Rational
Force_F_Rational(Fopr *fopr, Force *force, const Parameters &params)
Definition: force_F_Rational.h:68
Force_F_Rational::m_d_exp
int m_d_exp
denominator of the exponent
Definition: force_F_Rational.h:39
Force_F_Rational::Force_F_Rational
DEPRECATED Force_F_Rational(Fopr *fopr, Force *force)
Definition: force_F_Rational.h:64
Force_F_Rational::force_udiv
void force_udiv(Field &, const Field &)
Definition: force_F_Rational.cpp:274
Force_F_Rational::m_force2
Field_G * m_force2
Definition: force_F_Rational.h:59
Force_F_Rational::~Force_F_Rational
~Force_F_Rational()
Definition: force_F_Rational.h:72
Force_F_Rational::force_udiv1
void force_udiv1(Field &, const Field &, const Field &)
Definition: force_F_Rational.cpp:326
Force_F_Rational::m_n_exp
int m_n_exp
numerator of the exponent
Definition: force_F_Rational.h:38
shiftsolver_CG.h
Force_F_Rational::m_a0
double m_a0
rational approx. coefficients
Definition: force_F_Rational.h:51
Force_F_Rational::class_name
static const std::string class_name
Definition: force_F_Rational.h:34
Force_F_Rational::m_bl
std::vector< double > m_bl
rational approx. coefficients
Definition: force_F_Rational.h:52
Force_F_Rational::m_force1
Field_G * m_force1
Definition: force_F_Rational.h:58
Force_F_Rational::m_x_max
double m_x_max
upper bound of approximate sign function
Definition: force_F_Rational.h:41
Force_F_Rational::m_Np
int m_Np
number of poles in rational approx.
Definition: force_F_Rational.h:37
Force_F_Rational::set_parameters_impl
void set_parameters_impl(const Parameters &params)
Definition: force_F_Rational.cpp:123
Force_F_Rational::m_eta
Field * m_eta
Definition: force_F_Rational.h:56
AForce_F
Definition: aforce_F.h:36
Force_F_Rational::set_parameters
void set_parameters(const Parameters &params)
sets parameters by a Parameter object: to be implemented in a subclass.
Definition: force_F_Rational.cpp:109
Force_F_Rational::force_core1
void force_core1(Field &, const Field &, const Field &)
Definition: force_F_Rational.cpp:318
Force_F_Rational::m_x_min
double m_x_min
lower bound of approximate sign function
Definition: force_F_Rational.h:40
force_F.h
fopr.h
Force_F_Rational::m_psi
std::vector< Field > m_psi
Definition: force_F_Rational.h:55
Force_F_Rational::m_cl
std::vector< double > m_cl
rational approx. coefficients
Definition: force_F_Rational.h:53
Force_F_Rational::m_force
Force * m_force
kernel fermion force
Definition: force_F_Rational.h:47
Force_F_Rational::force_udiv_impl
void force_udiv_impl(Field_G &, const Field &)
Definition: force_F_Rational.cpp:290
Force_F_Rational::init
void init()
Obsolete initial setup with parameters.
Definition: force_F_Rational.cpp:42
Force_F_Rational::m_vl
Bridge::VerboseLevel m_vl
verbose level
Definition: force_F_Rational.h:44
Field
Container of Field-type object.
Definition: field.h:46
AShiftsolver_CG
Multishift Conjugate Gradient solver.
Definition: ashiftsolver_CG.h:33
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:45
Field_G
SU(N) gauge field.
Definition: field_G.h:38
Force_F_Rational::m_fopr
Fopr * m_fopr
kernel fermion operator
Definition: force_F_Rational.h:46
Force_F_Rational
Force calculation for smeared fermion operators.
Definition: force_F_Rational.h:31
Force_F_Rational::get_parameters
void get_parameters(Parameters &params) const
Definition: force_F_Rational.cpp:163
DEPRECATED
#define DEPRECATED
Definition: configure.h:28
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:572