Go to the documentation of this file.
10 #ifndef QXS_AFOPR_STAGGERED_EO_INCLUDED
11 #define QXS_AFOPR_STAGGERED_EO_INCLUDED
41 template<
typename AFIELD>
77 using allocator_t =
typename AFIELD::template aligned_allocator<char>;
178 static bool register_factory()
181 create_object_with_params);
AFopr_Staggered_eo(const Parameters ¶ms)
constructor.
Bridge::VerboseLevel m_vl
verbose level
std::vector< Channel > chsend_dn
void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
Staggered_eo fermion operator.
void set_config_omp(Field *u)
setting gauge configuration (setting omp parallel).
double flop_count()
returns floating operation counts.
void mult_Meo_qxs(AFIELD &, const AFIELD &, const AFIELD &, int ieo, int iflag)
~AFopr_Staggered_eo()
destructor.
void set_config_impl(Field *u)
setting gauge configuration (implementation).
void normalize_fopr(AFIELD &v)
normalize propagator if necessary (default: do nothing)
void mult_Meo_alt(AFIELD &, const AFIELD &, const AFIELD &, int ieo, int iflag)
AFIELD m_Ulex
converted lexical gauge field
ChannelSet class for a collection of channels.
static const std::string class_name
void Ddag(AFIELD &, const AFIELD &)
int m_Nsize[4]
lattice size in units of SIMD vector
void mult_dn(int mu, AFIELD &, const AFIELD &)
downward nearest neighbor hopping term.
void set_config(Field *U)
setting gauge configuration (common interface).
std::string get_mode() const
returns the current mult mode.
int field_nvol()
returns the volume of the fermion field.
void D(AFIELD &, const AFIELD &)
bool needs_convert()
returns true if additional field conversion is needed.
void DdagD(AFIELD &, const AFIELD &)
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
int do_comm_any
switchs of communication (if any): (0: n, 1: y).
AFIELD m_parity
site parity for multiplying gamma_5
void set_staggered_phase()
void Meo(AFIELD &, const AFIELD &, int ieo)
int m_Nst2v
for SIMD arrays
int do_comm[4]
switchs of communication (4=Ndim): (0: n, 1: y).
std::vector< Channel > chrecv_up
std::vector< int > m_Nbdsize
void H(AFIELD &, const AFIELD &)
void mult_dag(AFIELD &, const AFIELD &)
hermitian conjugate of mult.
typename AFIELD::template aligned_allocator< char > allocator_t
void axpby(real_t, real_t *, real_t, real_t *)
ShiftAField_eo< AFIELD > * m_shift
int field_nex()
returns the external degree of freedom of the fermion field.
AFIELD m_Ueo
gauge field multiplied by staggered phase
int field_nin()
returns the on-site degree of freedom of the fermion field.
void init(const Parameters ¶ms)
AFIELD m_stg_phase
staggered phase
void mult(AFIELD &, const AFIELD &)
multiplies fermion operator to a given field.
std::vector< int > m_Leo
Leo = 0 (even site) or 1 (odd site).
std::vector< Channel > chrecv_dn
AFIELD m_v2
working vectors
void mult_gm5(AFIELD &, const AFIELD &)
multiplies gamma_5 matrix.
void normalize_fprop(AFIELD &v)
normalize propagator if necessary (default: do nothing)
void get_parameters(Parameters ¶ms) const
getting parameters via a Parameters object.
Container of Field-type object.
Methods to shift a field in the even-odd site index.
std::vector< int > m_boundary
boundary conditions.
void mult_up(int mu, AFIELD &, const AFIELD &)
upward nearest neighbor hopping term.
std::vector< Channel > chsend_up
AFIELD m_w2
working vectors