|
Bridge++
Ver. 2.0.4
|
Optimal Domain-wall fermion operator. More...
#include <afopr_Domainwall_5din_eo.h>
Public Types | |
| typedef AFIELD::real_t | real_t |
Public Member Functions | |
| AFopr_Domainwall_5din_eo (const Parameters ¶ms) | |
| ~AFopr_Domainwall_5din_eo () | |
| void | set_parameters (const Parameters ¶ms) |
| sets parameters by a Parameter object: to be implemented in a subclass. More... | |
| void | set_parameters (const double mq, const double M0, const int Ns, const std::vector< int > bc, const double b, const double c) |
| set parameters in the case of Moebius domain-wall. More... | |
| void | set_kernel_parameters (const Parameters ¶ms) |
| set parameters of kernel operaotr. More... | |
| void | set_precond_parameters () |
| set parameters for preconditioning. More... | |
| void | set_coefficients (const std::vector< double > b, const std::vector< double > c) |
| set coefficients if they depend in s. More... | |
| bool | needs_convert () |
| this class needs convert of fermion field. More... | |
| void | convert (AFIELD &, const Field &) |
| convert Field to AField for this class. More... | |
| void | reverse (Field &, const AFIELD &) |
| reverse AField to Field. More... | |
| void | set_config (Field *U) |
| setting gauge configuration (common interface). 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 &v, const AFIELD &w) |
| multiplies fermion operator to a given field. More... | |
| void | mult_dag (AFIELD &v, const AFIELD &w) |
| hermitian conjugate of mult. More... | |
| void | mult (AFIELD &v, const AFIELD &w, std::string mode) |
| mult with specified mode. More... | |
| void | mult_dag (AFIELD &v, const AFIELD &w, std::string mode) |
| mult_dag with specified mode. More... | |
| void | DdagD (AFIELD &, const AFIELD &) |
| void | D (AFIELD &, const AFIELD &) |
| void | Ddag (AFIELD &, const AFIELD &) |
| void | D_ee (AFIELD &, const AFIELD &, const int ieo) |
| void | D_ee_inv (AFIELD &, const AFIELD &, const int ieo) |
| void | D_eo (AFIELD &, const AFIELD &, const int ieo) |
| void | Ddag_ee (AFIELD &, const AFIELD &, const int ieo) |
| void | Ddag_ee_inv (AFIELD &, const AFIELD &, const int ieo) |
| void | Ddag_eo (AFIELD &, const AFIELD &, const int ieo) |
| void | mult_D_eo (AFIELD &, const AFIELD &, const int ieo) |
| void | mult_Ddag_eo (AFIELD &, const AFIELD &, const int ieo) |
| void | L_inv (AFIELD &, const AFIELD &) |
| void | U_inv (AFIELD &, const AFIELD &) |
| void | Ldag_inv (AFIELD &, const AFIELD &) |
| void | Udag_inv (AFIELD &, const AFIELD &) |
| int | field_nin () |
| returns the on-site degree of freedom of the fermion field. More... | |
| int | field_nvol () |
| returns the volume of the fermion field. More... | |
| int | field_nex () |
| returns the external degree of freedom of the fermion field. More... | |
| double | flop_count () |
| this returns the number of floating point number operations. More... | |
| double | flop_count (std::string mode) |
| flop-count for specified mode. More... | |
| const std::string | class_name |
| const std::string | class_name |
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_gm5 (AFIELD &, const AFIELD &) |
| multiplies gamma_5 matrix. 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_Domainwall_5din_eo" |
Private Types | |
| using | channel_allocator_t = typename AFIELD::template aligned_allocator< char > |
| using | channel_t = Channel_impl< channel_allocator_t > |
Private Member Functions | |
| void | init (const Parameters ¶ms) |
| initial setup. More... | |
| void | tidyup () |
| final tidyup. More... | |
| void | setup_channels () |
| setup channels for communication. 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 | Dhop (real_t *, real_t *, const int ieo) |
| hopping part of fermion operator. More... | |
| void | Dhop_1 (real_t *, real_t *, const int ieo) |
| void | Dhop_2 (real_t *, real_t *, const int ieo) |
| void | Dhop_b (real_t *, real_t *, const int ieo) |
Private Attributes | |
| real_t | m_mq |
| quark mass More... | |
| real_t | m_M0 |
| domain-wall height More... | |
| int | m_Ns |
| size of fifth-dimension More... | |
| std::vector< int > | m_boundary |
| boundary conditions More... | |
| std::vector< real_t > | m_b |
| std::vector< real_t > | m_c |
| std::string | m_repr |
| gamma matrix representation More... | |
| std::string | m_mode |
| Bridge::VerboseLevel | m_vl |
| verbose level More... | |
| int | m_Nx |
| int | m_Ny |
| int | m_Nz |
| int | m_Nt |
| int | m_Nvol |
| int | m_Ndim |
| int | m_NinF |
| int | m_Nvcd |
| int | m_Ndf |
| int | m_Nx2 |
| int | m_Nst2 |
| int | m_Nx2v |
| int | m_Nyv |
| int | m_Nst2v |
| std::vector< int > | m_Leo |
| Leo = 0 (even site) or 1 (odd site). More... | |
| AFopr< AFIELD > * | m_foprw |
| AFIELD | m_Ueo |
| gauge config. with boundary condition More... | |
| AFIELD | m_Ulex |
| converted gauge config.(lexical) More... | |
| AFIELD | m_w4 |
| AFIELD | m_v4 |
| AFIELD | m_t4 |
| AFIELD | m_y4 |
| working 4d vectors More... | |
| AFIELD | m_y1 |
| AFIELD | m_v1 |
| AFIELD | m_v2 |
| working 5d vectors More... | |
| std::vector< real_t > | m_dp |
| std::vector< real_t > | m_dpinv |
| std::vector< real_t > | m_dm |
| std::vector< real_t > | m_e |
| std::vector< real_t > | m_f |
| real_t | m_g |
| int | m_Nsize [4] |
| int | do_comm [4] |
| communication switch (4=Ndim): (0: n, 1: y). More... | |
| int | do_comm_any |
| communication switch (if any): (0: n, 1: y). More... | |
| std::vector< int > | m_Nbdsize |
| std::vector< channel_t > | chsend_up |
| std::vector< channel_t > | chrecv_up |
| std::vector< channel_t > | chsend_dn |
| std::vector< channel_t > | chrecv_dn |
| ChannelSet | chset_send |
| ChannelSet | chset_recv |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr< AFIELD > | |
| static const std::string | class_name |
Optimal Domain-wall fermion operator.
template version. [18 Apr 2017 H.Matsufuru]
Definition at line 35 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 86 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 87 of file afopr_Domainwall_5din_eo.h.
| typedef AFIELD::real_t AFopr_Domainwall_5din_eo< AFIELD >::real_t |
Definition at line 38 of file afopr_Domainwall_5din_eo.h.
|
inline |
Definition at line 93 of file afopr_Domainwall_5din_eo.h.
|
inline |
Definition at line 100 of file afopr_Domainwall_5din_eo.h.
| const std::string AFopr_Domainwall_5din_eo< AField< double, QXS > >::class_name |
Definition at line 60 of file afopr_Domainwall_5din_eo_double.cpp.
| const std::string AFopr_Domainwall_5din_eo< AField< float, QXS > >::class_name |
Definition at line 73 of file afopr_Domainwall_5din_eo_float.cpp.
|
virtual |
convert Field to AField for this class.
Reimplemented from AFopr< AFIELD >.
Definition at line 478 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::D | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 695 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::D_ee | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 939 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::D_ee_inv | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 915 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::D_eo | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 731 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::Ddag | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 712 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::Ddag_ee | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 989 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::Ddag_ee_inv | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 927 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::Ddag_eo | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 741 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::DdagD | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 666 of file afopr_Domainwall_5din_eo-tmpl.h.
|
private |
hopping part of fermion operator.
|
private |
|
private |
|
private |
|
inlinevirtual |
returns the external degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 168 of file afopr_Domainwall_5din_eo.h.
|
inlinevirtual |
returns the on-site degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 166 of file afopr_Domainwall_5din_eo.h.
|
inlinevirtual |
returns the volume of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 167 of file afopr_Domainwall_5din_eo.h.
|
inlinevirtual |
this returns the number of floating point number operations.
Reimplemented from AFopr< AFIELD >.
Definition at line 171 of file afopr_Domainwall_5din_eo.h.
|
virtual |
flop-count for specified mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1093 of file afopr_Domainwall_5din_eo-tmpl.h.
|
inlinevirtual |
returns the current mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 135 of file afopr_Domainwall_5din_eo.h.
|
private |
initial setup.
Definition at line 17 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::L_inv | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 1037 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::Ldag_inv | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 1079 of file afopr_Domainwall_5din_eo-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 575 of file afopr_Domainwall_5din_eo-tmpl.h.
|
virtual |
mult with specified mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 610 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::mult_D_eo | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 751 of file afopr_Domainwall_5din_eo-tmpl.h.
|
virtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 592 of file afopr_Domainwall_5din_eo-tmpl.h.
|
virtual |
mult_dag with specified mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 638 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::mult_Ddag_eo | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ieo | ||
| ) |
Definition at line 831 of file afopr_Domainwall_5din_eo-tmpl.h.
|
inlinevirtual |
this class needs convert of fermion field.
Reimplemented from AFopr< AFIELD >.
Definition at line 120 of file afopr_Domainwall_5din_eo.h.
|
virtual |
Reimplemented from AFopr< AFIELD >.
Definition at line 520 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::set_coefficients | ( | const std::vector< double > | b, |
| const std::vector< double > | c | ||
| ) |
set coefficients if they depend in s.
Definition at line 331 of file afopr_Domainwall_5din_eo-tmpl.h.
|
virtual |
setting gauge configuration (common interface).
Implements AFopr< AFIELD >.
Definition at line 367 of file afopr_Domainwall_5din_eo-tmpl.h.
|
private |
setting gauge configuration (implementation).
Definition at line 399 of file afopr_Domainwall_5din_eo-tmpl.h.
|
private |
setting gauge configuration (setting omp parallel).
Definition at line 386 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::set_kernel_parameters | ( | const Parameters & | params | ) |
set parameters of kernel operaotr.
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr< AFIELD >.
Definition at line 562 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::set_parameters | ( | const double | mq, |
| const double | M0, | ||
| const int | Ns, | ||
| const std::vector< int > | bc, | ||
| const double | b, | ||
| const double | c | ||
| ) |
set parameters in the case of Moebius domain-wall.
|
virtual |
sets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< AFIELD >.
Definition at line 189 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::set_precond_parameters |
set parameters for preconditioning.
Definition at line 290 of file afopr_Domainwall_5din_eo-tmpl.h.
|
private |
setup channels for communication.
Definition at line 155 of file afopr_Domainwall_5din_eo-tmpl.h.
|
private |
final tidyup.
Definition at line 147 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::U_inv | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 1051 of file afopr_Domainwall_5din_eo-tmpl.h.
| void AFopr_Domainwall_5din_eo< AFIELD >::Udag_inv | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 1065 of file afopr_Domainwall_5din_eo-tmpl.h.
|
private |
Definition at line 89 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 89 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 89 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 89 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 90 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 90 of file afopr_Domainwall_5din_eo.h.
|
static |
Definition at line 39 of file afopr_Domainwall_5din_eo.h.
|
private |
communication switch (4=Ndim): (0: n, 1: y).
Definition at line 81 of file afopr_Domainwall_5din_eo.h.
|
private |
communication switch (if any): (0: n, 1: y).
Definition at line 82 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 47 of file afopr_Domainwall_5din_eo.h.
|
private |
boundary conditions
Definition at line 46 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 48 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 74 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 72 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 73 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 75 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 76 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 63 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 77 of file afopr_Domainwall_5din_eo.h.
|
private |
Leo = 0 (even site) or 1 (odd site).
Definition at line 61 of file afopr_Domainwall_5din_eo.h.
|
private |
domain-wall height
Definition at line 44 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 51 of file afopr_Domainwall_5din_eo.h.
|
private |
quark mass
Definition at line 43 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 84 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 57 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 56 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 57 of file afopr_Domainwall_5din_eo.h.
|
private |
size of fifth-dimension
Definition at line 45 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 79 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 58 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 59 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 55 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 57 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 56 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 55 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 58 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 59 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 55 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 59 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 55 of file afopr_Domainwall_5din_eo.h.
|
private |
gamma matrix representation
Definition at line 49 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 68 of file afopr_Domainwall_5din_eo.h.
|
private |
gauge config. with boundary condition
Definition at line 65 of file afopr_Domainwall_5din_eo.h.
|
private |
converted gauge config.(lexical)
Definition at line 66 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 69 of file afopr_Domainwall_5din_eo.h.
|
private |
working 5d vectors
Definition at line 69 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 68 of file afopr_Domainwall_5din_eo.h.
|
private |
verbose level
Definition at line 53 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 68 of file afopr_Domainwall_5din_eo.h.
|
private |
Definition at line 69 of file afopr_Domainwall_5din_eo.h.
|
private |
working 4d vectors
Definition at line 68 of file afopr_Domainwall_5din_eo.h.