15 #ifndef FOPR_WILSON_EO_IMPL_INCLUDED
16 #define FOPR_WILSON_EO_IMPL_INCLUDED
59 std::vector<int>
m_Leo;
88 void set_parameters(
const double kappa,
const std::vector<int> bc);
92 void prePropD(Field&, Field&,
const Field&);
93 void postPropD(Field&,
const Field&,
const Field&);
95 void postPropDag(Field&,
const Field&,
const Field&);
97 void D(Field& v,
const Field& f);
98 void Ddag(Field& v,
const Field& f);
99 void DdagD(Field& v,
const Field& f);
100 void DDdag(Field& v,
const Field& f);
101 void H(Field& v,
const Field& f);
106 void Meo(Field&,
const Field&,
const int ieo);
107 void Mdageo(Field&,
const Field&,
const int ieo);
108 void MeoMoe(Field&,
const Field&);
109 void Meo_gm5(Field&,
const Field&,
const int ieo);
111 void mult_gm5(Field&,
const Field&);
119 void gm5p(
const int mu, Field&,
const Field& v);
132 void init(
const std::string);
135 void mult_xp(Field&,
const Field&,
const int ieo);
136 void mult_xm(Field&,
const Field&,
const int ieo);
137 void mult_yp(Field&,
const Field&,
const int ieo);
138 void mult_ym(Field&,
const Field&,
const int ieo);
139 void mult_zp(Field&,
const Field&,
const int ieo);
140 void mult_zm(Field&,
const Field&,
const int ieo);
160 std::vector<mult_arg>
m_arg;
void mult_xpb_thread(int, double *, const double *, int)
void prePropD(Field &, Field &, const Field &)
void mult_xp(Field &, const Field &, const int ieo)
void mult_tp_chiral(Field &, const Field &, const int ieo)
void prePropDag(Field &, Field &, const Field &)
void mult_tpb_dirac_thread(int, double *, const double *, int)
void mult_tmb_chiral_thread(int, double *, const double *, int)
void(Fopr_Wilson_eo::Fopr_Wilson_eo_impl::* m_mult_tp)(Field &, const Field &, const int ieo)
void MeoMoe(Field &, const Field &)
void mult_tp2_chiral_thread(int, double *, const double *, int)
void mult_ym1_thread(int, double *, const double *, int)
static const std::string class_name
void mult_tp_dirac(Field &, const Field &, const int ieo)
void mult_ymb_thread(int, double *, const double *, int)
void mult_xm(Field &, const Field &, const int ieo)
void mult_tmb_dirac_thread(int, double *, const double *, int)
Implementation of even-odd Wilson fermion operator.
void mult_xm2_thread(int, double *, const double *, int)
void Meo_gm5(Field &, const Field &, const int ieo)
void mult_zm2_thread(int, double *, const double *, int)
void mult_zm1_thread(int, double *, const double *, int)
Container of Field-type object.
void clear_thread(int, double *)
void DdagD(Field &v, const Field &f)
void gm5_chiral(Field &, const Field &)
void mult_zp1_thread(int, double *, const double *, int)
void mult_zm(Field &, const Field &, const int ieo)
void gm5_dirac(Field &, const Field &)
std::vector< int > m_boundary
boundary condition.
void(Fopr_Wilson_eo::Fopr_Wilson_eo_impl::* m_mult_tm)(Field &, const Field &, const int ieo)
void mult_tm2_chiral_thread(int, double *, const double *, int)
double * vcp1_xp
arrays for data transfer.
void scal_impl(Field &, double)
void mult_tp2_dirac_thread(int, double *, const double *, int)
void mult_gm5(Field &, const Field &)
void gm5_self_dirac(Field &)
void postPropDag(Field &, const Field &, const Field &)
void mult_ypb_thread(int, double *, const double *, int)
void mult_tm1_dirac_thread(int, double *, const double *, int)
Wilson-type fermion field.
void mult_tm_dirac(Field &, const Field &, const int ieo)
Field_G * m_U
dummy: pointing m_Ueo.
void mult_tm2_dirac_thread(int, double *, const double *, int)
void mult_tp1_chiral_thread(int, double *, const double *, int)
void Meo(Field &, const Field &, const int ieo)
void(Fopr_Wilson_eo::Fopr_Wilson_eo_impl::* m_gm5_self)(Field &)
void postPropD(Field &, const Field &, const Field &)
void DDdag(Field &v, const Field &f)
void mult_yp1_thread(int, double *, const double *, int)
void mult_zmb_thread(int, double *, const double *, int)
std::string m_mode
mult mode.
void Mdageo(Field &, const Field &, const int ieo)
void(Fopr_Wilson_eo::Fopr_Wilson_eo_impl::* m_gm5)(Field &, const Field &)
std::vector< Channel * > m_bw_recv
void mult_zp(Field &, const Field &, const int ieo)
void mult_tm_chiral(Field &, const Field &, const int ieo)
void mult_zpb_thread(int, double *, const double *, int)
void mult_ym(Field &, const Field &, const int ieo)
void mult_xm1_thread(int, double *, const double *, int)
double m_kappa
hopping parameter.
void set_parameters(const double kappa, const std::vector< int > bc)
void init(const std::string)
void mult_yp2_thread(int, double *, const double *, int)
void set_config(Field *U)
void mult_tm1_chiral_thread(int, double *, const double *, int)
void gm5_self_chiral(Field &)
std::vector< mult_arg > m_arg
void H(Field &v, const Field &f)
void D(Field &v, const Field &f)
void mult_xmb_thread(int, double *, const double *, int)
std::vector< Channel * > m_fw_send
std::vector< Channel * > m_fw_recv
void gm5_dirac_thread(int, double *, const double *)
void mult_tp1_dirac_thread(int, double *, const double *, int)
std::vector< double > m_boundary2
b.c. for each node.
void Ddag(Field &v, const Field &f)
Bridge::VerboseLevel m_vl
void mult_yp(Field &, const Field &, const int ieo)
void mult_zp2_thread(int, double *, const double *, int)
void mult_m(int mu, Field_F &, const Field_F &, const int ieo)
void mult_tpb_chiral_thread(int, double *, const double *, int)
double flop_count()
this returns the number of floating point operations of Meo.
void mult_p(int mu, Field_F &, const Field_F &, const int ieo)
std::vector< Channel * > m_bw_send
void mult_xp2_thread(int, double *, const double *, int)
void scal_thread(int, double *, double)
std::string m_repr
Dirac matrix representation.
void mult_ym2_thread(int, double *, const double *, int)
void gm5p(const int mu, Field &, const Field &v)
gamma_5 (1 - gamma_mu) v(x + mu) used in force calculation.
void gm5_chiral_thread(int, double *, const double *)
void mult_xp1_thread(int, double *, const double *, int)
Fopr_Wilson_eo_impl(std::string repr)