Bridge++  Ver. 2.0.2
ASolver_FBiCGStab< AFIELD > Class Template Reference

#include <asolver_FBiCGStab.h>

Inheritance diagram for ASolver_FBiCGStab< AFIELD >:
ASolver< AFIELD >

Classes

struct  coeff_t
 

Public Types

typedef AFIELD::real_t real_t
 
using InitialGuess = typename ASolver< AFIELD >::InitialGuess
 
- Public Types inherited from ASolver< AFIELD >
enum  InitialGuess { RHS, GIVEN, ZERO }
 
typedef AFIELD::real_t real_t
 

Public Member Functions

 ASolver_FBiCGStab (AFopr< AFIELD > *fopr, APrecond< AFIELD > *prec)
 constructor. More...
 
 ~ASolver_FBiCGStab ()
 destructor. More...
 
void set_parameters (const Parameters &params)
 setting parameters by a Parameter object. More...
 
void set_parameters (const int Niter, const real_t Stop_cond)
 setting parameters. More...
 
void set_parameters (const int Niter, const real_t Stop_cond, const InitialGuess init_guess_mode)
 setting parameters. More...
 
void set_parameters (const int Niter, const real_t Stop_cond, const bool use_init_guess)
 setting parameters. More...
 
void set_parameters_BiCGStab_series (const real_t Omega_tolerance)
 setting BiCGStab specific parameters. More...
 
void solve (AFIELD &xq, const AFIELD &b, int &nconv, real_t &diff)
 solver main. More...
 
AFopr< AFIELD > * get_afopr ()
 returns the pointer to the fermion operator. More...
 
double flop_count ()
 returns the floating point operation count. More...
 
- Public Member Functions inherited from ASolver< AFIELD >
 ASolver ()
 
virtual ~ASolver ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void set_init_mode (const InitialGuess init_guess)
 
virtual AFopr< AFIELD > * get_fopr ()
 

Public Attributes

struct ASolver_FBiCGStab::coeff_t coeff
 

Static Public Attributes

static const std::string class_name = "ASolver_FBiCGStab"
 

Protected Member Functions

 ASolver_FBiCGStab ()
 calling constructor without fermion operator is forbidden. More...
 
void init (void)
 initial setup. More...
 
void tidyup (void)
 final tidy-up. More...
 
void solve_init (const AFIELD &b, const AFIELD &xq, real_t &rr, coeff_t &prev)
 
void solve_step1 (real_t &rr, coeff_t &prev)
 
void solve_step2 (real_t &rr, coeff_t &prev)
 
void prec (AFIELD &, AFIELD &)
 
double flop_count_intermediate (const int iter)
 

Protected Attributes

int m_nconv
 to remember convergence iteration to provide flop count. More...
 
InitialGuess m_initial_mode
 
double m_Omega_tolerance = 0.7
 
- Protected Attributes inherited from ASolver< AFIELD >
Bridge::VerboseLevel m_vl
 

Private Attributes

AFopr< AFIELD > * m_fopr
 fermion operator. More...
 
APrecond< AFIELD > * m_prec
 preconditioner. More...
 
int m_Niter
 maximum iteration number. More...
 
real_t m_Stop_cond
 stopping criterion (squared). More...
 
real_t m_Stop_cond2
 stopping criterion for inner solver. More...
 
AFIELD m_x
 Matsufuru added: new AField_dev implementation. More...
 
AFIELD m_r
 
AFIELD m_p
 
AFIELD m_s
 
AFIELD m_rh
 
AFIELD m_v
 
AFIELD m_t
 
AFIELD m_u
 

Detailed Description

template<typename AFIELD>
class ASolver_FBiCGStab< AFIELD >

Definition at line 32 of file asolver_FBiCGStab.h.

Member Typedef Documentation

◆ InitialGuess

template<typename AFIELD >
using ASolver_FBiCGStab< AFIELD >::InitialGuess = typename ASolver<AFIELD>::InitialGuess

