Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Solver_CGNR Class Reference

CGNR solver. More...

#include <solver_CGNR.h>

Inheritance diagram for Solver_CGNR:
Solver_CG Solver

Public Member Functions

 Solver_CGNR (Fopr *fopr)
 
 Solver_CGNR (unique_ptr< Fopr > &fopr)
 
 ~Solver_CGNR ()
 
void set_parameters (const Parameters &params)
 
void solve (Field &solution, const Field &source, int &Nconv, double &diff)
 
Foprget_fopr ()
 
double flop_count ()
 
- Public Member Functions inherited from Solver_CG
 Solver_CG (Fopr *fopr)
 
 Solver_CG (unique_ptr< Fopr > &fopr)
 
 ~Solver_CG ()
 
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)
 
- 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_CGNR"
 
- Static Public Attributes inherited from Solver_CG
static const std::string class_name = "Solver_CG"
 

Private Attributes

Field m_b2
 

Additional Inherited Members

- Protected Attributes inherited from Solver
Bridge::VerboseLevel m_vl
 

Detailed Description

CGNR solver.

solve D x = b by (Ddag D) x = b' and b' = Ddag b.

delegate to base CG solver. NB. iter displayed by vout.detailed does not give #mult of D but #mult of DdagD

Introduce unique_ptr to avoid memory leaks. [21 Mar 2015 Y.Namekawa] Add flop_count. [ 8 Aug 2016 Y.Namekawa]

Definition at line 35 of file solver_CGNR.h.

Constructor & Destructor Documentation

Solver_CGNR::Solver_CGNR ( Fopr fopr)
inline

Definition at line 43 of file solver_CGNR.h.

Solver_CGNR::Solver_CGNR ( unique_ptr< Fopr > &  fopr)
inline

Definition at line 46 of file solver_CGNR.h.

Solver_CGNR::~Solver_CGNR ( )
inline

Definition at line 49 of file solver_CGNR.h.

Member Function Documentation

double Solver_CGNR::flop_count ( )
virtual

Reimplemented from Solver_CG.

Definition at line 85 of file solver_CGNR.cpp.

Fopr* Solver_CGNR::get_fopr ( )
inlinevirtual

Reimplemented from Solver_CG.

Definition at line 55 of file solver_CGNR.h.

void Solver_CGNR::set_parameters ( const Parameters params)
virtual

Reimplemented from Solver_CG.

Definition at line 26 of file solver_CGNR.cpp.

void Solver_CGNR::solve ( Field solution,
const Field source,
int &  Nconv,
double &  diff 
)
virtual

Reimplemented from Solver_CG.

Definition at line 33 of file solver_CGNR.cpp.

Member Data Documentation

const std::string Solver_CGNR::class_name = "Solver_CGNR"
static

Definition at line 41 of file solver_CGNR.h.

Field Solver_CGNR::m_b2
private

Definition at line 38 of file solver_CGNR.h.


The documentation for this class was generated from the following files: