Go to the documentation of this file.
10 #ifndef QXS_AFOPR_CLOVER_COARSE_INCLUDED
11 #define QXS_AFOPR_CLOVER_COARSE_INCLUDED
39 template<
typename AFIELD>
78 using allocator_t =
typename AFIELD::template aligned_allocator<char>;
109 const std::vector<int>& coarse_lattice);
255 static bool register_factory()
258 create_object_with_params);
264 #endif // AFOPR_CLOVER_INCLUDED
void mult_dag(AFIELD &, const AFIELD &)
hermitian conjugate of mult.
void mult_gm4(AFIELD &, const AFIELD &)
void mult_tm1(real_t *, real_t *)
std::string m_repr
gamma matrix representation
void mult_yp(real_t *, real_t *)
unique_ptr< Timer > timer_comm_send_start
std::vector< int > m_bdsize
void mult_D(AFIELD &, const AFIELD &)
standard D mult.
std::string get_mode() const
returns mult mode.
unique_ptr< Timer > timer_pack
~AFopr_Clover_coarse()
destructor.
void Ddag(AFIELD &, const AFIELD &)
void generate_coarse_op(AFopr_dd< AFIELD > *fine_afopr, const std::vector< AFIELD > &testvec)
unique_ptr< Timer > timer_comm_test_all
void convert(AFIELD &v, const Field &w)
convert of spinor field.
void mult_D_alt(AFIELD &, const AFIELD &)
D mult using QWS library.
void mult_xm1(real_t *, real_t *)
unique_ptr< Timer > timer_clear
unique_ptr< Timer > timer_comm_recv_start
void mult_ym(real_t *, real_t *)
void set_mode(std::string mode)
returns the pointer to gauge configuration.
void mult_tp(real_t *, real_t *)
void init()
initial setup.
ChannelSet class for a collection of channels.
unique_ptr< Timer > timer_boundary
std::vector< complex_t > tmp_buffer2
void D(AFIELD &, const AFIELD &)
void mult_zm1(real_t *, real_t *)
int m_Ndf
caution! not color, but just inner dof.
void mult_zmb2(real_t *, real_t *)
std::vector< real_t * > work_shifted
void gm5_aypx(complex_t, real_t *, real_t *)
Base class of fermion operator family.
void mult_tmb2(real_t *, real_t *)
void mult_ypb2(real_t *, real_t *)
void mult_tpb2(real_t *, real_t *)
void mult_D_alt_keep2(AFIELD &, const AFIELD &)
void mult_zpb2(real_t *, real_t *)
double flop_count()
returns floating operation counts.
void DdagD(AFIELD &, const AFIELD &)
void mult_up(int mu, AFIELD &, const AFIELD &)
upward nearest neighbor hopping term.
void mult_xp(real_t *, real_t *)
void mult_xm(real_t *, real_t *)
void set_parameters(const Parameters ¶ms)
setting parameters by a Parameter object.
std::vector< Channel > chrecv_dn
std::vector< std::vector< int > > m_list_boundary
std::vector< complex_t > tmp_buffer3
std::string m_mode
mult mode
AFopr_Clover_coarse(const Parameters ¶ms)
constructor.
std::vector< Channel > chsend_dn
void mult_xp1(real_t *, real_t *)
void mult(AFIELD &, const AFIELD &)
multiplies fermion operator to a given field.
unique_ptr< Timer > timer_comm
void mult_zp(real_t *, real_t *)
std::vector< complex_t > tmp_buffer1
void mult_gm5(AFIELD &, const AFIELD &)
multiplies gamma_5 matrix.
void mult_D_alt_keep(AFIELD &, const AFIELD &)
void mult_csw(AFIELD &, const AFIELD &)
static const std::string class_name
std::vector< Channel > chrecv_up
unique_ptr< Timer > timer_bulk
void reverse(Field &v, const AFIELD &w)
reverse of spinor field.
void mult_zm(real_t *, real_t *)
void tidyup()
final tidy-up.
int field_nvol()
returns local volume size parameter.
unique_ptr< Timer > timer_comm_send_wait
void aypx(complex_t, real_t *, real_t *)
void mult_ym1(real_t *, real_t *)
void mult_tm(real_t *, real_t *)
unique_ptr< Timer > timer_mult
unique_ptr< Timer > timer_comm_recv_wait
Bridge::VerboseLevel m_vl
verbose level
ComplexTraits< double >::complex_t complex_t
void H(AFIELD &, const AFIELD &)
void set_csw()
set_csw now assumes Dirac repr.
void mult_tp1(real_t *, real_t *)
bool needs_convert()
QXS version requires convert of spinor field.
void mult_dn(int mu, AFIELD &, const AFIELD &)
downward nearest neighbor hopping term.
void mult_xpb2(real_t *, real_t *)
std::vector< Channel > chsend_up
Container of Field-type object.
void mult_yp1(real_t *, real_t *)
typename AFIELD::template aligned_allocator< char > allocator_t
void setup_channels()
setup channels for communication.
void mult_zp1(real_t *, real_t *)
int field_nex()
returns external size parameter.
int field_nin()
returns inner size parameter.
AFIELD::complex_t complex_t
void set_config(Field *u)
setting gauge configuration.
void mult_xmb2(real_t *, real_t *)
void mult_ymb2(real_t *, real_t *)
void set_boundary()
inpose the boundary condition to link variable.