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