Go to the documentation of this file.
16 #ifdef USE_FACTORY_AUTOREGISTER
18 bool init = Fopr_CloverGeneral::register_factory();
64 double kappa_s, kappa_t;
70 err += params.
fetch_double(
"hopping_parameter_spatial", kappa_s);
71 err += params.
fetch_double(
"hopping_parameter_temporal", kappa_t);
72 err += params.
fetch_double(
"dispersion_parameter_spatial", nu_s);
73 err += params.
fetch_double(
"Wilson_parameter_spatial", r_s);
74 err += params.
fetch_double(
"clover_coefficient_spatial", cSW_s);
75 err += params.
fetch_double(
"clover_coefficient_temporal", cSW_t);
106 const double nu_s,
const double r_s,
107 const double cSW_s,
const double cSW_t,
108 const std::vector<int> bc)
118 for (
int mu = 0; mu <
m_Ndim; ++mu) {
124 assert(bc.size() ==
m_Ndim);
149 if (ith == 0)
m_mode = mode;
158 assert(f.
nex() == 1);
207 const int mu,
const int nu)
230 gflop_csw += 2 *
m_Nc *
m_Nd / Nvol / NPE / 1.0e+9;
232 double gflop = gflop_w + gflop_csw;
235 if ((
m_mode ==
"DdagD") || (
m_mode ==
"DDdag")) gflop += gflop_csw;
Org::Fopr_WilsonGeneral Fopr_WilsonGeneral
void set_string(const string &key, const string &value)
Org::Fopr_CloverTerm_General Fopr_CloverTerm_General
void mult_isigma(Field_F &, const Field_F &, const int mu, const int nu)
void set_mode(const std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
void set_double(const string &key, const double value)
void H(Field &, const Field &)
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
double m_r_s
spatial Wilson parameter
double m_kappa_t
temporal hopping parameter
double m_cSW_t
temporal clover coefficient
void Ddag(Field &, const Field &)
void D(Field &v, const Field &f)
void get_parameters(Parameters ¶ms) const
gets parameters by a Parameter object: to be implemented in a subclass.
const Field_G * m_U
gauge configuration (pointer)
int m_NinF
internal parameters
int fetch_int_vector(const string &key, vector< int > &value) const
double flop_count()
this returns the number of floating point operations.
static const std::string class_name
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
Fopr_CloverTerm_General * m_fopr_csw
Clover term operator.
double m_kappa_s
spatial hopping parameter
double m_nu_s
spatial anisotopy parameter
void mult_isigma(Field_F &, const Field_F &, const int mu, const int nu)
double m_cSW_s
spatial clover coefficient
void mult_gm5(Field &v, const Field &w)
multiplies gamma_5 matrix.
std::string m_repr
gamma matrix representation
void reset(const int Nin, const int Nvol, const int Nex, const element_type cmpl=Element_type::COMPLEX)
void set_int_vector(const string &key, const vector< int > &value)
Fopr_WilsonGeneral * m_fopr_w
Wilson fermion kernel.
static VerboseLevel set_verbose_level(const std::string &str)
std::vector< int > m_boundary
boundary conditions
void init(const std::string repr)
double flop_count()
this returns the number of floating point operations.
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
void DdagD(Field &, const Field &)
void DDdag(Field &, const Field &)
int fetch_string(const string &key, string &value) const
Wilson-type fermion field.
int fetch_double(const string &key, double &value) const
void crucial(const char *format,...)
std::string m_mode
mode of multiplication
Container of Field-type object.
double flop_count()
this returns the number of floating point operations.
static int get_thread_id()
returns thread id.
void D(Field &, const Field &)
void mult_sigmaF(Field &, const Field &)
Bridge::VerboseLevel m_vl
void general(const char *format,...)
static std::string get_verbose_level(const VerboseLevel vl)