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

BiCGStab algorithm with complex variables. More...

#include <solver_BiCGStab_Cmplx.h>

Inheritance diagram for Solver_BiCGStab_Cmplx:
Solver

Public Member Functions

 Solver_BiCGStab_Cmplx (Fopr *fopr)
 
 Solver_BiCGStab_Cmplx (unique_ptr< Fopr > &fopr)
 
 ~Solver_BiCGStab_Cmplx ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const int Niter, const int Nrestart, const double Stop_cond)
 
void solve (Field &solution, const Field &source, int &Nconv, double &diff)
 
Foprget_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

Foprm_fopr
 
int m_Niter
 
int m_Nrestart
 
double m_Stop_cond
 
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
 

Detailed Description

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]

Definition at line 39 of file solver_BiCGStab_Cmplx.h.

Constructor & Destructor Documentation

Solver_BiCGStab_Cmplx::Solver_BiCGStab_Cmplx ( Fopr fopr)
inline

Definition at line 58 of file solver_BiCGStab_Cmplx.h.

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

Definition at line 65 of file solver_BiCGStab_Cmplx.h.

Solver_BiCGStab_Cmplx::~Solver_BiCGStab_Cmplx ( )
inline

Definition at line 72 of file solver_BiCGStab_Cmplx.h.

Member Function Documentation

double Solver_BiCGStab_Cmplx::flop_count ( )
virtual

Implements Solver.

Definition at line 259 of file solver_BiCGStab_Cmplx.cpp.

Fopr* Solver_BiCGStab_Cmplx::get_fopr ( )
inlinevirtual

Implements Solver.

Definition at line 80 of file solver_BiCGStab_Cmplx.h.

void Solver_BiCGStab_Cmplx::reset_field ( const Field b)
private

Definition at line 163 of file solver_BiCGStab_Cmplx.cpp.

void Solver_BiCGStab_Cmplx::set_parameters ( const Parameters params)
virtual

Implements Solver.

Definition at line 33 of file solver_BiCGStab_Cmplx.cpp.

void Solver_BiCGStab_Cmplx::set_parameters ( const int  Niter,
const int  Nrestart,
const double  Stop_cond 
)
virtual

Implements Solver.

Definition at line 59 of file solver_BiCGStab_Cmplx.cpp.

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

Implements Solver.

Definition at line 89 of file solver_BiCGStab_Cmplx.cpp.

void Solver_BiCGStab_Cmplx::solve_init ( const Field b,
double &  rr 
)
private

Definition at line 189 of file solver_BiCGStab_Cmplx.cpp.

void Solver_BiCGStab_Cmplx::solve_step ( double &  rr)
private

Definition at line 216 of file solver_BiCGStab_Cmplx.cpp.

Member Data Documentation

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

Definition at line 42 of file solver_BiCGStab_Cmplx.h.

dcomplex Solver_BiCGStab_Cmplx::m_alpha_prev
private

Definition at line 51 of file solver_BiCGStab_Cmplx.h.

Fopr* Solver_BiCGStab_Cmplx::m_fopr
private

Definition at line 45 of file solver_BiCGStab_Cmplx.h.

int Solver_BiCGStab_Cmplx::m_Nconv_count
private

Definition at line 55 of file solver_BiCGStab_Cmplx.h.

int Solver_BiCGStab_Cmplx::m_Niter
private

Definition at line 47 of file solver_BiCGStab_Cmplx.h.

int Solver_BiCGStab_Cmplx::m_Nrestart
private

Definition at line 47 of file solver_BiCGStab_Cmplx.h.

int Solver_BiCGStab_Cmplx::m_Nrestart_count
private

Definition at line 54 of file solver_BiCGStab_Cmplx.h.

dcomplex Solver_BiCGStab_Cmplx::m_omega_prev
private

Definition at line 51 of file solver_BiCGStab_Cmplx.h.

Field Solver_BiCGStab_Cmplx::m_p
private

Definition at line 52 of file solver_BiCGStab_Cmplx.h.

Field Solver_BiCGStab_Cmplx::m_r
private

Definition at line 52 of file solver_BiCGStab_Cmplx.h.

Field Solver_BiCGStab_Cmplx::m_rh
private

Definition at line 52 of file solver_BiCGStab_Cmplx.h.

dcomplex Solver_BiCGStab_Cmplx::m_rho_prev
private

Definition at line 51 of file solver_BiCGStab_Cmplx.h.

Field Solver_BiCGStab_Cmplx::m_s
private

Definition at line 52 of file solver_BiCGStab_Cmplx.h.

double Solver_BiCGStab_Cmplx::m_Stop_cond
private

Definition at line 48 of file solver_BiCGStab_Cmplx.h.

Field Solver_BiCGStab_Cmplx::m_t
private

Definition at line 52 of file solver_BiCGStab_Cmplx.h.

Field Solver_BiCGStab_Cmplx::m_v
private

Definition at line 52 of file solver_BiCGStab_Cmplx.h.

Field Solver_BiCGStab_Cmplx::m_x
private

Definition at line 52 of file solver_BiCGStab_Cmplx.h.


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