Go to the documentation of this file.
19 #ifdef USE_FACTORY_AUTOREGISTER
21 bool init = Fopr_Clover_eo::register_factory();
48 vout.
crucial(
"Error in %s: irrelevant mult mode = %s\n",
159 const std::vector<int> bc)
161 assert(bc.size() ==
m_Ndim);
176 for (
int mu = 0; mu <
m_Ndim; ++mu) {
213 if (ith == 0)
m_mode = mode;
224 }
else if (
m_mode ==
"Ddag") {
226 }
else if (
m_mode ==
"DdagD") {
228 }
else if (
m_mode ==
"DDdag") {
230 }
else if (
m_mode ==
"H") {
245 }
else if (
m_mode ==
"Ddag") {
247 }
else if (
m_mode ==
"DdagD") {
249 }
else if (
m_mode ==
"DDdag") {
251 }
else if (
m_mode ==
"H") {
377 const int mu,
const int nu)
399 double gflop = gflop_w + 2 * gflop_csw;
402 if ((
m_mode ==
"DdagD") || (
m_mode ==
"DDdag")) gflop += 2 * gflop_csw;
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
Org::Fopr_Wilson_eo Fopr_Wilson_eo
Even-odd Wilson fermion operator.
std::vector< int > m_boundary
boundary condition.
void set_string(const string &key, const string &value)
double m_cSW
clover coefficient.
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field (2nd argument)
void init(const std::string repr)
double flop_count()
returns number of floating point operations.
void set_double(const string &key, const double value)
double flop_count()
this returns the number of floating point operations of Meo.
void postProp(Field &x, const Field &xe, const Field &bo)
void Meo(Field &, const Field &, const int ieo)
void aypx(const double a, Field &y, const Field &x)
aypx(y, a, x): y := a * y + x
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
void mult_isigma(Field_F &, const Field_F &, const int mu, const int nu)
void set_config(Field *U)
sets the gauge configuration.
std::string m_repr
gamma-matrix type
void reverseField(Field &lex, const Field &eo)
void get_parameters(Parameters ¶ms) const
gets parameters by a Parameter object: to be implemented in a subclass.
void mult_csw_inv(Field &, const Field &, const int ieo)
multiplies [1 - csw kappa sigma_{mu nu} F_{mu nu} ]^{-1}
void H(Field &v, const Field &f)
void convertField(Field &eo, const Field &lex)
void mult_gm5(Field &, const Field &)
multiplies gamma_5 matrix.
int fetch_int_vector(const string &key, vector< int > &value) const
void DdagD(Field &v, const Field &f)
static const std::string class_name
Bridge::VerboseLevel m_vl
verbose level
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
void set_config(Field *U)
setting pointer to the gauge configuration.
Org::Fopr_CloverTerm_eo Fopr_CloverTerm_eo
void DDdag(Field &v, const Field &f)
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)
void Ddag(Field &v, const Field &f)
void D(Field &v, const Field &f)
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
Fopr_CloverTerm_eo * m_fopr_csw
void Mdageo(Field &, const Field &, const int ieo)
void preProp(Field &Be, Field &bo, const Field &b)
void set_mode(const std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
static Bridge::VerboseLevel Vlevel()
static VerboseLevel set_verbose_level(const std::string &str)
Fopr_Wilson_eo * m_fopr_w
int fetch_string(const string &key, string &value) const
Wilson-type fermion field.
int fetch_double(const string &key, double &value) const
void Meo(Field &, const Field &, const int ieo)
double m_kappa
hopping parameter.
void crucial(const char *format,...)
Container of Field-type object.
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult(Field&, const Field&).
static int get_thread_id()
returns thread id.
void mult_gm5(Field &, const Field &)
multiplies gamma_5 matrix.
void general(const char *format,...)
void set_config(Field *U)
setting pointer to the gauge configuration.
static void assert_single_thread(const std::string &class_name)
assert currently running on single thread.
double flop_count()
this returns the number of floating point operations.
void mult_isigma(Field_F &w, const Field_F &f, const int mu, const int nu)
bool m_is_initial_step
to avoid redundant setup
static std::string get_verbose_level(const VerboseLevel vl)