Definition at line 38 of file asolver_FBiCGStab.h.

◆ real_t

template<typename AFIELD >
typedef AFIELD::real_t ASolver_FBiCGStab< AFIELD >::real_t

Definition at line 35 of file asolver_FBiCGStab.h.

Constructor & Destructor Documentation

◆ ASolver_FBiCGStab() [1/2]

template<typename AFIELD >
ASolver_FBiCGStab< AFIELD >::ASolver_FBiCGStab ( )
inlineprotected

calling constructor without fermion operator is forbidden.

Definition at line 70 of file asolver_FBiCGStab.h.

◆ ASolver_FBiCGStab() [2/2]

template<typename AFIELD >
ASolver_FBiCGStab< AFIELD >::ASolver_FBiCGStab ( AFopr< AFIELD > *  fopr,
APrecond< AFIELD > *  prec 
)
inline

constructor.

Definition at line 74 of file asolver_FBiCGStab.h.

◆ ~ASolver_FBiCGStab()

template<typename AFIELD >
ASolver_FBiCGStab< AFIELD >::~ASolver_FBiCGStab ( )
inline

destructor.

Definition at line 84 of file asolver_FBiCGStab.h.

Member Function Documentation

◆ flop_count()

template<typename AFIELD >
double ASolver_FBiCGStab< AFIELD >::flop_count
virtual

returns the floating point operation count.

Reimplemented from ASolver< AFIELD >.

Definition at line 373 of file asolver_FBiCGStab-tmpl.h.

◆ flop_count_intermediate()

template<typename AFIELD >
double ASolver_FBiCGStab< AFIELD >::flop_count_intermediate ( const int  iter)
protected

Definition at line 381 of file asolver_FBiCGStab-tmpl.h.

◆ get_afopr()

template<typename AFIELD >
AFopr<AFIELD>* ASolver_FBiCGStab< AFIELD >::get_afopr ( )
inline

returns the pointer to the fermion operator.

Definition at line 105 of file asolver_FBiCGStab.h.

◆ init()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::init ( void  )
protected

initial setup.

Definition at line 24 of file asolver_FBiCGStab-tmpl.h.

◆ prec()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::prec ( AFIELD v,
AFIELD w 
)
protected

Definition at line 365 of file asolver_FBiCGStab-tmpl.h.

◆ set_parameters() [1/4]

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::set_parameters ( const int  Niter,
const real_t  Stop_cond 
)

setting parameters.

Definition at line 117 of file asolver_FBiCGStab-tmpl.h.

◆ set_parameters() [2/4]

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::set_parameters ( const int  Niter,
const real_t  Stop_cond,
const bool  use_init_guess 
)

setting parameters.

Definition at line 126 of file asolver_FBiCGStab-tmpl.h.

◆ set_parameters() [3/4]

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::set_parameters ( const int  Niter,
const real_t  Stop_cond,
const InitialGuess  init_guess_mode 
)

setting parameters.

Definition at line 95 of file asolver_FBiCGStab-tmpl.h.

◆ set_parameters() [4/4]

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::set_parameters ( const Parameters params)
virtual

setting parameters by a Parameter object.

Implements ASolver< AFIELD >.

Definition at line 57 of file asolver_FBiCGStab-tmpl.h.

◆ set_parameters_BiCGStab_series()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::set_parameters_BiCGStab_series ( const real_t  Omega_tolerance)

setting BiCGStab specific parameters.

Definition at line 141 of file asolver_FBiCGStab-tmpl.h.

◆ solve()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::solve ( AFIELD xq,
const AFIELD b,
int &  nconv,
real_t diff 
)
virtual

solver main.

Reimplemented from ASolver< AFIELD >.

Definition at line 158 of file asolver_FBiCGStab-tmpl.h.

