29#ifndef SOLVER_MODULES_H
30#define SOLVER_MODULES_H
38template <
template <
typename>
class SolverType,
class Field,
class SPar>
50 template <
class ReaderClass>
54 std::cout << this->
Par_ << std::endl;
69template <
char const *str,
class Field,
class ReaderClass >
71 :
public Factory < HMCModuleBase<OperatorFunction<Field> > , Reader<ReaderClass> > {
86 return std::string(str);
96 RealD, max_iterations);
111template <
class Field >
114 using SolverBase::SolverBase;
122template <
class Field >
125 using SolverBase::SolverBase;
133template <
class Field >
136 using SolverBase::SolverBase;
#define NAMESPACE_BEGIN(A)
SolverModule< BiCGSTAB, Field, SolverParameters > SolverBase
virtual void initialize()
virtual void initialize()
SolverModule< ConjugateGradient, Field, SolverParameters > SolverBase
SolverModule< ConjugateResidual, Field, SolverParameters > SolverBase
virtual void initialize()
OperatorFunction< Field > Product
Reader< ReaderClass > TheReader
HMC_SolverModuleFactory(void)=default
std::string obj_type() const
HMC_SolverModuleFactory(const HMC_SolverModuleFactory &e)=delete
static HMC_SolverModuleFactory & getInstance(void)
void operator=(const HMC_SolverModuleFactory &e)=delete
Parametrized(Parameters Par)
virtual void print_parameters()
HMCModuleBase< OperatorFunction< Field > > Base
std::unique_ptr< ConjugateGradient< Field > > SolverPtr
virtual void initialize()=0
SolverModule(Reader< ReaderClass > &Reader)
GRID_SERIALIZABLE_CLASS_MEMBERS(SolverObjName, std::string, name, SolverParameters, parameters)
GRID_SERIALIZABLE_CLASS_MEMBERS(SolverParameters, RealD, tolerance, RealD, max_iterations)