Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
solver_BiCGStab_L_Cmplx.h
Go to the documentation of this file.
1 
14 #ifndef SOLVER_BICGSTAB_L_CMPLX_INCLUDED
15 #define SOLVER_BICGSTAB_L_CMPLX_INCLUDED
16 
17 #include "solver.h"
18 
19 #include "bridgeIO.h"
20 using Bridge::vout;
21 
22 //- parameters class
24 {
25  public:
27 };
28 //- end
29 
31 
44 {
45  public:
46  static const std::string class_name;
47 
48  private:
50 
51  int m_N_L;
52  double m_Tol_L;
53 
54  int m_Niter;
55  double m_Stop_cond;
56 
57  std::valarray<Field> u, r;
58 
60  dcomplex rho_prev, alpha_prev;
61 
62  public:
64  : Solver(), m_fopr(fopr) {}
65 
67 
68  void set_parameters(const Parameters& params);
69  void set_parameters(const int Niter, const double Stop_cond);
70  void set_parameters_L(const int N_L);
71 
72  void solve(Field& solution, const Field& source,
73  int& Nconv, double& diff);
74 
75  Fopr *get_fopr() { return m_fopr; }
76 
77  private:
78  void reset_field(const Field&);
79 
80  void solve_init(const Field&, double&);
81  void solve_step(double&);
82 
83  int index_ij(int i, int j)
84  {
85  return i + m_N_L * j;
86  }
87 };
88 #endif
BridgeIO vout
Definition: bridgeIO.cpp:207
static const std::string class_name
void set_parameters_L(const int N_L)
BiCGStab(L) algorithm.
Container of Field-type object.
Definition: field.h:37
std::valarray< Field > u
void solve_init(const Field &, double &)
Class for parameters.
Definition: parameters.h:40
void set_parameters(const Parameters &params)
Base class for linear solver class family.
Definition: solver.h:37
std::valarray< Field > r
Base class of fermion operator family.
Definition: fopr.h:39
void solve(Field &solution, const Field &source, int &Nconv, double &diff)