|
Bridge++
Ver.2.1.3
|
Staggered fermion operator. More...
#include <afopr_Staggered_eo.h>
Public Types | |
| typedef AFIELD::real_t | real_t |
| typedef AFIELD::real_t | real_t |
Public Member Functions | |
| AFopr_Staggered_eo (const Parameters ¶ms) | |
| constructor. More... | |
| ~AFopr_Staggered_eo () | |
| destructor. More... | |
| void | set_parameters (const Parameters ¶ms) |
| setting parameters by a Parameter object. More... | |
| void | set_parameters (const real_t mq, const std::vector< int > bc) |
| setting parameters by values. More... | |
| void | get_parameters (Parameters ¶ms) const |
| getting parameters via a Parameters object. More... | |
| void | set_config (Field *U) |
| setting gauge configuration. More... | |
| void | set_mode (std::string mode) |
| setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More... | |
| std::string | get_mode () const |
| returns the current 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 (AFIELD &, const AFIELD &, const std::string mode) |
| executes mult with specified mode (unchanging internal mode). More... | |
| void | mult_gm5 (AFIELD &) |
| void | mult_staggered_phase (AFIELD &, int mu) |
| void | normalize_fprop (AFIELD &v) |
| normalize propagator if necessary (default: do nothing) More... | |
| void | normalize_fopr (AFIELD &v) |
| normalize propagator if necessary (default: do nothing) More... | |
| int | field_nvol () |
| returns the volume of the fermion field. More... | |
| int | field_nin () |
| returns the on-site degree of freedom of the fermion field. More... | |
| int | field_nex () |
| returns the external degree of freedom of the fermion field. More... | |
| double | flop_count () |
| returns floating operation counts. More... | |
| double | flop_count (const std::string mode) |
| returns floating operation counts. More... | |
| AFopr_Staggered_eo (const Parameters ¶ms) | |
| constructor. More... | |
| ~AFopr_Staggered_eo () | |
| destructor. More... | |
| void | set_parameters (const Parameters ¶ms) |
| setting parameters by a Parameter object. More... | |
| void | set_parameters (const real_t mq, const std::vector< int > bc) |
| setting parameters by values. More... | |
| void | get_parameters (Parameters ¶ms) const |
| getting parameters via a Parameters object. More... | |
| void | set_config (Field *U) |
| setting gauge configuration (common interface). More... | |
| bool | needs_convert () |
| returns true if additional field conversion is needed. More... | |
| void | set_mode (std::string mode) |
| setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More... | |
| std::string | get_mode () const |
| returns the current 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 (AFIELD &, const AFIELD &, const std::string mode) |
| executes mult with specified mode (unchanging internal mode). More... | |
| void | mult_dag (AFIELD &, const AFIELD &, const std::string mode) |
| executes mult_dag with specified mode (unchanging internal mode). More... | |
| void | mult_gm5 (AFIELD &) |
| void | normalize_fprop (AFIELD &v) |
| normalize propagator if necessary (default: do nothing) More... | |
| void | normalize_fopr (AFIELD &v) |
| normalize propagator if necessary (default: do nothing) More... | |
| int | field_nvol () |
| returns the volume of the fermion field. More... | |
| int | field_nin () |
| returns the on-site degree of freedom of the fermion field. More... | |
| int | field_nex () |
| returns the external degree of freedom of the fermion field. More... | |
| double | flop_count () |
| returns floating operation counts. More... | |
| double | flop_count (const std::string mode) |
| returns floating operation counts. More... | |
| const std::string | class_name |
| const std::string | class_name |
Public Member Functions inherited from AFopr< AFIELD > | |
| AFopr () | |
| virtual | ~AFopr () |
| virtual void | convert (AFIELD &, const Field &) |
| converts a Field object into other format if necessary. More... | |
| virtual void | reverse (Field &, const AFIELD &) |
| converts an alternative field to a Field object. More... | |
Static Public Attributes | |
| static const std::string | class_name = "AFopr_Staggered_eo<AFIELD>" |
Private Types | |
| using | Channel = Channel_impl< std::allocator< real_t > > |
| using | allocator_t = typename AFIELD::template aligned_allocator< char > |
| using | Channel = Channel_impl< allocator_t > |
Private Member Functions | |
| void | init (const Parameters ¶ms) |
| void | tidyup () |
| void | set_staggered_phase () |
| void | setup_channels () |
| void | set_config_omp (Field *U) |
| void | set_config_impl (Field *U) |
| 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 | Meo_alt (AFIELD &, const AFIELD &, const int ieo) |
| Fermion matrix with ieo = 0: even <– odd, 1: odd <– even. More... | |
| void | D_alt (AFIELD &, const AFIELD &) |
| void | D (AFIELD &, const AFIELD &) |
| void | Ddag (AFIELD &, const AFIELD &) |
| void | DdagD (AFIELD &, const AFIELD &) |
| void | H (AFIELD &, const AFIELD &) |
| 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 | init (const Parameters ¶ms) |
| void | tidyup () |
| void | set_staggered_phase () |
| void | setup_channels () |
| 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 | D (AFIELD &, const AFIELD &) |
| void | Ddag (AFIELD &, const AFIELD &) |
| void | DdagD (AFIELD &, const AFIELD &) |
| void | H (AFIELD &, const AFIELD &) |
| void | Meo (AFIELD &, const AFIELD &, int ieo) |
| void | Meo (AFIELD &, const AFIELD &, const AFIELD &, int ieo, int iflag) |
| void | mult_Meo_qxs (AFIELD &, const AFIELD &, const AFIELD &, int ieo, int iflag) |
| void | mult_Meo_alt (AFIELD &, const AFIELD &, const AFIELD &, int ieo, int iflag) |
| void | clear (real_t *) |
| void | axpby (real_t, real_t *, real_t, real_t *) |
| 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_up (int mu, AFIELD &, const AFIELD &, int ieo) |
| void | mult_dn (int mu, AFIELD &, const AFIELD &, int ieo) |
Private Attributes | |
| int | m_Nc |
| int | m_Nvc |
| int | m_Nst |
| int | m_Ndim |
| int | m_Nst2 |
| int | m_Ieo_origin |
| real_t | m_mq |
| quark mass. More... | |
| std::vector< int > | m_boundary |
| boundary conditions. More... | |
| Bridge::VerboseLevel | m_vl |
| verbose level More... | |
| AFIELD | m_staggered_phase |
| AFIELD | m_parity |
| site parity for multiplying gamma_5 More... | |
| AFIELD | m_Ueo |
| gauge field multiplied by staggered phase. More... | |
| std::string | m_mode |
| AFIELD | m_v1 |
| AFIELD | m_v2 |
| working vectors More... | |
| AFIELD | m_Ulex |
| temporary lexical gauge field More... | |
| int | do_comm [4] |
| switchs of communication (4=Ndim): (0: n, 1: y). More... | |
| int | do_comm_any |
| switchs of communication (if any): (0: n, 1: y). More... | |
| std::vector< int > | m_Nbdsize |
| 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 |
| int | m_Nsize [4] |
| lattice size in units of SIMD vector More... | |
| int | m_bc [4] |
| int | m_bc2 [4] |
| int | m_Ndf |
| int | m_Nx |
| int | m_Ny |
| int | m_Nz |
| int | m_Nt |
| int | m_Nx2 |
| int | m_Nx2v |
| int | m_Nyv |
| int | m_Nst2v |
| for SIMD arrays More... | |
| std::vector< int > | m_Leo |
| Leo = 0 (even site) or 1 (odd site). More... | |
| AFIELD | m_stg_phase |
| staggered phase More... | |
| ShiftAField_eo< AFIELD > * | m_shift |
| AFIELD | m_w1 |
| AFIELD | m_w2 |
| working vectors More... | |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr< AFIELD > | |
| static const std::string | class_name |
Staggered fermion operator.
Staggered_eo fermion operator.
This class is a complexified standard staggered fermion operator. This code is an even-odd site index version for Accel branch. [30 Jul 2025 H.Matsufuru]
Implementation of the standard staggered fermion operator (even-odd site index) for the A64FX architecture. [26 Sep 2021 H.Matsufuru]
Definition at line 40 of file afopr_Staggered_eo.h.
|
private |
Definition at line 77 of file afopr_Staggered_eo.h.
|
private |
Definition at line 69 of file afopr_Staggered_eo.h.
|
private |
Definition at line 78 of file afopr_Staggered_eo.h.
| typedef AFIELD::real_t AFopr_Staggered_eo< AFIELD >::real_t |
Definition at line 43 of file afopr_Staggered_eo.h.
| typedef AFIELD::real_t AFopr_Staggered_eo< AFIELD >::real_t |
Definition at line 45 of file afopr_Staggered_eo.h.
|
inline |
constructor.
Definition at line 79 of file afopr_Staggered_eo.h.
|
inline |
destructor.
Definition at line 83 of file afopr_Staggered_eo.h.
|
inline |
constructor.
Definition at line 86 of file afopr_Staggered_eo.h.
|
inline |
destructor.
Definition at line 90 of file afopr_Staggered_eo.h.
|
private |
Definition at line 744 of file afopr_Staggered_eo-tmpl.h.
| const std::string AFopr_Staggered_eo< AField< double, QXS > >::class_name |
Definition at line 40 of file afopr_Staggered_eo_double.cpp.
| const std::string AFopr_Staggered_eo< AField< float, QXS > >::class_name |
Definition at line 40 of file afopr_Staggered_eo_float.cpp.
|
private |
Definition at line 736 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Definition at line 510 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
|
private |
Definition at line 519 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Definition at line 502 of file afopr_Staggered_eo-tmpl.h.
|
inlinevirtual |
returns the external degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 118 of file afopr_Staggered_eo.h.
|
inlinevirtual |
returns the external degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 125 of file afopr_Staggered_eo.h.
|
inlinevirtual |
returns the on-site degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 117 of file afopr_Staggered_eo.h.
|
inlinevirtual |
returns the on-site degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 124 of file afopr_Staggered_eo.h.
|
inlinevirtual |
returns the volume of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 116 of file afopr_Staggered_eo.h.
|
inlinevirtual |
returns the volume of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 123 of file afopr_Staggered_eo.h.
|
virtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
Definition at line 994 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
|
virtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
Definition at line 1001 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
|
inlinevirtual |
returns the current mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 100 of file afopr_Staggered_eo.h.
|
inlinevirtual |
returns the current mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 108 of file afopr_Staggered_eo.h.
|
virtual |
getting parameters via a Parameters object.
Reimplemented from AFopr< AFIELD >.
Definition at line 266 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
getting parameters via a Parameters object.
Reimplemented from AFopr< AFIELD >.
|
private |
|
private |
Definition at line 495 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 29 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Fermion matrix with ieo = 0: even <– odd, 1: odd <– even.
Definition at line 560 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Fermion matrix with ieo = 0: even <– odd, 1: odd <– even.
Definition at line 552 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Fermion matrix with ieo = 0: even <– odd, 1: odd <– even.
Definition at line 526 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 424 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
|
virtual |
executes mult with specified mode (unchanging internal mode).
Reimplemented from AFopr< AFIELD >.
Definition at line 462 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
executes mult with specified mode (unchanging internal mode).
Reimplemented from AFopr< AFIELD >.
|
virtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 443 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
|
virtual |
executes mult_dag with specified mode (unchanging internal mode).
Reimplemented from AFopr< AFIELD >.
Definition at line 484 of file afopr_Staggered_eo-tmpl.h.
|
privatevirtual |
downward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 761 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 791 of file afopr_Staggered_eo-tmpl.h.
| void AFopr_Staggered_eo< AFIELD >::mult_gm5 | ( | AFIELD & | v | ) |
Definition at line 645 of file afopr_Staggered_eo-tmpl.h.
| void AFopr_Staggered_eo< AFIELD >::mult_gm5 | ( | AFIELD & | ) |
|
virtual |
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
Definition at line 636 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
|
private |
Definition at line 670 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 594 of file afopr_Staggered_eo-tmpl.h.
| void AFopr_Staggered_eo< AFIELD >::mult_staggered_phase | ( | AFIELD & | , |
| int | mu | ||
| ) |
|
private |
Definition at line 955 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 916 of file afopr_Staggered_eo-tmpl.h.
|
privatevirtual |
upward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 753 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 769 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 719 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 678 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 799 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 759 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 877 of file afopr_Staggered_eo-tmpl.h.
|
private |
Definition at line 838 of file afopr_Staggered_eo-tmpl.h.
|
inlinevirtual |
returns true if additional field conversion is needed.
Reimplemented from AFopr< AFIELD >.
Definition at line 104 of file afopr_Staggered_eo.h.
|
virtual |
normalize propagator if necessary (default: do nothing)
Reimplemented from AFopr< AFIELD >.
Definition at line 667 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
normalize propagator if necessary (default: do nothing)
Reimplemented from AFopr< AFIELD >.
|
virtual |
normalize propagator if necessary (default: do nothing)
Reimplemented from AFopr< AFIELD >.
Definition at line 654 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
normalize propagator if necessary (default: do nothing)
Reimplemented from AFopr< AFIELD >.
|
virtual |
setting gauge configuration.
Implements AFopr< AFIELD >.
Definition at line 344 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
setting gauge configuration (common interface).
Implements AFopr< AFIELD >.
|
private |
Definition at line 375 of file afopr_Staggered_eo-tmpl.h.
|
private |
setting gauge configuration (implementation).
|
private |
Definition at line 363 of file afopr_Staggered_eo-tmpl.h.
|
private |
setting gauge configuration (setting omp parallel).
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr< AFIELD >.
Definition at line 411 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr< AFIELD >.
|
virtual |
setting parameters by a Parameter object.
Reimplemented from AFopr< AFIELD >.
Definition at line 200 of file afopr_Staggered_eo-tmpl.h.
|
virtual |
setting parameters by a Parameter object.
Reimplemented from AFopr< AFIELD >.
| void AFopr_Staggered_eo< AFIELD >::set_parameters | ( | const real_t | mq, |
| const std::vector< int > | bc | ||
| ) |
setting parameters by values.
Definition at line 225 of file afopr_Staggered_eo-tmpl.h.
| void AFopr_Staggered_eo< AFIELD >::set_parameters | ( | const real_t | mq, |
| const std::vector< int > | bc | ||
| ) |
setting parameters by values.
|
private |
Definition at line 276 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Definition at line 123 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Definition at line 174 of file afopr_Staggered_eo-tmpl.h.
|
private |
|
private |
Definition at line 70 of file afopr_Staggered_eo.h.
|
private |
Definition at line 70 of file afopr_Staggered_eo.h.
|
private |
Definition at line 70 of file afopr_Staggered_eo.h.
|
private |
Definition at line 70 of file afopr_Staggered_eo.h.
|
private |
Definition at line 71 of file afopr_Staggered_eo.h.
|
private |
Definition at line 71 of file afopr_Staggered_eo.h.
|
static |
Definition at line 44 of file afopr_Staggered_eo.h.
|
private |
switchs of communication (4=Ndim): (0: n, 1: y).
Definition at line 65 of file afopr_Staggered_eo.h.
|
private |
switchs of communication (if any): (0: n, 1: y).
Definition at line 66 of file afopr_Staggered_eo.h.
|
private |
Definition at line 74 of file afopr_Staggered_eo.h.
|
private |
Definition at line 75 of file afopr_Staggered_eo.h.
|
private |
boundary conditions.
Definition at line 52 of file afopr_Staggered_eo.h.
|
private |
Definition at line 49 of file afopr_Staggered_eo.h.
|
private |
Leo = 0 (even site) or 1 (odd site).
Definition at line 58 of file afopr_Staggered_eo.h.
|
private |
Definition at line 59 of file afopr_Staggered_eo.h.
|
private |
quark mass.
Definition at line 51 of file afopr_Staggered_eo.h.
|
private |
Definition at line 68 of file afopr_Staggered_eo.h.
|
private |
Definition at line 47 of file afopr_Staggered_eo.h.
|
private |
Definition at line 49 of file afopr_Staggered_eo.h.
|
private |
Definition at line 47 of file afopr_Staggered_eo.h.
|
private |
lattice size in units of SIMD vector
Definition at line 73 of file afopr_Staggered_eo.h.
|
private |
Definition at line 47 of file afopr_Staggered_eo.h.
|
private |
Definition at line 48 of file afopr_Staggered_eo.h.
|
private |
for SIMD arrays
Definition at line 52 of file afopr_Staggered_eo.h.
|
private |
Definition at line 50 of file afopr_Staggered_eo.h.
|
private |
Definition at line 47 of file afopr_Staggered_eo.h.
|
private |
Definition at line 50 of file afopr_Staggered_eo.h.
|
private |
Definition at line 51 of file afopr_Staggered_eo.h.
|
private |
Definition at line 52 of file afopr_Staggered_eo.h.
|
private |
Definition at line 50 of file afopr_Staggered_eo.h.
|
private |
Definition at line 52 of file afopr_Staggered_eo.h.
|
private |
Definition at line 50 of file afopr_Staggered_eo.h.
|
private |
site parity for multiplying gamma_5
Definition at line 56 of file afopr_Staggered_eo.h.
|
private |
Definition at line 66 of file afopr_Staggered_eo.h.
|
private |
Definition at line 55 of file afopr_Staggered_eo.h.
|
private |
staggered phase
Definition at line 60 of file afopr_Staggered_eo.h.
|
private |
gauge field multiplied by staggered phase.
gauge field multiplied by staggered phase
Definition at line 57 of file afopr_Staggered_eo.h.
|
private |
temporary lexical gauge field
converted lexical gauge field
Definition at line 63 of file afopr_Staggered_eo.h.
|
private |
Definition at line 61 of file afopr_Staggered_eo.h.
|
private |
working vectors
Definition at line 62 of file afopr_Staggered_eo.h.
|
private |
verbose level
Definition at line 53 of file afopr_Staggered_eo.h.
|
private |
Definition at line 70 of file afopr_Staggered_eo.h.
|
private |
working vectors
Definition at line 70 of file afopr_Staggered_eo.h.