Bridge++  Ver. 2.0.2
shiftsolver_CG.h
Go to the documentation of this file.
1 
14 #ifndef SHIFTSOLVER_CG_INCLUDED
15 #define SHIFTSOLVER_CG_INCLUDED
16 
17 //#include "shiftsolver.h"
18 
19 //#include "IO/bridgeIO.h"
20 //using Bridge::vout;
21 
22 
24 
31 #include "Solver/ashiftsolver_CG.h"
32 #include "Field/field.h"
33 #include "Fopr/fopr.h"
34 
36 
37 /*
38 class Shiftsolver_CG : public Shiftsolver
39 {
40  public:
41  static const std::string class_name;
42 
43  private:
44  Bridge::VerboseLevel m_vl;
45 
46  Fopr *m_fopr;
47 
48  int m_Niter;
49  double m_Stop_cond;
50 
51  std::vector<Field> m_x, m_p;
52  Field m_r, m_s;
53  std::vector<double> m_zeta1, m_zeta2, m_csh2, m_pp;
54 
55  double m_snorm, m_alpha_p, m_beta_p;
56  int m_Nshift2;
57 
58  double m_sigma0;
59 
60  public:
61  Shiftsolver_CG(Fopr *fopr)
62  : m_vl(CommonParameters::Vlevel()),
63  m_fopr(fopr) {}
64 
65  Shiftsolver_CG(Fopr *fopr, int niter, double stop_cond)
66  : m_vl(CommonParameters::Vlevel()),
67  m_fopr(fopr)
68  {
69  set_parameters(niter, stop_cond);
70  }
71 
72  ~Shiftsolver_CG() {}
73 
74  void set_parameters(const Parameters& params);
75  void set_parameters(const int niter, const double stop_cond);
76 
77  void solve(
78  std::vector<Field>& solution,
79  const std::vector<double>& shift,
80  const Field& source,
81  int& Nconv, double& diff);
82 
83  private:
84 
85  void solve_init(double&);
86  void solve_step(double&);
87 
88  void reset_field(const Field& b, const std::vector<double>& sigma, const int Nshift);
89 };
90 */
91 
92 #endif
field.h
Shiftsolver_CG
AShiftsolver_CG< Field, Fopr > Shiftsolver_CG
Multishift Conjugate Gradient solver.
Definition: shiftsolver_CG.h:35
ashiftsolver_CG.h
fopr.h
AShiftsolver_CG
Multishift Conjugate Gradient solver.
Definition: ashiftsolver_CG.h:32