Bridge++
Ver. 2.0.2
|
#include <afopr_Clover_coarse.h>
Public Types | |
typedef AFIELD::real_t | real_t |
typedef AFIELD::complex_t | complex_t |
Public Member Functions | |
AFopr_Clover_coarse (const Parameters ¶ms) | |
constructor. More... | |
AFopr_Clover_coarse () | |
~AFopr_Clover_coarse () | |
destructor. More... | |
void | set_parameters (const Parameters ¶ms) |
setting parameters by a Parameter object. More... | |
void | set_parameters (const int num_testvectors, const std::vector< int > &coarse_lattice) |
setting parameters by values. More... | |
void | set_config (Field *u) |
setting gauge configuration. More... | |
bool | needs_convert () |
QXS version requires convert of spinor field. More... | |
void | convert (AFIELD &v, const Field &w) |
convert of spinor field. More... | |
void | reverse (Field &v, const AFIELD &w) |
reverse of spinor field. More... | |
void | set_mode (std::string mode) |
returns the pointer to gauge configuration. More... | |
std::string | get_mode () const |
returns mult mode. More... | |
void | mult (AFIELD &, const AFIELD &) |
multiplies fermion operator to a given field. More... | |
void | mult_dag (AFIELD &, const AFIELD &) |
hermitian conjugate of mult. More... | |
void | mult_gm5 (AFIELD &, const AFIELD &) |
multiplies gamma_5 matrix. More... | |
void | mult_csw (AFIELD &, const AFIELD &) |
void | mult_up (int mu, AFIELD &, const AFIELD &) |
upward nearest neighbor hopping term. More... | |
void | mult_dn (int mu, AFIELD &, const AFIELD &) |
downward nearest neighbor hopping term. More... | |
void | generate_coarse_op (AFopr_dd< AFIELD > *fine_afopr, const std::vector< AFIELD > &testvec) |
int | field_nin () |
returns inner size parameter. More... | |
int | field_nvol () |
returns local volume size parameter. More... | |
int | field_nex () |
returns external size parameter. More... | |
double | flop_count () |
returns floating operation counts. More... | |
double | flop_count (const std::string mode) |
returns floating operation counts for given mode. More... | |
void | dump () |
const std::string | class_name |
const std::string | class_name |
![]() | |
AFopr () | |
virtual | ~AFopr () |
virtual void | get_parameters (Parameters ¶ms) const |
gets parameters by a Parameter object: to be implemented in a subclass. More... | |
virtual void | mult (AFIELD &, const AFIELD &, const std::string mode) |
executes mult with specified mode (unchanging internal mode). More... | |
virtual void | mult_dag (AFIELD &, const AFIELD &, const std::string mode) |
executes mult_dag with specified mode (unchanging internal mode). More... | |
virtual void | normalize_fprop (AFIELD &) |
normalize propagator if necessary (default: do nothing) More... | |
virtual void | normalize_fopr (AFIELD &) |
normalize propagator if necessary (default: do nothing) More... | |
Static Public Attributes | |
static const std::string | class_name = "AFopr_Clover_coarse" |
Protected Types | |
using | allocator_t = typename AFIELD::template aligned_allocator< char > |
using | Channel = Channel_impl< allocator_t > |
Protected Attributes | |
int | m_Nx |
int | m_Ny |
int | m_Nz |
int | m_Nt |
int | m_Nst |
int | m_Nxv |
int | m_Nyv |
int | m_Nstv |
int | m_num_testvectors |
int | m_ncol |
int | m_Nc |
int | m_Nc2 |
int | m_Nvc |
int | m_Ndf |
caution! not color, but just inner dof. More... | |
size_t | m_coarse_lvol |
AFIELD | m_U |
AFIELD | m_Clov |
AFIELD | m_v1 |
std::string | m_repr |
gamma matrix representation More... | |
Bridge::VerboseLevel | m_vl |
verbose level More... | |
AFIELD | workvec1 |
AFIELD | workvec2 |
AFIELD | workvec3 |
std::string | m_mode |
mult mode More... | |
AFIELD | m_v2 |
AFIELD | m_T |
clover term More... | |
int | do_comm [4] |
int | do_comm_any |
std::vector< int > | m_bdsize |
std::vector< Channel > | chsend_up |
std::vector< Channel > | chrecv_up |
std::vector< Channel > | chsend_dn |
std::vector< Channel > | chrecv_dn |
ChannelSet | chset_send |
ChannelSet | chset_recv |
std::vector< complex_t > | tmp_buffer1 |
std::vector< complex_t > | tmp_buffer2 |
std::vector< complex_t > | tmp_buffer3 |
std::vector< real_t * > | work_shifted |
Private Member Functions | |
void | init () |
initial setup. More... | |
void | tidyup () |
final tidy-up. More... | |
void | setup_channels () |
setup channels for communication. More... | |
void | set_boundary () |
inpose the boundary condition to link variable. More... | |
void | set_csw () |
set_csw now assumes Dirac repr. More... | |
void | mult_csw (real_t *, real_t *) |
set_csw now assumes Dirac repr. More... | |
void | DdagD (AFIELD &, const AFIELD &) |
void | Ddag (AFIELD &, const AFIELD &) |
void | H (AFIELD &, const AFIELD &) |
void | D (AFIELD &, const AFIELD &) |
void | mult_gm4 (AFIELD &, const AFIELD &) |
void | mult_D (AFIELD &, const AFIELD &) |
standard D mult. More... | |
void | mult_D_alt (AFIELD &, const AFIELD &) |
D mult using QWS library. More... | |
void | mult_D_alt_keep (AFIELD &, const AFIELD &) |
void | mult_D_alt_keep2 (AFIELD &, const AFIELD &) |
void | mult_xp (real_t *, real_t *) |
void | mult_xm (real_t *, real_t *) |
void | mult_yp (real_t *, real_t *) |
void | mult_ym (real_t *, real_t *) |
void | mult_zp (real_t *, real_t *) |
void | mult_zm (real_t *, real_t *) |
void | mult_tp (real_t *, real_t *) |
void | mult_tm (real_t *, real_t *) |
void | mult_xp1 (real_t *, real_t *) |
void | mult_xm1 (real_t *, real_t *) |
void | mult_yp1 (real_t *, real_t *) |
void | mult_ym1 (real_t *, real_t *) |
void | mult_zp1 (real_t *, real_t *) |
void | mult_zm1 (real_t *, real_t *) |
void | mult_tp1 (real_t *, real_t *) |
void | mult_tm1 (real_t *, real_t *) |
void | mult_xpb2 (real_t *, real_t *) |
void | mult_xmb2 (real_t *, real_t *) |
void | mult_ypb2 (real_t *, real_t *) |
void | mult_ymb2 (real_t *, real_t *) |
void | mult_zpb2 (real_t *, real_t *) |
void | mult_zmb2 (real_t *, real_t *) |
void | mult_tpb2 (real_t *, real_t *) |
void | mult_tmb2 (real_t *, real_t *) |
void | mult_gm5 (real_t *, real_t *) |
void | clear (real_t *) |
void | aypx (complex_t, real_t *, real_t *) |
void | gm5_aypx (complex_t, real_t *, real_t *) |
void | set_list () |
Private Attributes | |
std::vector< std::vector< int > > | m_list_boundary |
unique_ptr< Timer > | timer_pack |
unique_ptr< Timer > | timer_bulk |
unique_ptr< Timer > | timer_boundary |
unique_ptr< Timer > | timer_comm |
unique_ptr< Timer > | timer_comm_recv_wait |
unique_ptr< Timer > | timer_comm_send_wait |
unique_ptr< Timer > | timer_comm_send_start |
unique_ptr< Timer > | timer_comm_recv_start |
unique_ptr< Timer > | timer_comm_test_all |
unique_ptr< Timer > | timer_mult |
unique_ptr< Timer > | timer_clear |
Additional Inherited Members | |
![]() | |
static const std::string | class_name |
Definition at line 40 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 78 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 79 of file afopr_Clover_coarse.h.
typedef AFIELD::complex_t AFopr_Clover_coarse< AFIELD >::complex_t |
Definition at line 44 of file afopr_Clover_coarse.h.
typedef AFIELD::real_t AFopr_Clover_coarse< AFIELD >::real_t |
Definition at line 43 of file afopr_Clover_coarse.h.
|
inline |
constructor.
Definition at line 90 of file afopr_Clover_coarse.h.
|
inline |
Definition at line 96 of file afopr_Clover_coarse.h.
|
inline |
destructor.
Definition at line 102 of file afopr_Clover_coarse.h.
|
private |
const std::string AFopr_Clover_coarse< AField< double, QXS > >::class_name |
Definition at line 43 of file afopr_Clover_coarse_double.cpp.
const std::string AFopr_Clover_coarse< AField< float, QXS > >::class_name |
Definition at line 43 of file afopr_Clover_coarse_float.cpp.
|
private |
Definition at line 1702 of file afopr_Clover_coarse-tmpl.h.
|
virtual |
convert of spinor field.
Reimplemented from AFopr< AFIELD >.
Definition at line 1331 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 1452 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 1473 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 1462 of file afopr_Clover_coarse-tmpl.h.
void AFopr_Clover_coarse< AFIELD >::dump | ( | ) |
|
inlinevirtual |
returns external size parameter.
Implements AFopr< AFIELD >.
Definition at line 152 of file afopr_Clover_coarse.h.
|
inlinevirtual |
returns inner size parameter.
Implements AFopr< AFIELD >.
Definition at line 146 of file afopr_Clover_coarse.h.
|
inlinevirtual |
returns local volume size parameter.
Implements AFopr< AFIELD >.
Definition at line 149 of file afopr_Clover_coarse.h.
|
inlinevirtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
Definition at line 155 of file afopr_Clover_coarse.h.
|
virtual |
returns floating operation counts for given mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 2434 of file afopr_Clover_coarse-tmpl.h.
void AFopr_Clover_coarse< AFIELD >::generate_coarse_op | ( | AFopr_dd< AFIELD > * | fine_afopr, |
const std::vector< AFIELD > & | testvec | ||
) |
Definition at line 1172 of file afopr_Clover_coarse-tmpl.h.
|
virtual |
returns mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1406 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
Definition at line 1693 of file afopr_Clover_coarse-tmpl.h.
|
private |
initial setup.
Definition at line 846 of file afopr_Clover_coarse-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 1414 of file afopr_Clover_coarse-tmpl.h.
void AFopr_Clover_coarse< AFIELD >::mult_csw | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 1498 of file afopr_Clover_coarse-tmpl.h.
|
private |
set_csw now assumes Dirac repr.
Definition at line 1532 of file afopr_Clover_coarse-tmpl.h.
|
private |
standard D mult.
Definition at line 1554 of file afopr_Clover_coarse-tmpl.h.
|
private |
D mult using QWS library.
D mult using mult_xp, etc.
Definition at line 1663 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
virtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 1433 of file afopr_Clover_coarse-tmpl.h.
|
virtual |
downward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 1370 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
virtual |
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
Definition at line 1483 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 1513 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 2357 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 2300 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 2327 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 2221 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
virtual |
upward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 1347 of file afopr_Clover_coarse-tmpl.h.
|
private |
Definition at line 1800 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
private |
Definition at line 1720 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
private |
Definition at line 1971 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
private |
Definition at line 1882 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
private |
Definition at line 2140 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
private |
Definition at line 2059 of file afopr_Clover_coarse-tmpl.h.
|
private |
|
private |
|
inlinevirtual |
QXS version requires convert of spinor field.
Reimplemented from AFopr< AFIELD >.
Definition at line 115 of file afopr_Clover_coarse.h.
|
virtual |
reverse of spinor field.
Reimplemented from AFopr< AFIELD >.
Definition at line 1339 of file afopr_Clover_coarse-tmpl.h.
|
private |
inpose the boundary condition to link variable.
|
virtual |
setting gauge configuration.
Implements AFopr< AFIELD >.
Definition at line 1322 of file afopr_Clover_coarse-tmpl.h.
|
private |
set_csw now assumes Dirac repr.
|
private |
Definition at line 1063 of file afopr_Clover_coarse-tmpl.h.
|
virtual |
returns the pointer to gauge configuration.
setting mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1393 of file afopr_Clover_coarse-tmpl.h.
void AFopr_Clover_coarse< AFIELD >::set_parameters | ( | const int | num_testvectors, |
const std::vector< int > & | coarse_lattice | ||
) |
setting parameters by values.
Definition at line 982 of file afopr_Clover_coarse-tmpl.h.
|
virtual |
setting parameters by a Parameter object.
Reimplemented from AFopr< AFIELD >.
Definition at line 958 of file afopr_Clover_coarse-tmpl.h.
|
private |
setup channels for communication.
Definition at line 894 of file afopr_Clover_coarse-tmpl.h.
|
private |
final tidy-up.
Definition at line 930 of file afopr_Clover_coarse-tmpl.h.
|
protected |
Definition at line 80 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 80 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 80 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 80 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 81 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 81 of file afopr_Clover_coarse.h.
|
static |
Definition at line 45 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 74 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 75 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 77 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 59 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 56 of file afopr_Clover_coarse.h.
|
private |
Definition at line 236 of file afopr_Clover_coarse.h.
|
protected |
mult mode
Definition at line 68 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 53 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 53 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 52 of file afopr_Clover_coarse.h.
|
protected |
caution! not color, but just inner dof.
Definition at line 54 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 48 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 49 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 48 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 51 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 54 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 48 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 49 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 48 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 49 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 48 of file afopr_Clover_coarse.h.
|
protected |
gamma matrix representation
Definition at line 62 of file afopr_Clover_coarse.h.
|
protected |
clover term
Definition at line 72 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 58 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 60 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 70 of file afopr_Clover_coarse.h.
|
protected |
verbose level
Definition at line 64 of file afopr_Clover_coarse.h.
|
private |
Definition at line 239 of file afopr_Clover_coarse.h.
|
private |
Definition at line 238 of file afopr_Clover_coarse.h.
|
private |
Definition at line 247 of file afopr_Clover_coarse.h.
|
private |
Definition at line 240 of file afopr_Clover_coarse.h.
|
private |
Definition at line 244 of file afopr_Clover_coarse.h.
|
private |
Definition at line 241 of file afopr_Clover_coarse.h.
|
private |
Definition at line 243 of file afopr_Clover_coarse.h.
|
private |
Definition at line 242 of file afopr_Clover_coarse.h.
|
private |
Definition at line 245 of file afopr_Clover_coarse.h.
|
private |
Definition at line 246 of file afopr_Clover_coarse.h.
|
private |
Definition at line 237 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 83 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 84 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 85 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 86 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 66 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 66 of file afopr_Clover_coarse.h.
|
protected |
Definition at line 66 of file afopr_Clover_coarse.h.