Go to the documentation of this file.
10 #ifndef QXS_AFOPR_CLOVER_QWS_DD_INCLUDED
11 #define QXS_AFOPR_CLOVER_QWS_DD_INCLUDED
39 template<
typename AFIELD>
82 using allocator_t =
typename AFIELD::template aligned_allocator<char>;
103 std::vector<int> block_size);
245 static bool register_factory()
248 create_object_with_params);
254 #endif // AFOPR_CLOVER_DD_INCLUDED
void H(AFIELD &, const AFIELD &)
void scal_local(real_t *, real_t)
std::vector< Channel > chsend_dn
std::string m_repr
gamma matrix representation
void mult_xm(real_t *, real_t *, int)
Fopr_CloverTerm * m_fopr_csw_chiral
clover term (corelib)
void mult_up(int mu, AFIELD &, const AFIELD &)
upward nearest neighbor hopping term.
AFopr_Clover_QWS_dd(const Parameters ¶ms)
constructor.
void set_csw()
set_csw now assumes Dirac repr.
void mult_yp(real_t *, real_t *, int)
AFIELD m_T_qws
clover term
AFIELD m_U
copied gauge config. with boundary conditions.
void convert(AFIELD &v, const Field &w)
convert of spinor field (to QWS specific).
Bridge::VerboseLevel m_vl
verbose level
void Ddag(AFIELD &, const AFIELD &)
double flop_count()
returns floating operation counts.
void gm5_aypx(real_t, real_t *, real_t *)
void setup_channels()
setup channels for communication.
static const std::string class_name
Field * m_conf
original gauge config.
ChannelSet class for a collection of channels.
void mult_gm5(AFIELD &, const AFIELD &)
multiplies gamma_5 matrix.
int field_nin()
returns inner size parameter.
void tidyup()
final tidy-up.
int field_nex()
returns external size parameter.
void mult_clv_inv(AFIELD &v)
void mult_zp(real_t *, real_t *, int)
typename Field ::template aligned_allocator< char > allocator_t
std::vector< Channel > chrecv_up
void mult_tm(real_t *, real_t *, int)
Base class of fermion operator family.
std::vector< int > m_block_size
block size
void init()
initial setup.
void set_config(Field *u)
setting gauge configuration.
void D(AFIELD &, const AFIELD &)
void mult_ddn(AFIELD &, const AFIELD &, const int mu)
Downward hopping part of mult.
int field_nvol()
returns local volume size parameter.
void set_csw_qws()
set_csw to use qws implemenation
real_t m_CKs
hopping parameter.
AFIELD m_Ublock
copied gauge config. with block condition.
void DdagD(AFIELD &, const AFIELD &)
std::vector< Channel > chrecv_dn
void mult_dup(AFIELD &, const AFIELD &, const int mu)
Upward hopping part of mult.
void mult_D_qws(AFIELD &, const AFIELD &)
D mult using QWS library.
void set_block_config(AFIELD &)
inpose the block condition to link variable.
~AFopr_Clover_QWS_dd()
destructor.
int m_Nsize[4]
lattice sizes (Nxv in x-direction)
void set_mode(std::string mode)
setting mult mode.
bool needs_convert()
QXS version requires convert of spinor field.
void project_chiral(AFIELD &, const AFIELD &, int ch)
void mult_ym(real_t *, real_t *, int)
Field * get_conf(void)
returns the pointer to gauge configuration.
void mult_dn(int mu, AFIELD &, const AFIELD &)
downward nearest neighbor hopping term.
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
void mult_dd(AFIELD &, const AFIELD &)
Mult only inside domain.
void mult(AFIELD &, const AFIELD &)
multiplies fermion operator to a given field.
int m_Ieo
even-odd label of origin in units of block
void mult_block_hop(AFIELD &v, const AFIELD &w, const int mu)
void set_boundary()
inpose the boundary condition to link variable.
void set_boundary_config(AFIELD &, const int)
partially inpose the boundary condition to link variable.
void mult_dag(AFIELD &, const AFIELD &)
hermitian conjugate of mult.
std::vector< int > m_boundary
pointer to boundary condition
void mult_D_alt(AFIELD &, const AFIELD &)
D mult using mult_xp, etc.
void aypx(real_t, real_t *, real_t *)
std::vector< Channel > chsend_up
void mult_csw(real_t *, real_t *)
set_csw now assumes Dirac repr.
void mult_tp(real_t *, real_t *, int)
void mult_zm(real_t *, real_t *, int)
Container of Field-type object.
void mult_sap(AFIELD &, const AFIELD &, const int ieo)
SAP operator.
void solve_csw_qws_inv(Field &, const Field &)
std::string m_mode
mult mode
void set_csw_chrot()
set_csw now assumes Dirac repr. with internally using Chiral repr.
double flop_count_sap()
returns floating operation counts of mult_sap.
int m_block_sizev[4]
block size in units of SIMD vector
void mult_gm4(AFIELD &, const AFIELD &)
std::vector< int > m_bdsize
void reverse(Field &v, const AFIELD &w)
reverse of spinor field (from QWS specific).
std::string get_mode() const
returns mult mode.
Fopr_CloverTerm * m_fopr_csw
clover term (corelib)
void mult_xp(real_t *, real_t *, int)
void mult_D(AFIELD &, const AFIELD &)
standard D mult.