Go to the documentation of this file.
   29 template<
typename AFIELD>
 
   55   unique_ptr<APrecond_MG<AFIELD, AFIELD2> > 
m_prec_mg;
 
  121   void set_parameters(
const int Niter, 
const real_t Stop_cond, 
const std::vector<int>& sap_block_size, 
const int nvec);
 
  124                       const std::vector<int>& sap_block_size, 
const int nvec, 
const int nsetup,
 
  125                       const int coarse_niter, 
const real_t coarse_stop_cond, 
const std::string& coarse_vlevel,
 
  126                       const int smoother_niter, 
const real_t smoother_stop_cond);
 
  149   void set_lattice(
const vector<int>& sap_block_size);
 
  186 #endif // include gurad 
  
 
AFopr< AFIELD2 > * get_fopr_coarse()
 
int m_nvec
number of testvectors
 
void set_lattice(const vector< int > &sap_block_size)
 
Multigrid preconditionor (SIMD version)
 
static constexpr int m_min_res_iter
 
AFopr< AFIELD > * get_fopr()
returns the pointer to the fermion operator.
 
int m_Niter
maximum iteration number.
 
void solve_MG_init(real_t &rrp, real_t &rr)
 
void set_parameters_level0(const Parameters ¶ms)
setting parameters by a Parameter object.
 
std::vector< int > m_coarse_lattice
 
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
 
double flop_count_setup()
returns the floating point operation count [setup].
 
void set_parameters_level1(const Parameters ¶ms)
setting parameters by a Parameter object.
 
AFopr< AFIELD > * m_afopr_fineD
 
Parameters m_params_asolver_coarse
parameters for coarse grid solver
 
Base class of fermion operator family.
 
unique_ptr< MultiGrid< AFIELD2, AFIELD2 > > m_multigrid
 
void run_setup_iterative(int niter, std::vector< AFIELD2 > &testvec_work)
 
void set_foprD(AFopr< AFIELD > *foprD)
 
void solve_MG_step(real_t &rrp, real_t &rr)
 
unique_ptr< ASolver< AFIELD2 > > m_asolver_coarse
 
unique_ptr< APrecond_MG< AFIELD, AFIELD2 > > m_prec_mg
 
double flop_count()
returns the floating point operation count.
 
static const std::string class_name
 
int m_nsetup
setup iterations
 
unique_ptr< ASolver< AFIELD > > m_outer_solver
 
void run_setup_initial(std::vector< AFIELD2 > &testvec_work)
 
void set_foprF(AFopr_dd< AFIELD2 > *foprF)
 
int m_Nconv
iteratoin number to calculate flop
 
real_t m_Stop_cond
stopping criterion (squared).
 
void solve(AFIELD &xq, const AFIELD &b, int &nconv, real_t &diff)
solver main.
 
std::vector< int > m_sap_block_size
 
unique_ptr< ASolver< AFIELD2 > > m_asolver_smoother
 
ASolver_MG_double()
constructor.
 
unique_ptr< AFopr< AFIELD2 > > m_afopr_coarse
 
AFIELD m_x
calling constructor without fermion operator is forbidden.
 
Parameters m_params_asolver_outer
parameters for outer solver
 
AFopr_dd< AFIELD2 > * get_foprF()
 
unique_ptr< Timer > m_timer_generate_coarse_op
 
Container of Field-type object.
 
unique_ptr< Timer > m_timer_gramschmidt
 
~ASolver_MG_double()
destructor.
 
int m_nconv
set "D" for colver (default), "DdagD" for domainwall
 
AFopr< AFIELD > * get_foprD()
 
AFopr_dd< AFIELD2 > * m_afopr_fineF