◆ solve_init()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::solve_init ( const AFIELD b,
const AFIELD xq,
real_t rr,
coeff_t prev 
)
protected

Definition at line 248 of file asolver_FBiCGStab-tmpl.h.

◆ solve_step1()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::solve_step1 ( real_t rr,
coeff_t prev 
)
protected

Definition at line 289 of file asolver_FBiCGStab-tmpl.h.

◆ solve_step2()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::solve_step2 ( real_t rr,
coeff_t prev 
)
protected

Definition at line 314 of file asolver_FBiCGStab-tmpl.h.

◆ tidyup()

template<typename AFIELD >
void ASolver_FBiCGStab< AFIELD >::tidyup ( void  )
protected

final tidy-up.

Definition at line 48 of file asolver_FBiCGStab-tmpl.h.

Member Data Documentation

◆ class_name

template<typename AFIELD >
const std::string ASolver_FBiCGStab< AFIELD >::class_name = "ASolver_FBiCGStab"
static

Definition at line 37 of file asolver_FBiCGStab.h.

◆ coeff

template<typename AFIELD >
struct ASolver_FBiCGStab::coeff_t ASolver_FBiCGStab< AFIELD >::coeff

◆ m_fopr

template<typename AFIELD >
AFopr<AFIELD>* ASolver_FBiCGStab< AFIELD >::m_fopr
private

fermion operator.

Definition at line 49 of file asolver_FBiCGStab.h.

◆ m_initial_mode

template<typename AFIELD >
InitialGuess ASolver_FBiCGStab< AFIELD >::m_initial_mode
protected

Definition at line 66 of file asolver_FBiCGStab.h.

◆ m_nconv

template<typename AFIELD >
int ASolver_FBiCGStab< AFIELD >::m_nconv
protected

to remember convergence iteration to provide flop count.

Definition at line 64 of file asolver_FBiCGStab.h.

◆ m_Niter

template<typename AFIELD >
int ASolver_FBiCGStab< AFIELD >::m_Niter
private

maximum iteration number.

Definition at line 52 of file asolver_FBiCGStab.h.

◆ m_Omega_tolerance

template<typename AFIELD >
double ASolver_FBiCGStab< AFIELD >::m_Omega_tolerance = 0.7
protected

Definition at line 68 of file asolver_FBiCGStab.h.

◆ m_p

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_p
private

Definition at line 57 of file asolver_FBiCGStab.h.

◆ m_prec

template<typename AFIELD >
APrecond<AFIELD>* ASolver_FBiCGStab< AFIELD >::m_prec
private

preconditioner.

Definition at line 50 of file asolver_FBiCGStab.h.

◆ m_r

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_r
private

Definition at line 57 of file asolver_FBiCGStab.h.

◆ m_rh

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_rh
private

Definition at line 57 of file asolver_FBiCGStab.h.

◆ m_s

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_s
private

Definition at line 57 of file asolver_FBiCGStab.h.

◆ m_Stop_cond

template<typename AFIELD >
real_t ASolver_FBiCGStab< AFIELD >::m_Stop_cond
private

stopping criterion (squared).

Definition at line 53 of file asolver_FBiCGStab.h.

◆ m_Stop_cond2

template<typename AFIELD >
real_t ASolver_FBiCGStab< AFIELD >::m_Stop_cond2
private

stopping criterion for inner solver.

Definition at line 54 of file asolver_FBiCGStab.h.

◆ m_t

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_t
private

Definition at line 57 of file asolver_FBiCGStab.h.

◆ m_u

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_u
private

Definition at line 57 of file asolver_FBiCGStab.h.

◆ m_v

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_v
private

Definition at line 57 of file asolver_FBiCGStab.h.

◆ m_x

template<typename AFIELD >
AFIELD ASolver_FBiCGStab< AFIELD >::m_x
private

Matsufuru added: new AField_dev implementation.

Definition at line 57 of file asolver_FBiCGStab.h.


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