|
Bridge++
Ver. 1.3.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 (unique_ptr< 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 () |
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_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::vector< Field > | v |
| Field | s |
| Field | r |
| Field | x |
| Field | v_tmp |
| double | beta_prev |
Additional Inherited Members | |
Protected Attributes inherited from Solver | |
| 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] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa]
Definition at line 46 of file solver_GMRES_m_Cmplx.h.
|
inline |
Definition at line 65 of file solver_GMRES_m_Cmplx.h.
|
inline |
Definition at line 68 of file solver_GMRES_m_Cmplx.h.
|
inline |
Definition at line 71 of file solver_GMRES_m_Cmplx.h.
|
inlinevirtual |
Implements Solver.
Definition at line 80 of file solver_GMRES_m_Cmplx.h.
|
inlineprivate |
Definition at line 95 of file solver_GMRES_m_Cmplx.h.
|
private |
|
private |
Definition at line 308 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 205 of file solver_GMRES_m_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 57 of file solver_GMRES_m_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 85 of file solver_GMRES_m_Cmplx.cpp.
| void Solver_GMRES_m_Cmplx::set_parameters_GMRES_m | ( | const int | N_M | ) |
Definition at line 111 of file solver_GMRES_m_Cmplx.cpp.
|
virtual |
Implements Solver.
Definition at line 131 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 235 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 258 of file solver_GMRES_m_Cmplx.cpp.
|
private |
Definition at line 62 of file solver_GMRES_m_Cmplx.h.
|
static |
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 57 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 54 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 55 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 61 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 61 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 59 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 61 of file solver_GMRES_m_Cmplx.h.
|
private |
Definition at line 61 of file solver_GMRES_m_Cmplx.h.