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