Bridge++
Version 1.5.4
|
BiCGStab algorithm with complex variables. More...
#include <solver_BiCGStab_Cmplx.h>
Public Member Functions | |
Solver_BiCGStab_Cmplx (Fopr *fopr) | |
Solver_BiCGStab_Cmplx (unique_ptr< Fopr > &fopr) | |
~Solver_BiCGStab_Cmplx () | |
void | set_parameters (const Parameters ¶ms) |
void | set_parameters (const int Niter, const int Nrestart, const double Stop_cond) |
void | set_parameters (const int Niter, const int Nrestart, const double Stop_cond, const bool use_init_guess) |
void | set_parameters_BiCGStab_series (const double Omega_tolerance) |
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 () |
void | set_parameter_verboselevel (const Bridge::VerboseLevel vl) |
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 | |
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 |
Additional Inherited Members | |
Protected Attributes inherited from Solver | |
Bridge::VerboseLevel | m_vl |
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 64 of file solver_BiCGStab_Cmplx.h.
|
inline |
Definition at line 74 of file solver_BiCGStab_Cmplx.h.
|
inline |
Definition at line 84 of file solver_BiCGStab_Cmplx.h.
|
virtual |
Implements Solver.
Definition at line 327 of file solver_BiCGStab_Cmplx.cpp.
|
inlinevirtual |
Implements Solver.
Definition at line 94 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 222 of file solver_BiCGStab_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 25 of file solver_BiCGStab_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 56 of file solver_BiCGStab_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 86 of file solver_BiCGStab_Cmplx.cpp.
void Solver_BiCGStab_Cmplx::set_parameters_BiCGStab_series | ( | const double | Omega_tolerance | ) |
Definition at line 118 of file solver_BiCGStab_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 134 of file solver_BiCGStab_Cmplx.cpp.
|
private |
Definition at line 248 of file solver_BiCGStab_Cmplx.cpp.
|
private |
Definition at line 275 of file solver_BiCGStab_Cmplx.cpp.
|
static |
Definition at line 45 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 57 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 48 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 61 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 50 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 50 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 60 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 57 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 54 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 58 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 58 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 58 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 57 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 58 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 51 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 58 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 52 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 58 of file solver_BiCGStab_Cmplx.h.
|
private |
Definition at line 58 of file solver_BiCGStab_Cmplx.h.