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
35
typedef
AShiftsolver_CG<Field, Fopr>
Shiftsolver_CG
;
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
src
lib
Solver
shiftsolver_CG.h
Generated on Sat Feb 10 2024 14:20:00 for Bridge++ by
1.8.17