Bridge++
Ver. 1.2.x
|
GMRES(m) algorithm with complex variables. More...
#include <solver_GMRES_m_Cmplx.h>
Public Member Functions | |
Solver_GMRES_m_Cmplx (Fopr *fopr) | |
~Solver_GMRES_m_Cmplx () | |
void | set_parameters (const Parameters ¶ms) |
void | set_parameters (const int Niter, const double Stop_cond) |
void | set_parameters_GMRES_m (const int N_M) |
void | solve (Field &solution, const Field &source, int &Nconv, double &diff) |
Fopr * | get_fopr () |
![]() | |
Solver () | |
virtual | ~Solver () |
void | set_parameter_verboselevel (const Bridge::VerboseLevel vl) |
Static Public Attributes | |
static const std::string | class_name = "Solver_GMRES_m_Cmplx" |
Private Member Functions | |
void | reset_field (const Field &) |
void | solve_init (const Field &, double &) |
void | solve_step (const Field &, double &) |
void | innerprod_c (double &prod_r, double &prod_i, const Field &v, const Field &w) |
void | min_J (std::valarray< dcomplex > &y, std::valarray< dcomplex > &h) |
int | index_ij (int i, int j) |
Private Attributes | |
Fopr * | m_fopr |
int | m_Niter |
double | m_Stop_cond |
int | m_N_M |
std::valarray< Field > | v |
Field | s |
Field | r |
Field | x |
Field | v_tmp |
double | beta_prev |
Additional Inherited Members | |
![]() | |
Bridge::VerboseLevel | m_vl |
GMRES(m) algorithm with complex variables.
This class implements GMRES(m) algorithm for nonhermitian matrix. The product of vectors is treated in complex. See Y.Saad and M.H.Schultz, SIAM J.Sci.Stat.Comput. 7 (1986) 856. 8 Aug 2012 Y.Namekawa YAML is implemented. [14 Nov 2012 Y.Namekawa] Multi-threaded. [17 Jul 2014 Y.Namekawa]
Definition at line 42 of file solver_GMRES_m_Cmplx.h.
|
inline |
Definition at line 62 of file solver_GMRES_m_Cmplx.h.
|
inline |
Definition at line 65 of file solver_GMRES_m_Cmplx.h.
|
inlinevirtual |
Implements Solver.
Definition at line 74 of file solver_GMRES_m_Cmplx.h.
|
inlineprivate |
Definition at line 89 of file solver_GMRES_m_Cmplx.h.
|
private |
|
private |
Definition at line 327 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 226 of file solver_GMRES_m_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 55 of file solver_GMRES_m_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 83 of file solver_GMRES_m_Cmplx.cpp.
void Solver_GMRES_m_Cmplx::set_parameters_GMRES_m | ( | const int | N_M | ) |
Definition at line 109 of file solver_GMRES_m_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 129 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 255 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 277 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 58 of file solver_GMRES_m_Cmplx.h.
|
static |
Definition at line 45 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 49 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 53 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 50 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 51 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 57 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 57 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 55 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 57 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 57 of file solver_GMRES_m_Cmplx.h.