Bridge++
Version 1.5.4
|
Standard Conjugate Gradient solver algorithm. More...
#include <solver_CG.h>
Public Member Functions | |
Solver_CG (Fopr *fopr) | |
Solver_CG (unique_ptr< Fopr > &fopr) | |
~Solver_CG () | |
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 | 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_CG" |
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 |
Field | m_s |
Field | m_r |
Field | m_x |
Field | m_p |
int | m_Nrestart_count |
int | m_Nconv_count |
Additional Inherited Members | |
Protected Attributes inherited from Solver | |
Bridge::VerboseLevel | m_vl |
Standard Conjugate Gradient solver algorithm.
This solver class implements the standard Conjugate Gradient solver algorithm. 22 Dec H.Matsufuru YAML is implemented. [14 Nov 2012 Y.Namekawa] Multi-threaded. [17 Jul 2014 Y.Namekawa] 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]
Definition at line 38 of file solver_CG.h.
|
inline |
Definition at line 58 of file solver_CG.h.
|
inline |
Definition at line 66 of file solver_CG.h.
|
inline |
Definition at line 74 of file solver_CG.h.
|
virtual |
Implements Solver.
Reimplemented in Solver_CGNE, and Solver_CGNR.
Definition at line 258 of file solver_CG.cpp.
|
inlinevirtual |
Implements Solver.
Reimplemented in Solver_CGNE, and Solver_CGNR.
Definition at line 83 of file solver_CG.h.
|
private |
Definition at line 200 of file solver_CG.cpp.
|
virtual |
Implements Solver.
Reimplemented in Solver_CGNE, and Solver_CGNR.
Definition at line 25 of file solver_CG.cpp.
|
virtual |
Implements Solver.
Definition at line 52 of file solver_CG.cpp.
|
virtual |
Implements Solver.
Definition at line 81 of file solver_CG.cpp.
|
virtual |
Implements Solver.
Reimplemented in Solver_CGNE, and Solver_CGNR.
Definition at line 112 of file solver_CG.cpp.
|
private |
Definition at line 223 of file solver_CG.cpp.
|
private |
Definition at line 238 of file solver_CG.cpp.
|
static |
Definition at line 41 of file solver_CG.h.
|
private |
Definition at line 44 of file solver_CG.h.
|
private |
Definition at line 55 of file solver_CG.h.
|
private |
Definition at line 46 of file solver_CG.h.
|
private |
Definition at line 47 of file solver_CG.h.
|
private |
Definition at line 54 of file solver_CG.h.
|
private |
Definition at line 52 of file solver_CG.h.
|
private |
Definition at line 52 of file solver_CG.h.
|
private |
Definition at line 52 of file solver_CG.h.
|
private |
Definition at line 48 of file solver_CG.h.
|
private |
Definition at line 49 of file solver_CG.h.
|
private |
Definition at line 52 of file solver_CG.h.