Bridge++
Ver. 2.0.2
|
#include <afopr_Clover_QWS_dd.h>
Public Types | |
typedef AFIELD::real_t | real_t |
Public Member Functions | |
AFopr_Clover_QWS_dd (const Parameters ¶ms) | |
constructor. More... | |
~AFopr_Clover_QWS_dd () | |
destructor. More... | |
void | set_parameters (const Parameters ¶ms) |
setting parameters by a Parameter object. More... | |
void | set_parameters (real_t CKs, std::vector< int > bc, std::vector< int > block_size) |
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 (to QWS specific). More... | |
void | convert (AFIELD &v, const AFIELD &w) |
convert of spinor field (from QXS to QWS specific). More... | |
void | reverse (Field &v, const AFIELD &w) |
reverse of spinor field (from QWS specific). More... | |
void | reverse (AFIELD &v, const AFIELD &w) |
reverse of spinor field (from QWS specfic to QXS). More... | |
Field * | get_conf (void) |
returns the pointer to gauge configuration. More... | |
void | set_mode (std::string mode) |
setting mult mode. 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 | project_chiral (AFIELD &, const AFIELD &, int ch) |
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 | mult_sap (AFIELD &, const AFIELD &, const int ieo) |
SAP operator. More... | |
void | mult_dd (AFIELD &, const AFIELD &) |
Mult only inside domain. More... | |
void | mult_dup (AFIELD &, const AFIELD &, const int mu) |
Upward hopping part of mult. More... | |
void | mult_ddn (AFIELD &, const AFIELD &, const int mu) |
Downward hopping part of mult. More... | |
void | mult_clv_inv (AFIELD &v) |
void | mult_clv (AFIELD &v) |
void | mult_block_hop (AFIELD &v, const AFIELD &w, const int mu) |
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_sap () |
returns floating operation counts of mult_sap. More... | |
double | flop_count (const std::string mode) |
returns floating operation counts for given mode. More... | |
const std::string | class_name |
const std::string | class_name |
Public Member Functions inherited from AFopr_dd< AFIELD > | |
virtual | ~AFopr_dd () |
Public Member Functions inherited from AFopr< AFIELD > | |
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_QWS_dd" |
Protected Types | |
using | allocator_t = typename AFIELD::template aligned_allocator< char > |
using | Channel = Channel_impl< allocator_t > |
Protected Attributes | |
int | m_Nc |
int | m_Nd |
int | m_Nvc |
int | m_Ndf |
int | m_Ndim |
int | m_Nx |
int | m_Ny |
int | m_Nz |
int | m_Nt |
int | m_Nst |
int | m_Nxv |
int | m_Nyv |
int | m_Nstv |
real_t | m_CKs |
hopping parameter. More... | |
std::vector< int > | m_boundary |
pointer to boundary condition More... | |
std::string | m_repr |
gamma matrix representation More... | |
Bridge::VerboseLevel | m_vl |
verbose level More... | |
std::vector< int > | m_block_size |
block size More... | |
int | m_Ieo |
even-odd label of origin in units of block More... | |
Field * | m_conf |
original gauge config. More... | |
AFIELD | m_U |
copied gauge config. with boundary conditions. More... | |
AFIELD | m_Ublock |
copied gauge config. with block condition. More... | |
std::string | m_mode |
mult mode More... | |
Fopr_CloverTerm * | m_fopr_csw |
clover term (corelib) More... | |
Fopr_CloverTerm * | m_fopr_csw_chiral |
clover term (corelib) More... | |
AFIELD | m_v1 |
AFIELD | m_v2 |
AFIELD | m_T |
clover term More... | |
AFIELD | m_T_qws |
clover term More... | |
int | m_Nsize [4] |
lattice sizes (Nxv in x-direction) More... | |
int | m_block_sizev [4] |
block size in units of SIMD vector 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 |
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_boundary_config (AFIELD &, const int) |
partially inpose the boundary condition to link variable. More... | |
void | set_block_config (AFIELD &) |
inpose the block condition to link variable. More... | |
void | set_csw () |
set_csw now assumes Dirac repr. More... | |
void | set_csw_chrot () |
set_csw now assumes Dirac repr. with internally using Chiral repr. More... | |
void | set_csw_qws () |
set_csw to use qws implemenation More... | |
void | solve_csw_qws_inv (Field &, const Field &) |
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_qws (AFIELD &, const AFIELD &) |
D mult using QWS library. More... | |
void | mult_D_alt (AFIELD &, const AFIELD &) |
D mult using mult_xp, etc. More... | |
void | mult_xp (real_t *, real_t *, int) |
void | mult_xm (real_t *, real_t *, int) |
void | mult_yp (real_t *, real_t *, int) |
void | mult_ym (real_t *, real_t *, int) |
void | mult_zp (real_t *, real_t *, int) |
void | mult_zm (real_t *, real_t *, int) |
void | mult_tp (real_t *, real_t *, int) |
void | mult_tm (real_t *, real_t *, int) |
void | mult_gm5 (real_t *, real_t *) |
void | clear (real_t *) |
void | scal_local (real_t *, real_t) |
void | aypx (real_t, real_t *, real_t *) |
void | gm5_aypx (real_t, real_t *, real_t *) |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr< AFIELD > | |
static const std::string | class_name |
Definition at line 40 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 82 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 83 of file afopr_Clover_QWS_dd.h.
typedef AFIELD::real_t AFopr_Clover_QWS_dd< AFIELD >::real_t |
Definition at line 43 of file afopr_Clover_QWS_dd.h.
|
inline |
constructor.
Definition at line 89 of file afopr_Clover_QWS_dd.h.
|
inline |
destructor.
Definition at line 96 of file afopr_Clover_QWS_dd.h.
|
private |
Definition at line 1639 of file afopr_Clover_QWS_dd-tmpl.h.
const std::string AFopr_Clover_QWS_dd< AField< float, QXS > >::class_name |
Definition at line 48 of file afopr_Clover_QWS_dd_float.cpp.
const std::string AFopr_Clover_QWS_dd< AField< double, QXS > >::class_name |
Definition at line 49 of file afopr_Clover_QWS_dd_double.cpp.
|
private |
Definition at line 1657 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
convert of spinor field (from QXS to QWS specific).
Reimplemented from AFopr< AFIELD >.
|
virtual |
convert of spinor field (to QWS specific).
Reimplemented from AFopr< AFIELD >.
Definition at line 952 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1118 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1142 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1131 of file afopr_Clover_QWS_dd-tmpl.h.
|
inlinevirtual |
returns external size parameter.
Implements AFopr< AFIELD >.
Definition at line 161 of file afopr_Clover_QWS_dd.h.
|
inlinevirtual |
returns inner size parameter.
Implements AFopr< AFIELD >.
Definition at line 155 of file afopr_Clover_QWS_dd.h.
|
inlinevirtual |
returns local volume size parameter.
Implements AFopr< AFIELD >.
Definition at line 158 of file afopr_Clover_QWS_dd.h.
|
inlinevirtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
Definition at line 164 of file afopr_Clover_QWS_dd.h.
|
virtual |
returns floating operation counts for given mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 2220 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
returns floating operation counts of mult_sap.
Implements AFopr_dd< AFIELD >.
Definition at line 2249 of file afopr_Clover_QWS_dd-tmpl.h.
|
inline |
returns the pointer to gauge configuration.
Definition at line 124 of file afopr_Clover_QWS_dd.h.
|
virtual |
returns mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1059 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
|
private |
Definition at line 1630 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
initial setup.
Definition at line 22 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 1080 of file afopr_Clover_QWS_dd-tmpl.h.
|
inline |
Definition at line 151 of file afopr_Clover_QWS_dd.h.
void AFopr_Clover_QWS_dd< AFIELD >::mult_clv | ( | AFIELD & | v | ) |
Definition at line 1325 of file afopr_Clover_QWS_dd-tmpl.h.
void AFopr_Clover_QWS_dd< AFIELD >::mult_clv_inv | ( | AFIELD & | v | ) |
Definition at line 1304 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
set_csw now assumes Dirac repr.
Definition at line 1260 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
standard D mult.
Definition at line 1346 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
D mult using mult_xp, etc.
Definition at line 1493 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
D mult using QWS library.
Definition at line 1460 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 1099 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
Mult only inside domain.
Implements AFopr_dd< AFIELD >.
Definition at line 1433 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
Downward hopping part of mult.
Implements AFopr_dd< AFIELD >.
Definition at line 1555 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
downward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 1036 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
Upward hopping part of mult.
Implements AFopr_dd< AFIELD >.
Definition at line 1519 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1227 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
Definition at line 1169 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1182 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
SAP operator.
Implements AFopr_dd< AFIELD >.
Definition at line 1411 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 2157 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 2092 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
upward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 1013 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1742 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1673 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1884 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1813 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 2025 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1959 of file afopr_Clover_QWS_dd-tmpl.h.
|
inlinevirtual |
QXS version requires convert of spinor field.
Reimplemented from AFopr< AFIELD >.
Definition at line 109 of file afopr_Clover_QWS_dd.h.
void AFopr_Clover_QWS_dd< AFIELD >::project_chiral | ( | AFIELD & | v, |
const AFIELD & | w, | ||
int | ch | ||
) |
Definition at line 1152 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
reverse of spinor field (from QWS specfic to QXS).
Reimplemented from AFopr< AFIELD >.
|
virtual |
reverse of spinor field (from QWS specific).
Reimplemented from AFopr< AFIELD >.
Definition at line 982 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 1211 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
inpose the block condition to link variable.
Definition at line 473 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
inpose the boundary condition to link variable.
Definition at line 372 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
partially inpose the boundary condition to link variable.
Definition at line 333 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
setting gauge configuration.
Implements AFopr< AFIELD >.
Definition at line 250 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
set_csw now assumes Dirac repr.
Definition at line 523 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
set_csw now assumes Dirac repr. with internally using Chiral repr.
Definition at line 606 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
set_csw to use qws implemenation
Definition at line 693 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
setting mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1067 of file afopr_Clover_QWS_dd-tmpl.h.
|
virtual |
setting parameters by a Parameter object.
Reimplemented from AFopr< AFIELD >.
Definition at line 139 of file afopr_Clover_QWS_dd-tmpl.h.
void AFopr_Clover_QWS_dd< AFIELD >::set_parameters | ( | real_t | CKs, |
std::vector< int > | bc, | ||
std::vector< int > | block_size | ||
) |
setting parameters by values.
Definition at line 175 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
setup channels for communication.
Definition at line 92 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
Definition at line 830 of file afopr_Clover_QWS_dd-tmpl.h.
|
private |
final tidy-up.
Definition at line 126 of file afopr_Clover_QWS_dd-tmpl.h.
|
protected |
Definition at line 84 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 84 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 84 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 84 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 85 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 85 of file afopr_Clover_QWS_dd.h.
|
static |
Definition at line 44 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 78 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 79 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 81 of file afopr_Clover_QWS_dd.h.
|
protected |
block size
Definition at line 57 of file afopr_Clover_QWS_dd.h.
|
protected |
block size in units of SIMD vector
Definition at line 76 of file afopr_Clover_QWS_dd.h.
|
protected |
pointer to boundary condition
Definition at line 52 of file afopr_Clover_QWS_dd.h.
|
protected |
hopping parameter.
Definition at line 51 of file afopr_Clover_QWS_dd.h.
|
protected |
original gauge config.
Definition at line 61 of file afopr_Clover_QWS_dd.h.
|
protected |
clover term (corelib)
Definition at line 67 of file afopr_Clover_QWS_dd.h.
|
protected |
clover term (corelib)
Definition at line 68 of file afopr_Clover_QWS_dd.h.
|
protected |
even-odd label of origin in units of block
Definition at line 59 of file afopr_Clover_QWS_dd.h.
|
protected |
mult mode
Definition at line 65 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 47 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 47 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 47 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 47 of file afopr_Clover_QWS_dd.h.
|
protected |
lattice sizes (Nxv in x-direction)
Definition at line 75 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 48 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 49 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 48 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 47 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 48 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 49 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 48 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 49 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 48 of file afopr_Clover_QWS_dd.h.
|
protected |
gamma matrix representation
Definition at line 53 of file afopr_Clover_QWS_dd.h.
|
protected |
clover term
Definition at line 72 of file afopr_Clover_QWS_dd.h.
|
protected |
clover term
Definition at line 73 of file afopr_Clover_QWS_dd.h.
|
protected |
copied gauge config. with boundary conditions.
Definition at line 62 of file afopr_Clover_QWS_dd.h.
|
protected |
copied gauge config. with block condition.
Definition at line 63 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 70 of file afopr_Clover_QWS_dd.h.
|
protected |
Definition at line 70 of file afopr_Clover_QWS_dd.h.
|
protected |
verbose level
Definition at line 55 of file afopr_Clover_QWS_dd.h.