Go to the documentation of this file.
10 #ifndef QXS_AFOPR_CLOVER_EO_INCLUDED
11 #define QXS_AFOPR_CLOVER_EO_INCLUDED
39 template<
typename AFIELD>
79 using allocator_t =
typename AFIELD::template aligned_allocator<char>;
123 const std::string mode);
137 const int ieo,
const int iflag);
141 const int ieo,
const int iflag);
145 const int ieo,
const int iflag);
149 const int ieo,
const int iflag);
153 const int ieo,
const int iflag);
206 real_t *csw_inv,
int site);
239 static bool register_factory()
242 create_object_with_params);
void mult(AFIELD &, const AFIELD &)
multiplies fermion operator to a given field.
void mult_zp(real_t *, real_t *, const int)
typename AFIELD::template aligned_allocator< char > allocator_t
void set_csw_chrot(AFIELD &m_T_inv, int ieo)
setting clover term inverse for chiral rotation case.
void mult_xm(real_t *, real_t *, const int)
void D(AFIELD &, const AFIELD &)
void mult_Meo_alt(AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag)
Meo implementation: using mult_xp etc.
void convert(AFIELD &, const Field &)
convert Field to AField for this class.
std::vector< Channel > chsend_dn
void setup_qws()
initialize qxs library.
std::vector< int > m_boundary
pointer to boundary condition
real_t m_csw
clover coefficient
void set_config_impl(Field *u)
setting gauge configuration (implementation).
void Meo(AFIELD &, const AFIELD &, const int ieo)
Fermion matrix with ieo = 0: even <– odd, 1: odd <– even.
real_t m_CKs
hopping parameter
void get_parameters(Parameters ¶ms) const
get parameters via a Parameter object
void mult_cswinv(AFIELD &, const AFIELD &, const int ieo)
void mult_gm4(AFIELD &, const AFIELD &)
ChannelSet class for a collection of channels.
~AFopr_Clover_eo()
destructor.
void mult_tm(real_t *, real_t *, const int)
AFIELD m_Ueo
gauge config in even-odd index
AIndex_eo< real_t, AFIELD::IMPL > m_index
double flop_count()
returns floating operation counts.
void mult_gm5(AFIELD &, const AFIELD &)
multiplies gamma_5 matrix.
void setup_channels()
setup channels for communication.
void mult_yp(real_t *, real_t *, const int)
void set_csw()
setting clover term inverse.
void mult_Meo_qws(AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag)
Meo implementation: using qxs library.
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
void mult_tp(real_t *, real_t *, const int)
void set_mode(std::string mode)
setting mult mode.
void aypx(real_t, AFIELD &, const AFIELD &)
int field_nex()
returns external size parameter.
void scal(real_t *, const real_t)
AFIELD m_z1
lexical field: used in convert/reverse.
std::string m_repr
gamma matrix representation
void mult_ym(real_t *, real_t *, const int)
std::vector< Channel > chrecv_dn
std::string m_mode
mult mode
void set_config(Field *u)
setting gauge configuration (common interface).
bool needs_convert()
field convert is necessary in this implementation.
Bridge::VerboseLevel m_vl
verbose level
AFIELD m_Ulex
converted gauge config with boundary conditions
void mult_dag(AFIELD &, const AFIELD &)
hermitian conjugate of mult.
void Ddag(AFIELD &, const AFIELD &)
void mult_Meo_qxs(AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag)
Meo implementation: using qxs library.
void mult_xp(real_t *, real_t *, const int)
void mult_cswinv_dirac(real_t *v2, real_t *v1, real_t *csw_inv, int site)
std::vector< int > m_Leo
Leo = 0 (even site) or 1 (odd site).
void set_config_omp(Field *u)
setting gauge configuration (setting omp parallel).
int field_nvol()
returns local volume size parameter.
void init(const Parameters ¶ms)
initial setup.
void mult_Meo(AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag)
Meo implementation: standard.
void reverse(Field &, const AFIELD &)
reverse AField to Field.
AFopr_Clover_eo(const Parameters ¶ms)
constructor.
AFIELD m_v2
working field.
void DdagD(AFIELD &, const AFIELD &)
void gm5(AFIELD &, const AFIELD &)
Wilson-type fermion field.
std::string get_mode() const
returns mult mode.
int field_nin()
returns inner size parameter.
Container of Field-type object.
std::vector< Channel > chsend_up
Field * m_conf
original gauge config.
std::vector< int > m_bdsize
void tidyup()
final tidy-up.
std::vector< Channel > chrecv_up
Fopr_CloverTerm_eo * m_fopr_ct
clover term (corelib)
static const std::string class_name
void mult_zm(real_t *, real_t *, const int)