Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Solver_BiCGStab_L_Cmplx Class Reference

BiCGStab(L) algorithm. More...

#include <solver_BiCGStab_L_Cmplx.h>

Inheritance diagram for Solver_BiCGStab_L_Cmplx:
Solver

Public Member Functions

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

Private Member Functions

void reset_field (const Field &)
 
void solve_init (const Field &, double &)
 
void solve_step (double &)
 
int index_ij (int i, int j)
 

Private Attributes

Foprm_fopr
 
int m_N_L
 
double m_Tol_L
 
int m_Niter
 
double m_Stop_cond
 
std::valarray< Fieldu
 
std::valarray< Fieldr
 
Field s
 
Field x
 
Field r_init
 
Field v_tmp
 
dcomplex rho_prev
 
dcomplex alpha_prev
 

Additional Inherited Members

- Protected Attributes inherited from Solver
Bridge::VerboseLevel m_vl
 

Detailed Description

BiCGStab(L) algorithm.

This class implements BiCGStab(L) algorithm for nonhermitian matrix. The product of vectors is treated in complex. See G.L.G.Sleijpen and D.R.Fokkema, Elec.Trans.Numer.Anal. 1 (1993) 11. 22 Jan 2012 Y.Namekawa YAML is implemented. [14 Nov 2012 Y.Namekawa] Multi-threaded. [17 Jul 2014 Y.Namekawa]

Definition at line 43 of file solver_BiCGStab_L_Cmplx.h.

Constructor & Destructor Documentation

Solver_BiCGStab_L_Cmplx::Solver_BiCGStab_L_Cmplx ( Fopr fopr)
inline

Definition at line 63 of file solver_BiCGStab_L_Cmplx.h.

Solver_BiCGStab_L_Cmplx::~Solver_BiCGStab_L_Cmplx ( )
inline

Definition at line 66 of file solver_BiCGStab_L_Cmplx.h.

Member Function Documentation

Fopr* Solver_BiCGStab_L_Cmplx::get_fopr ( )
inlinevirtual

Implements Solver.

Definition at line 75 of file solver_BiCGStab_L_Cmplx.h.

int Solver_BiCGStab_L_Cmplx::index_ij ( int  i,
int  j 
)
inlineprivate

Definition at line 83 of file solver_BiCGStab_L_Cmplx.h.

void Solver_BiCGStab_L_Cmplx::reset_field ( const Field b)
private

Definition at line 230 of file solver_BiCGStab_L_Cmplx.cpp.

void Solver_BiCGStab_L_Cmplx::set_parameters ( const Parameters params)
virtual

Implements Solver.

Definition at line 57 of file solver_BiCGStab_L_Cmplx.cpp.

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

Implements Solver.

Definition at line 85 of file solver_BiCGStab_L_Cmplx.cpp.

void Solver_BiCGStab_L_Cmplx::set_parameters_L ( const int  N_L)

Definition at line 111 of file solver_BiCGStab_L_Cmplx.cpp.

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

Implements Solver.

Definition at line 131 of file solver_BiCGStab_L_Cmplx.cpp.

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

Definition at line 262 of file solver_BiCGStab_L_Cmplx.cpp.

void Solver_BiCGStab_L_Cmplx::solve_step ( double &  rr)
private

Definition at line 287 of file solver_BiCGStab_L_Cmplx.cpp.

Member Data Documentation

dcomplex Solver_BiCGStab_L_Cmplx::alpha_prev
private

Definition at line 60 of file solver_BiCGStab_L_Cmplx.h.

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

Definition at line 46 of file solver_BiCGStab_L_Cmplx.h.

Fopr* Solver_BiCGStab_L_Cmplx::m_fopr
private

Definition at line 49 of file solver_BiCGStab_L_Cmplx.h.

int Solver_BiCGStab_L_Cmplx::m_N_L
private

Definition at line 51 of file solver_BiCGStab_L_Cmplx.h.

int Solver_BiCGStab_L_Cmplx::m_Niter
private

Definition at line 54 of file solver_BiCGStab_L_Cmplx.h.

double Solver_BiCGStab_L_Cmplx::m_Stop_cond
private

Definition at line 55 of file solver_BiCGStab_L_Cmplx.h.

double Solver_BiCGStab_L_Cmplx::m_Tol_L
private

Definition at line 52 of file solver_BiCGStab_L_Cmplx.h.

std::valarray<Field> Solver_BiCGStab_L_Cmplx::r
private

Definition at line 57 of file solver_BiCGStab_L_Cmplx.h.

Field Solver_BiCGStab_L_Cmplx::r_init
private

Definition at line 59 of file solver_BiCGStab_L_Cmplx.h.

dcomplex Solver_BiCGStab_L_Cmplx::rho_prev
private

Definition at line 60 of file solver_BiCGStab_L_Cmplx.h.

Field Solver_BiCGStab_L_Cmplx::s
private

Definition at line 59 of file solver_BiCGStab_L_Cmplx.h.

std::valarray<Field> Solver_BiCGStab_L_Cmplx::u
private

Definition at line 57 of file solver_BiCGStab_L_Cmplx.h.

Field Solver_BiCGStab_L_Cmplx::v_tmp
private

Definition at line 59 of file solver_BiCGStab_L_Cmplx.h.

Field Solver_BiCGStab_L_Cmplx::x
private

Definition at line 59 of file solver_BiCGStab_L_Cmplx.h.


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