16 #ifdef USE_FACTORY_AUTOREGISTER
18 bool init = Fopr_CloverGeneral::register_factory();
58 const std::string str_vlevel = params.
get_string(
"verbose_level");
63 double kappa_s, kappa_t;
69 err += params.
fetch_double(
"hopping_parameter_spatial", kappa_s);
70 err += params.
fetch_double(
"hopping_parameter_temporal", kappa_t);
71 err += params.
fetch_double(
"dispersion_parameter_spatial", nu_s);
72 err += params.
fetch_double(
"Wilson_parameter_spatial", r_s);
73 err += params.
fetch_double(
"clover_coefficient_spatial", cSW_s);
74 err += params.
fetch_double(
"clover_coefficient_temporal", cSW_t);
89 const double nu_s,
const double r_s,
90 const double cSW_s,
const double cSW_t,
91 const std::vector<int> bc)
101 for (
int mu = 0; mu <
m_Ndim; ++mu) {
107 assert(bc.size() ==
m_Ndim);
129 assert(f.
nex() == 1);
178 const int mu,
const int nu)
201 gflop_csw += 2 *
m_Nc *
m_Nd / Nvol / NPE / 1.0e+9;
203 double gflop = gflop_w + gflop_csw;
206 if ((
m_mode ==
"DdagD") || (
m_mode ==
"DDdag")) gflop += gflop_csw;
Org::Fopr_CloverTerm_General Fopr_CloverTerm_General
std::string m_repr
gamma matrix representation
void general(const char *format,...)
double m_r_s
spatial Wilson parameter
void H(Field &, const Field &)
std::vector< int > m_boundary
boundary conditions
std::string m_mode
mode of multiplication
Container of Field-type object.
void set_parameters(const Parameters ¶ms)
int fetch_double(const string &key, double &value) const
double m_cSW_s
spatial clover coefficient
void D(Field &, const Field &)
static const std::string class_name
double m_kappa_t
temporal hopping parameter
void Ddag(Field &, const Field &)
double m_kappa_s
spatial hopping parameter
double m_cSW_t
temporal clover coefficient
Fopr_CloverTerm_General * m_fopr_csw
Clover term operator.
void set_parameters(const Parameters ¶ms)
Wilson-type fermion field.
double flop_count()
this returns the number of floating point operations.
void init(const std::string repr)
Bridge::VerboseLevel m_vl
void mult_isigma(Field_F &, const Field_F &, const int mu, const int nu)
void mult_sigmaF(Field &, const Field &)
double flop_count()
this returns the number of floating point operations.
Fopr_WilsonGeneral * m_fopr_w
Wilson fermion kernel.
double m_nu_s
spatial anisotopy parameter
void reset(const int Nin, const int Nvol, const int Nex, const element_type cmpl=Element_type::COMPLEX)
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
void crucial(const char *format,...)
void set_parameters(const Parameters ¶ms)
void mult_isigma(Field_F &, const Field_F &, const int mu, const int nu)
void DDdag(Field &, const Field &)
double flop_count()
this returns the number of floating point operations.
void DdagD(Field &, const Field &)
void D(Field &v, const Field &f)
string get_string(const string &key) const
int fetch_int_vector(const string &key, vector< int > &value) const
Org::Fopr_WilsonGeneral Fopr_WilsonGeneral
const Field_G * m_U
gauge configuration (pointer)
int m_NinF
internal parameters
void mult_gm5(Field &v, const Field &w)
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]
static VerboseLevel set_verbose_level(const std::string &str)