Bridge++
Ver. 2.0.2
|
BiCGStab algorithm with complex variables. More...
#include <solver_BiCGStab_Cmplx.h>
Public Member Functions | |
Solver_BiCGStab_Cmplx (Fopr *fopr) | |
Solver_BiCGStab_Cmplx (Fopr *fopr, const Parameters ¶ms) | |
~Solver_BiCGStab_Cmplx () | |
void | set_parameters (const Parameters ¶ms) |
void | set_parameters (const int Niter, const int Nrestart, const double Stop_cond) |
DEPRECATED void | set_parameters (const int Niter, const int Nrestart, const double Stop_cond, const bool use_init_guess) |
DEPRECATED void | set_parameters_BiCGStab_series (const double Omega_tolerance) |
void | set_parameters (const int Niter, const int Nrestart, const double Stop_cond, const bool use_init_guess, const double Omega_tolerance) |
void | get_parameters (Parameters ¶ms) const |
void | solve (Field &solution, const Field &source, int &Nconv, double &diff) |
Fopr * | get_fopr () |
double | flop_count () |
Public Member Functions inherited from Solver | |
Solver () | |
virtual | ~Solver () |
Static Public Attributes | |
static const std::string | class_name = "Solver_BiCGStab_Cmplx" |
Private Member Functions | |
void | reset_field (const Field &) |
void | solve_init (const Field &, double &) |
void | solve_step (double &) |
Private Attributes | |
Bridge::VerboseLevel | m_vl |
Fopr * | m_fopr |
int | m_Niter |
int | m_Nrestart |
double | m_Stop_cond |
bool | m_use_init_guess |
double | m_Omega_tolerance |
dcomplex | m_rho_prev |
dcomplex | m_alpha_prev |
dcomplex | m_omega_prev |
Field | m_s |
Field | m_r |
Field | m_x |
Field | m_rh |
Field | m_p |
Field | m_v |
Field | m_t |
int | m_Nrestart_count |
int | m_Nconv_count |
BiCGStab algorithm with complex variables.
This class implements BiCGStab algorithm for nonhermitian matrix. The product of vectors is treated in complex. 12 Feb 2012 Y.Namekawa YAML is implemented. [14 Nov 2012 Y.Namekawa] Multi-threaded. [10 Jul 2014 H.Matsufuru] Introduce unique_ptr to avoid memory leaks. [21 Mar 2015 Y.Namekawa] Add restart. [22 Feb 2016 Y.Namekawa] Add flop_count. [ 8 Aug 2016 Y.Namekawa] Add use_init_guess. [ 7 Jul 2017 Y.Namekawa] Add a prescription to improve stability of BiCGStab, recommended by Kanamori-san. See G.L.G.Sleijpen and H.A.van der Vorst, Numerical Algorithms 10(1995)203-22. [26 Apr 2018 Y.Namekawa]
Definition at line 42 of file solver_BiCGStab_Cmplx.h.
|
inline |
Definition at line 67 of file solver_BiCGStab_Cmplx.h.
|
inline |
Definition at line 78 of file solver_BiCGStab_Cmplx.h.
|
inline |
Definition at line 91 of file solver_BiCGStab_Cmplx.h.
|
virtual |
Implements Solver.
Definition at line 382 of file solver_BiCGStab_Cmplx.cpp.
|
inlinevirtual |
Implements Solver.
Definition at line 107 of file solver_BiCGStab_Cmplx.h.
|
virtual |
Implements Solver.
Definition at line 58 of file solver_BiCGStab_Cmplx.cpp.
|
private |
Definition at line 277 of file solver_BiCGStab_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 71 of file solver_BiCGStab_Cmplx.cpp.
void Solver_BiCGStab_Cmplx::set_parameters | ( | const int | Niter, |
const int | Nrestart, | ||
const double | Stop_cond, | ||
const bool | use_init_guess | ||
) |
Definition at line 101 of file solver_BiCGStab_Cmplx.cpp.
void Solver_BiCGStab_Cmplx::set_parameters | ( | const int | Niter, |
const int | Nrestart, | ||
const double | Stop_cond, | ||
const bool | use_init_guess, | ||
const double | Omega_tolerance | ||
) |
Definition at line 149 of file solver_BiCGStab_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 25 of file solver_BiCGStab_Cmplx.cpp.
void Solver_BiCGStab_Cmplx::set_parameters_BiCGStab_series | ( | const double | Omega_tolerance | ) |
Definition at line 133 of file solver_BiCGStab_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 189 of file solver_BiCGStab_Cmplx.cpp.
|
private |
Definition at line 303 of file solver_BiCGStab_Cmplx.cpp.
|
private |
Definition at line 330 of file solver_BiCGStab_Cmplx.cpp.
|
static |
Definition at line 45 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 59 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 50 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 63 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 52 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 52 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 62 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 59 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 56 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 59 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 53 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 54 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 48 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.