Go to the documentation of this file.
14 #ifndef AFOPR_DOMAINWALL_EO_INCLUDED
15 #define AFOPR_DOMAINWALL_EO_INCLUDED
27 template<
typename AFIELD>
40 template<
typename AFIELD>
53 std::vector<real_t>
m_b;
54 std::vector<real_t>
m_c;
79 std::vector<real_t>
m_e;
80 std::vector<real_t>
m_f;
102 const int Ns,
const std::vector<int> bc,
113 const std::vector<real_t> c);
127 {
m_foprw->set_config(U.get()); }
185 static bool register_factory()
188 "Domainwall_eo", create_object_with_params);
int m_Nvol2
volume size of even or odd vector.
void preProp(AFIELD &Be, AFIELD &bo, const AFIELD &b)
void Udag_inv(AFIELD &, const AFIELD &)
int m_Nvol
volume size of even or odd vector.
void init(const Parameters ¶ms)
initial setup.
double flop_count()
this returns the number of floating point number operations.
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
void H(AFIELD &, const AFIELD &)
void D(AFIELD &, const AFIELD &)
std::vector< int > m_boundary
boundary conditions
void Hdag(AFIELD &, const AFIELD &)
Base class of fermion operator family.
void D_ee(AFIELD &, const AFIELD &, const int ieo)
void mult_R(AFIELD &, const AFIELD &)
AFIELD m_v2
woking 5d vectors.
std::vector< real_t > m_f
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
void Ddag_eo(AFIELD &, const AFIELD &, const int ieo)
Bridge::VerboseLevel m_vl
verbose level
void DdagD(AFIELD &, const AFIELD &)
void Ddag(AFIELD &, const AFIELD &)
void mult(AFIELD &v, const AFIELD &w)
multiplies fermion operator to a given field (2nd argument)
Domain-wall fermion operator with even-odd site index.
AFIELD m_t4
woking 4d vectors.
void mult_gm5R(AFIELD &, const AFIELD &)
void set_config(Field *U)
setting pointer to the gauge configuration.
std::vector< real_t > m_dm
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
void set_precond_parameters()
set parameters for preconditioning.
void set_coefficients(const std::vector< real_t > b, const std::vector< real_t > c)
set coefficients if they depend in s.
static const std::string class_name
int m_Ns
size of fifth-dimension
int m_Ndim
spacetime dimensions
bool needs_convert()
this class needs convert of fermion field.
std::vector< real_t > m_b
void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void mult_gm5(AFIELD &v, const AFIELD &w)
multiplies gamma_5 matrix.
std::string get_mode() const
returns the current mult mode.
std::vector< real_t > m_dp
std::vector< real_t > m_e
void Ldag_inv(AFIELD &, const AFIELD &)
real_t m_M0
domain-wall height
void reverse(Field &, const AFIELD &)
reverse AField to Field.
void L_inv(AFIELD &, const AFIELD &)
~AFopr_Domainwall_eo()
destructor.
void set_config(unique_ptr< Field_G > &U)
std::vector< real_t > m_c
void set_kernel_parameters(const Parameters ¶ms)
set parameters of kernel operaotr.
void D_eo(AFIELD &, const AFIELD &, const int ieo)
void U_inv(AFIELD &, const AFIELD &)
AFopr< AFIELD > * m_foprw
Container of Field-type object.
int field_nvol()
returns the volume for which the fermion operator is defined.
void postProp(AFIELD &x, const AFIELD &xe, const AFIELD &bo)
void convert(AFIELD &, const Field &)
convert Field to AField for this class.
void mult_gm5_4d(AFIELD &v, const AFIELD &w)
Index_eo_Domainwall< AFIELD > * m_index_eo
AFopr_Domainwall_eo(const Parameters ¶ms)
constructor.
void tidyup()
final tidyup.
void mult_dag(AFIELD &v, const AFIELD &w)
hermitian conjugate of mult(Field&, const Field&).