|
Bridge++
Ver. 2.0.4
|
#include <afopr_Clover_eo.h>
Public Types | |
| typedef AFIELD::real_t | real_t |
Public Member Functions | |
| AFopr_Clover_eo (const Parameters ¶ms) | |
| constructor. More... | |
| ~AFopr_Clover_eo () | |
| destructor. More... | |
| void | set_parameters (const Parameters ¶ms) |
| setting parameters by a Parameter object. More... | |
| void | set_parameters (real_t CKs, real_t csw, std::vector< int > bc) |
| setting parameters by values. More... | |
| void | get_parameters (Parameters ¶ms) const |
| get parameters via a Parameter object More... | |
| void | setup_qws () |
| initialize qxs library. More... | |
| void | set_config (Field *u) |
| setting gauge configuration (common interface). 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 | mult_gm4 (AFIELD &, const AFIELD &) |
| void | mult (AFIELD &, const AFIELD &, const std::string mode) |
| executes mult with specified mode (unchanging internal mode). More... | |
| void | DdagD (AFIELD &, const AFIELD &) |
| void | Ddag (AFIELD &, const AFIELD &) |
| void | D (AFIELD &, const AFIELD &) |
| void | gm5 (AFIELD &, const AFIELD &) |
| void | aypx (real_t, AFIELD &, const AFIELD &) |
| void | Meo (AFIELD &, const AFIELD &, const int ieo) |
| Fermion matrix with ieo = 0: even <– odd, 1: odd <– even. More... | |
| void | Meo (AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag) |
| Fermion matrix with ieo = 0: even <– odd, 1: odd <– even. More... | |
| void | mult_Meo (AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag) |
| Meo implementation: standard. More... | |
| void | mult_Meo_alt (AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag) |
| Meo implementation: using mult_xp etc. More... | |
| void | mult_Meo_qxs (AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag) |
| Meo implementation: using qxs library. More... | |
| void | mult_Meo_qws (AFIELD &, const AFIELD &, const AFIELD &, const int ieo, const int iflag) |
| Meo implementation: using qxs library. More... | |
| 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. More... | |
| bool | needs_convert () |
| field convert is necessary in this implementation. More... | |
| void | convert (AFIELD &, const Field &) |
| convert Field to AField for this class. More... | |
| void | reverse (Field &, const AFIELD &) |
| reverse AField to Field. More... | |
| const std::string | class_name |
| const std::string | class_name |
Public Member Functions inherited from AFopr< AFIELD > | |
| AFopr () | |
| virtual | ~AFopr () |
| virtual void | mult_dag (AFIELD &, const AFIELD &, const std::string mode) |
| executes mult_dag with specified mode (unchanging internal mode). More... | |
| virtual void | mult_up (int mu, AFIELD &, const AFIELD &) |
| upward nearest neighbor hopping term. More... | |
| virtual void | mult_dn (int mu, AFIELD &, const AFIELD &) |
| downward nearest neighbor hopping term. 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_eo" |
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_Ndf |
| int | m_Nvc |
| int | m_Nst |
| int | m_Nx |
| int | m_Ny |
| int | m_Nz |
| int | m_Nt |
| int | m_Ndim |
| int | m_Nx2 |
| int | m_Nst2 |
| int | m_Nx2v |
| int | m_Nst2v |
| int | m_Nyv |
| real_t | m_CKs |
| hopping parameter More... | |
| real_t | m_csw |
| clover coefficient 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_Leo |
| Leo = 0 (even site) or 1 (odd site). More... | |
| AIndex_eo< real_t, AFIELD::IMPL > | m_index |
| Field * | m_conf |
| original gauge config. More... | |
| AFIELD | m_Ulex |
| converted gauge config with boundary conditions More... | |
| AFIELD | m_Ueo |
| gauge config in even-odd index More... | |
| std::string | m_mode |
| mult mode More... | |
| AFIELD | m_v1 |
| AFIELD | m_v2 |
| working field. More... | |
| AFIELD | m_z1 |
| lexical field: used in convert/reverse. More... | |
| Field_F | m_w1 |
| Field_F | m_w2 |
| int | m_Nsize [4] |
| 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 |
| Fopr_CloverTerm_eo * | m_fopr_ct |
| clover term (corelib) More... | |
| AFIELD | m_Te_inv |
| AFIELD | m_To_inv |
Private Member Functions | |
| void | init (const Parameters ¶ms) |
| initial setup. More... | |
| void | tidyup () |
| final tidy-up. More... | |
| void | setup_channels () |
| setup channels for communication. More... | |
| void | set_csw () |
| setting clover term inverse. More... | |
| void | set_config_omp (Field *u) |
| setting gauge configuration (setting omp parallel). More... | |
| void | set_config_impl (Field *u) |
| setting gauge configuration (implementation). More... | |
| void | set_csw_chrot (AFIELD &m_T_inv, int ieo) |
| setting clover term inverse for chiral rotation case. More... | |
| void | mult_cswinv (AFIELD &, const AFIELD &, const int ieo) |
| void | mult_cswinv (real_t *v2, real_t *v1, int ieo) |
| void | mult_cswinv_dirac (real_t *v2, real_t *v1, real_t *csw_inv, int site) |
| void | mult_xp (real_t *, real_t *, const int) |
| void | mult_xm (real_t *, real_t *, const int) |
| void | mult_yp (real_t *, real_t *, const int) |
| void | mult_ym (real_t *, real_t *, const int) |
| void | mult_zp (real_t *, real_t *, const int) |
| void | mult_zm (real_t *, real_t *, const int) |
| void | mult_tp (real_t *, real_t *, const int) |
| void | mult_tm (real_t *, real_t *, const int) |
| void | mult_gm5 (real_t *, real_t *) |
| void | mult_gm4 (real_t *, real_t *) |
| void | clear (real_t *) |
| void | aypx (real_t, real_t *, real_t *) |
| void | scal (real_t *, const real_t) |
| void | clear (real_t *, const int, const int) |
| void | aypx (real_t, real_t *, real_t *, const int, const int) |
| void | scal (real_t *, const real_t, const int, const int) |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr< AFIELD > | |
| static const std::string | class_name |
Implementation of the clover fermion operator (even-odd index) in the QXS branch. [24 Dec 2022 H.Matsufuru]
Definition at line 40 of file afopr_Clover_eo.h.
|
protected |
Definition at line 79 of file afopr_Clover_eo.h.
|
protected |
Definition at line 80 of file afopr_Clover_eo.h.
| typedef AFIELD::real_t AFopr_Clover_eo< AFIELD >::real_t |
Definition at line 43 of file afopr_Clover_eo.h.
|
inline |
constructor.
Definition at line 90 of file afopr_Clover_eo.h.
|
inline |
destructor.
Definition at line 93 of file afopr_Clover_eo.h.
| void AFopr_Clover_eo< AFIELD >::aypx | ( | real_t | a, |
| AFIELD & | v, | ||
| const AFIELD & | w | ||
| ) |
Definition at line 641 of file afopr_Clover_eo-tmpl.h.
|
private |
|
private |
| const std::string AFopr_Clover_eo< AField< double, QXS > >::class_name |
Definition at line 44 of file afopr_Clover_eo_double.cpp.
| const std::string AFopr_Clover_eo< AField< float, QXS > >::class_name |
Definition at line 44 of file afopr_Clover_eo_float.cpp.
|
private |
Definition at line 807 of file afopr_Clover_eo-tmpl.h.
|
private |
|
virtual |
convert Field to AField for this class.
Reimplemented from AFopr< AFIELD >.
Definition at line 458 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::D | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 628 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::Ddag | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 612 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::DdagD | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 603 of file afopr_Clover_eo-tmpl.h.
|
inlinevirtual |
returns external size parameter.
Implements AFopr< AFIELD >.
Definition at line 162 of file afopr_Clover_eo.h.
|
inlinevirtual |
returns inner size parameter.
Implements AFopr< AFIELD >.
Definition at line 156 of file afopr_Clover_eo.h.
|
inlinevirtual |
returns local volume size parameter.
Implements AFopr< AFIELD >.
Definition at line 159 of file afopr_Clover_eo.h.
|
inlinevirtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
Definition at line 165 of file afopr_Clover_eo.h.
|
virtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
Definition at line 846 of file afopr_Clover_eo-tmpl.h.
|
inlinevirtual |
returns mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 114 of file afopr_Clover_eo.h.
|
virtual |
get parameters via a Parameter object
Reimplemented from AFopr< AFIELD >.
Definition at line 277 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::gm5 | ( | AFIELD & | , |
| const AFIELD & | |||
| ) |
|
private |
initial setup.
Definition at line 18 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::Meo | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const AFIELD & | x, | ||
| const int | ieo, | ||
| const int | iflag | ||
| ) |
Fermion matrix with ieo = 0: even <– odd, 1: odd <– even.
Definition at line 663 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::Meo | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Fermion matrix with ieo = 0: even <– odd, 1: odd <– even.
Definition at line 654 of file afopr_Clover_eo-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 493 of file afopr_Clover_eo-tmpl.h.
|
virtual |
executes mult with specified mode (unchanging internal mode).
Reimplemented from AFopr< AFIELD >.
Definition at line 582 of file afopr_Clover_eo-tmpl.h.
|
private |
Definition at line 740 of file afopr_Clover_eo-tmpl.h.
|
private |
|
private |
|
virtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 510 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::mult_gm4 | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 545 of file afopr_Clover_eo-tmpl.h.
|
private |
|
virtual |
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
Definition at line 527 of file afopr_Clover_eo-tmpl.h.
|
private |
| void AFopr_Clover_eo< AFIELD >::mult_Meo | ( | AFIELD & | , |
| const AFIELD & | , | ||
| const AFIELD & | , | ||
| const int | ieo, | ||
| const int | iflag | ||
| ) |
Meo implementation: standard.
| void AFopr_Clover_eo< AFIELD >::mult_Meo_alt | ( | AFIELD & | , |
| const AFIELD & | , | ||
| const AFIELD & | , | ||
| const int | ieo, | ||
| const int | iflag | ||
| ) |
Meo implementation: using mult_xp etc.
| void AFopr_Clover_eo< AFIELD >::mult_Meo_qws | ( | AFIELD & | , |
| const AFIELD & | , | ||
| const AFIELD & | , | ||
| const int | ieo, | ||
| const int | iflag | ||
| ) |
Meo implementation: using qxs library.
| void AFopr_Clover_eo< AFIELD >::mult_Meo_qxs | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const AFIELD & | x, | ||
| const int | ieo, | ||
| const int | iflag | ||
| ) |
Meo implementation: using qxs library.
Definition at line 673 of file afopr_Clover_eo-tmpl.h.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inlinevirtual |
field convert is necessary in this implementation.
Reimplemented from AFopr< AFIELD >.
Definition at line 171 of file afopr_Clover_eo.h.
|
virtual |
Reimplemented from AFopr< AFIELD >.
Definition at line 469 of file afopr_Clover_eo-tmpl.h.
|
private |
Definition at line 827 of file afopr_Clover_eo-tmpl.h.
|
private |
|
virtual |
setting gauge configuration (common interface).
Implements AFopr< AFIELD >.
Definition at line 290 of file afopr_Clover_eo-tmpl.h.
|
private |
setting gauge configuration (implementation).
Definition at line 322 of file afopr_Clover_eo-tmpl.h.
|
private |
setting gauge configuration (setting omp parallel).
Definition at line 309 of file afopr_Clover_eo-tmpl.h.
|
private |
setting clover term inverse.
Definition at line 368 of file afopr_Clover_eo-tmpl.h.
|
private |
setting clover term inverse for chiral rotation case.
Definition at line 378 of file afopr_Clover_eo-tmpl.h.
|
virtual |
setting mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 480 of file afopr_Clover_eo-tmpl.h.
|
virtual |
setting parameters by a Parameter object.
Reimplemented from AFopr< AFIELD >.
Definition at line 213 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::set_parameters | ( | real_t | CKs, |
| real_t | csw, | ||
| std::vector< int > | bc | ||
| ) |
setting parameters by values.
Definition at line 244 of file afopr_Clover_eo-tmpl.h.
|
private |
setup channels for communication.
Definition at line 169 of file afopr_Clover_eo-tmpl.h.
| void AFopr_Clover_eo< AFIELD >::setup_qws | ( | ) |
initialize qxs library.
|
private |
final tidy-up.
Definition at line 203 of file afopr_Clover_eo-tmpl.h.
|
protected |
Definition at line 81 of file afopr_Clover_eo.h.
|
protected |
Definition at line 81 of file afopr_Clover_eo.h.
|
protected |
Definition at line 81 of file afopr_Clover_eo.h.
|
protected |
Definition at line 81 of file afopr_Clover_eo.h.
|
protected |
Definition at line 82 of file afopr_Clover_eo.h.
|
protected |
Definition at line 82 of file afopr_Clover_eo.h.
|
static |
Definition at line 44 of file afopr_Clover_eo.h.
|
protected |
Definition at line 75 of file afopr_Clover_eo.h.
|
protected |
Definition at line 76 of file afopr_Clover_eo.h.
|
protected |
Definition at line 78 of file afopr_Clover_eo.h.
|
protected |
pointer to boundary condition
Definition at line 55 of file afopr_Clover_eo.h.
|
protected |
hopping parameter
Definition at line 53 of file afopr_Clover_eo.h.
|
protected |
original gauge config.
Definition at line 62 of file afopr_Clover_eo.h.
|
protected |
clover coefficient
Definition at line 54 of file afopr_Clover_eo.h.
|
protected |
clover term (corelib)
Definition at line 84 of file afopr_Clover_eo.h.
|
protected |
Definition at line 61 of file afopr_Clover_eo.h.
|
protected |
Leo = 0 (even site) or 1 (odd site).
Definition at line 59 of file afopr_Clover_eo.h.
|
protected |
mult mode
Definition at line 66 of file afopr_Clover_eo.h.
|
protected |
Definition at line 47 of file afopr_Clover_eo.h.
|
protected |
Definition at line 47 of file afopr_Clover_eo.h.
|
protected |
Definition at line 47 of file afopr_Clover_eo.h.
|
protected |
Definition at line 49 of file afopr_Clover_eo.h.
|
protected |
Definition at line 73 of file afopr_Clover_eo.h.
|
protected |
Definition at line 48 of file afopr_Clover_eo.h.
|
protected |
Definition at line 50 of file afopr_Clover_eo.h.
|
protected |
Definition at line 51 of file afopr_Clover_eo.h.
|
protected |
Definition at line 48 of file afopr_Clover_eo.h.
|
protected |
Definition at line 47 of file afopr_Clover_eo.h.
|
protected |
Definition at line 48 of file afopr_Clover_eo.h.
|
protected |
Definition at line 50 of file afopr_Clover_eo.h.
|
protected |
Definition at line 51 of file afopr_Clover_eo.h.
|
protected |
Definition at line 48 of file afopr_Clover_eo.h.
|
protected |
Definition at line 51 of file afopr_Clover_eo.h.
|
protected |
Definition at line 48 of file afopr_Clover_eo.h.
|
protected |
gamma matrix representation
Definition at line 56 of file afopr_Clover_eo.h.
|
protected |
Definition at line 86 of file afopr_Clover_eo.h.
|
protected |
Definition at line 86 of file afopr_Clover_eo.h.
|
protected |
gauge config in even-odd index
Definition at line 64 of file afopr_Clover_eo.h.
|
protected |
converted gauge config with boundary conditions
Definition at line 63 of file afopr_Clover_eo.h.
|
protected |
Definition at line 68 of file afopr_Clover_eo.h.
|
protected |
working field.
Definition at line 68 of file afopr_Clover_eo.h.
|
protected |
verbose level
Definition at line 57 of file afopr_Clover_eo.h.
|
protected |
Definition at line 71 of file afopr_Clover_eo.h.
|
protected |
Definition at line 71 of file afopr_Clover_eo.h.
|
protected |
lexical field: used in convert/reverse.
Definition at line 69 of file afopr_Clover_eo.h.