14 #ifndef FOPR_WILSON_GENERAL_IMPL_INCLUDED
15 #define FOPR_WILSON_GENERAL_IMPL_INCLUDED
54 std::vector<GammaMatrix>
m_GM;
73 void init(std::string repr);
78 const double nu_s,
const double r_s,
79 const std::vector<int> bc);
95 { (this->*
m_gm5)(v, f); }
98 { (this->*
m_D)(v, f); }
135 vout.
crucial(m_vl,
"%s: mode undefined.\n", class_name.c_str());
140 const Field& f,
const int ex2)
141 { (this->*
m_D_ex)(v, ex1, f, ex2); }
154 const Field& v,
const int ex2,
const int ipm);
183 const Field&,
const int);
185 void D_chiral(Field&,
const Field&);
186 void D_dirac(Field&,
const Field&);
190 void D_ex_chiral(Field&,
const int ex1,
const Field&,
const int ex2);
191 void D_ex_dirac(Field&,
const int ex1,
const Field&,
const int ex2);
208 void daxpy(Field&,
double,
const Field&);
209 void daypx(Field&,
double,
const Field&);
210 void scal(Field&,
double);
259 void daxpy_thread(
int,
double *,
double,
const double *);
260 void daypx_thread(
int,
double *,
double,
const double *);
void mult(Field &v, const Field &f)
void mult_p(int mu, Field_F &, const Field_F &)
void DDdag(Field &w, const Field &f)
void mult_t_plus_bulk_chiral_thread(int, double *, const double *)
void scal(Field &, double)
void mult_y_minus(Field &, const Field &)
void scal_thread(int, double *, double)
void mult_up(int mu, Field &, const Field &)
void mult_t_minus_chiral(Field &, const Field &)
void clear_thread(int, double *)
void mult_x_minus(Field &, const Field &)
void mult_y_minus2_thread(int, double *, const double *)
void mult_y_plus2_thread(int, double *, const double *)
Fopr_Wilson_General_impl()
void gm5_chiral(Field &, const Field &)
void(Fopr_Wilson_General::Fopr_Wilson_General_impl::* m_mult)(Field &, const Field &)
void mult_y_plus1_thread(int, double *, const double *)
std::vector< GammaMatrix > m_GM
gamma matrices.
Container of Field-type object.
void daypx(Field &, double, const Field &)
void mult_z_minus(Field &, const Field &)
double * vcp1_x_plus
arrays for data transfer.
double m_r_s
spatial Wilson parameter.
void gm5_dirac_thread(int, double *, const double *)
void mult_x_plus1_thread(int, double *, const double *)
double m_kappa_s
spatial hopping parameter.
void set_mode(std::string mode)
void mult_y_plus_bulk_thread(int, double *, const double *)
Field m_w2
temporary fields.
void Ddag(Field &w, const Field &f)
void mult_t_plus_chiral(Field &, const Field &)
void mult_t_plus2_dirac_thread(int, double *, const double *)
void mult_y_minus1_thread(int, double *, const double *)
void H(Field &w, const Field &f)
double m_nu_s
spatial anisotropy parameter.
Wilson_General fermion operator.
void mult_z_plus2_thread(int, double *, const double *)
void daypx_thread(int, double *, double, const double *)
void set_parameters(const double kappa_s, const double kappa_t, const double nu_s, const double r_s, const std::vector< int > bc)
void mult_x_plus(Field &, const Field &)
~Fopr_Wilson_General_impl()
std::vector< double > m_boundary2
b.c. for each node.
Wilson-type fermion field.
void D_ex_dirac(Field &, const int ex1, const Field &, const int ex2)
void(Fopr_Wilson_General::Fopr_Wilson_General_impl::* m_gm5)(Field &, const Field &)
const Field_G * m_U
gauge configuration.
void daxpy(Field &, double, const Field &)
void mult_z_plus1_thread(int, double *, const double *)
void mult_undef(Field &, const Field &f)
void gm5_chiral_thread(int, double *, const double *)
const Field_F mult_gm5p(int mu, const Field_F &w)
void gm5_dirac(Field &, const Field &)
void mult_z_plus_bulk_thread(int, double *, const double *)
void mult_t_minus1_chiral_thread(int, double *, const double *)
void init(std::string repr)
void mult_z_minus_bulk_thread(int, double *, const double *)
void(Fopr_Wilson_General::Fopr_Wilson_General_impl::* m_mult_t_minus)(Field &, const Field &)
void mult_x_minus1_thread(int, double *, const double *)
void mult_x_plus2_thread(int, double *, const double *)
std::string get_mode() const
void DdagD(Field &w, const Field &f)
void mult_y_plus(Field &, const Field &)
void mult_t_plus1_chiral_thread(int, double *, const double *)
std::vector< int > m_boundary
boundary condition.
void daxpy_thread(int, double *, double, const double *)
void mult_t_plus_bulk_dirac_thread(int, double *, const double *)
void mult_t_minus_bulk_dirac_thread(int, double *, const double *)
void mult_z_plus(Field &, const Field &)
void mult_t_minus2_dirac_thread(int, double *, const double *)
void mult_t_plus2_chiral_thread(int, double *, const double *)
void mult_t_minus_dirac(Field &, const Field &)
double m_kappa_t
temporal hopping parameter.
void crucial(const char *format,...)
static const std::string class_name
void D(Field &v, const Field &f)
void(Fopr_Wilson_General::Fopr_Wilson_General_impl::* m_mult_dag)(Field &, const Field &)
void D_ex(Field &v, const int ex1, const Field &f, const int ex2)
void mult_x_minus_bulk_thread(int, double *, const double *)
void proj_chiral(Field &w, const int ex1, const Field &v, const int ex2, const int ipm)
void mult_z_minus1_thread(int, double *, const double *)
void D_ex_chiral(Field &, const int ex1, const Field &, const int ex2)
void mult_t_plus_dirac(Field &, const Field &)
void mult_x_minus2_thread(int, double *, const double *)
void mult_t_minus2_chiral_thread(int, double *, const double *)
void mult_t_minus1_dirac_thread(int, double *, const double *)
void D_dirac(Field &, const Field &)
void(Fopr_Wilson_General::Fopr_Wilson_General_impl::* m_mult_t_plus)(Field &, const Field &)
void set_config(Field *U)
void mult_y_minus_bulk_thread(int, double *, const double *)
void mult_dn(int mu, Field &, const Field &)
Bridge::VerboseLevel m_vl
void mult_t_minus_bulk_chiral_thread(int, double *, const double *)
void D_chiral(Field &, const Field &)
void mult_t_plus1_dirac_thread(int, double *, const double *)
void mult_gm5(Field &v, const Field &f)
Fopr_Wilson_General_impl(const Fopr_Wilson_General::Fopr_Wilson_General_impl &)
void mult_m(int mu, Field_F &, const Field_F &)
Fopr_Wilson_General_impl & operator=(const Fopr_Wilson_General::Fopr_Wilson_General_impl &)
void(Fopr_Wilson_General::Fopr_Wilson_General_impl::* m_D_ex)(Field &, const int, const Field &, const int)
void(Fopr_Wilson_General::Fopr_Wilson_General_impl::* m_D)(Field &, const Field &)
void mult_dag(Field &v, const Field &f)
void mult_z_minus2_thread(int, double *, const double *)
void mult_x_plus_bulk_thread(int, double *, const double *)
std::vector< mult_arg > m_arg