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

BiCGStab(DS_L) algorithm. More...

#include <solver_BiCGStab_DS_L_Cmplx.h>

Inheritance diagram for Solver_BiCGStab_DS_L_Cmplx:
Solver

Public Member Functions

 Solver_BiCGStab_DS_L_Cmplx (Fopr *fopr)
 
 ~Solver_BiCGStab_DS_L_Cmplx ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const int Niter, const double Stop_cond)
 
void set_parameters_DS_L (const int N_L, const double Tol_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)
 

Private Member Functions

void reset_field (const Field &)
 
void solve_init (const Field &, double &)
 
void solve_step (double &)
 
void innerprod_c (double &prod_r, double &prod_i, const Field &v, const Field &w)
 
void mult_c (Field &v, const Field &w, const double &prod_r, const double &prod_i)
 
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_p
 
dcomplex alpha_p
 
dcomplex omega_p
 
int N_L_p
 

Additional Inherited Members

- Protected Attributes inherited from Solver
Bridge::VerboseLevel m_vl
 

Detailed Description

BiCGStab(DS_L) algorithm.

This class implements BiCGStab(DS_L) algorithm for nonhermitian matrix. The matrix is just nonsymmetric matrix, and the product of vectors is treated in complex. See T.Miyauchi et al, Trans.J.SIAM 11 (2) (2001) 49. 22 Jan 2012 Y.Namekawa YAML is implemented. [14 Nov 2012 Y.Namekawa]

Definition at line 44 of file solver_BiCGStab_DS_L_Cmplx.h.

Constructor & Destructor Documentation

Solver_BiCGStab_DS_L_Cmplx::Solver_BiCGStab_DS_L_Cmplx ( Fopr fopr)
inline

Definition at line 63 of file solver_BiCGStab_DS_L_Cmplx.h.

Solver_BiCGStab_DS_L_Cmplx::~Solver_BiCGStab_DS_L_Cmplx ( )
inline

Definition at line 66 of file solver_BiCGStab_DS_L_Cmplx.h.

Member Function Documentation

Fopr* Solver_BiCGStab_DS_L_Cmplx::get_fopr ( )
inlinevirtual

Implements Solver.

Definition at line 76 of file solver_BiCGStab_DS_L_Cmplx.h.

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

Definition at line 91 of file solver_BiCGStab_DS_L_Cmplx.h.

void Solver_BiCGStab_DS_L_Cmplx::innerprod_c ( double &  prod_r,
double &  prod_i,
const Field v,
const Field w 
)
private

Definition at line 415 of file solver_BiCGStab_DS_L_Cmplx.cpp.

void Solver_BiCGStab_DS_L_Cmplx::mult_c ( Field v,
const Field w,
const double &  prod_r,
const double &  prod_i 
)
private

Definition at line 438 of file solver_BiCGStab_DS_L_Cmplx.cpp.

void Solver_BiCGStab_DS_L_Cmplx::reset_field ( const Field b)
private

Definition at line 195 of file solver_BiCGStab_DS_L_Cmplx.cpp.

void Solver_BiCGStab_DS_L_Cmplx::set_parameters ( const Parameters params)
virtual

Implements Solver.

Definition at line 59 of file solver_BiCGStab_DS_L_Cmplx.cpp.

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

Implements Solver.

Definition at line 89 of file solver_BiCGStab_DS_L_Cmplx.cpp.

void Solver_BiCGStab_DS_L_Cmplx::set_parameters_DS_L ( const int  N_L,
const double  Tol_L 
)

Definition at line 113 of file solver_BiCGStab_DS_L_Cmplx.cpp.

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

Implements Solver.

Definition at line 136 of file solver_BiCGStab_DS_L_Cmplx.cpp.

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

Definition at line 223 of file solver_BiCGStab_DS_L_Cmplx.cpp.

void Solver_BiCGStab_DS_L_Cmplx::solve_step ( double &  rr)
private

Definition at line 248 of file solver_BiCGStab_DS_L_Cmplx.cpp.

Member Data Documentation

dcomplex Solver_BiCGStab_DS_L_Cmplx::alpha_p
private

Definition at line 59 of file solver_BiCGStab_DS_L_Cmplx.h.

Fopr* Solver_BiCGStab_DS_L_Cmplx::m_fopr
private

Definition at line 47 of file solver_BiCGStab_DS_L_Cmplx.h.

int Solver_BiCGStab_DS_L_Cmplx::m_N_L
private

Definition at line 49 of file solver_BiCGStab_DS_L_Cmplx.h.

int Solver_BiCGStab_DS_L_Cmplx::m_Niter
private

Definition at line 52 of file solver_BiCGStab_DS_L_Cmplx.h.

double Solver_BiCGStab_DS_L_Cmplx::m_Stop_cond
private

Definition at line 53 of file solver_BiCGStab_DS_L_Cmplx.h.

double Solver_BiCGStab_DS_L_Cmplx::m_Tol_L
private

Definition at line 50 of file solver_BiCGStab_DS_L_Cmplx.h.

int Solver_BiCGStab_DS_L_Cmplx::N_L_p
private

Definition at line 60 of file solver_BiCGStab_DS_L_Cmplx.h.

dcomplex Solver_BiCGStab_DS_L_Cmplx::omega_p
private

Definition at line 59 of file solver_BiCGStab_DS_L_Cmplx.h.

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

Definition at line 55 of file solver_BiCGStab_DS_L_Cmplx.h.

Field Solver_BiCGStab_DS_L_Cmplx::r_init
private

Definition at line 57 of file solver_BiCGStab_DS_L_Cmplx.h.

dcomplex Solver_BiCGStab_DS_L_Cmplx::rho_p
private

Definition at line 59 of file solver_BiCGStab_DS_L_Cmplx.h.

Field Solver_BiCGStab_DS_L_Cmplx::s
private

Definition at line 57 of file solver_BiCGStab_DS_L_Cmplx.h.

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

Definition at line 55 of file solver_BiCGStab_DS_L_Cmplx.h.

Field Solver_BiCGStab_DS_L_Cmplx::v_tmp
private

Definition at line 57 of file solver_BiCGStab_DS_L_Cmplx.h.

Field Solver_BiCGStab_DS_L_Cmplx::x
private

Definition at line 57 of file solver_BiCGStab_DS_L_Cmplx.h.


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