14 #ifndef FOPR_CLOVERGENERAL_INCLUDED
15 #define FOPR_CLOVERGENERAL_INCLUDED
82 const double nu_s,
const double r_s,
83 const double cSW_s,
const double cSW_t,
84 const std::vector<int> bc);
114 }
else if (
m_mode ==
"Ddag") {
116 }
else if (
m_mode ==
"DdagD") {
118 }
else if (
m_mode ==
"DDdag") {
120 }
else if (
m_mode ==
"H") {
132 }
else if (
m_mode ==
"DdagD") {
134 }
else if (
m_mode ==
"Ddag") {
136 }
else if (
m_mode ==
"H") {
166 const int mu,
const int nu);
176 void init(
const std::string repr);
181 static Fopr *create_object()
186 static Fopr *create_object_with_arg(
const std::string& repr)
192 static bool register_factory()
194 bool init1 = Fopr::Factory_noarg::Register(
"CloverGeneral", create_object);
195 bool init2 = Fopr::Factory_string::Register(
"CloverGeneral", create_object_with_arg);
197 return init1 && init2;
std::string m_repr
gamma matrix representation
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult(Field&, const Field&).
double m_r_s
spatial Wilson parameter
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
void H(Field &, const Field &)
std::vector< int > m_boundary
boundary conditions
void mult_up(const int mu, Field &w, const Field &f)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
std::string m_mode
mode of multiplication
Container of Field-type object.
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
double m_cSW_s
spatial clover coefficient
void set_config(Field *U)
setting pointer to the gauge configuration.
void D(Field &, const Field &)
void mult_dn(const int mu, Field &v, const Field &w)
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.
Wilson-type fermion field.
std::string get_mode() const
only for Fopr_Overlap
double flop_count()
this returns the number of floating point operations.
void mult_dn(const int mu, Field &w, const Field &f)
void init(const std::string repr)
Bridge::VerboseLevel m_vl
Fopr_WilsonGeneral * m_fopr_w
Wilson fermion kernel.
double m_nu_s
spatial anisotopy parameter
void set_config(Field *U)
setting pointer to the gauge configuration.
void mult_gm5(Field &v, const Field &f)
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]
Clover general fermion operator.
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)
int field_nvol()
returns the volume for which the fermion operator is defined.
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field (2nd argument)
void set_config(Field *U)
setting pointer to the gauge configuration.
void mult_up(const int mu, Field &v, const Field &w)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
void DDdag(Field &, const Field &)
Fopr_CloverGeneral(const std::string repr)
void DdagD(Field &, const Field &)
Base class of fermion operator family.
void set_mode(const std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
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]
void set_config(unique_ptr< Field_G > &U)