|
Bridge++
Ver. 2.0.4
|
Domain-wall fermion operator. More...
#include <afopr_Domainwall.h>
Public Types | |
| typedef AFopr< AFIELD > | AFOPR |
| typedef AFIELD::real_t | real_t |
Public Member Functions | |
| AFopr_Domainwall (AFOPR *fopr) | |
| constructor. More... | |
| AFopr_Domainwall (const Parameters ¶ms) | |
| AFopr_Domainwall (AFOPR *fopr, const Parameters ¶ms) | |
| constructor. More... | |
| ~AFopr_Domainwall () | |
| destructor. More... | |
| void | set_parameters (const Parameters ¶ms) |
| sets parameters by a Parameter object: to be implemented in a subclass. More... | |
| void | set_parameters (const real_t mq, const real_t M0, const int Ns, const std::vector< int > bc, const real_t b, const real_t c) |
| set parameters in the case of Moebius domain-wall. More... | |
| void | set_parameters (const real_t mq, const real_t M0, const int Ns, const std::vector< int > bc, const std::vector< real_t > vec_b, const std::vector< real_t > vec_c) |
| set parameters in the case of Moebius domain-wall. More... | |
| void | get_parameters (Parameters ¶ms) const |
| gets parameters by a Parameter object: to be implemented in a subclass. 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< real_t > b, const std::vector< real_t > 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) |
| sets the gauge configuration. More... | |
| void | set_config (unique_ptr< Field_G > &U) |
| 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) |
| void | mult_dag (AFIELD &v, const AFIELD &w, std::string mode) |
| mult_dag with specified mode. More... | |
| void | mult_gm5 (AFIELD &, const AFIELD &) |
| multiplies gamma_5 matrix. More... | |
| void | mult_chproj_4d (AFIELD &, const AFIELD &, const int ipm) |
| 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... | |
| void | DdagD (AFIELD &, const AFIELD &) |
| void | DDdag (AFIELD &, const AFIELD &) |
| void | D (AFIELD &, const AFIELD &) |
| void | Ddag (AFIELD &, const AFIELD &) |
| void | H (AFIELD &, const AFIELD &) |
| void | Hdag (AFIELD &, const AFIELD &) |
| void | mult_gm5R (AFIELD &, const AFIELD &) |
| void | mult_R (AFIELD &, const AFIELD &) |
| void | DdagD_prec (AFIELD &, const AFIELD &) |
| void | D_prec (AFIELD &, const AFIELD &) |
| void | Ddag_prec (AFIELD &, const AFIELD &) |
| void | Prec (AFIELD &, const AFIELD &) |
| void | Precdag (AFIELD &, const AFIELD &) |
| const std::string | class_name |
| const std::string | class_name |
| const std::string | class_name |
Public Member Functions inherited from AFopr< AFIELD > | |
| AFopr () | |
| virtual | ~AFopr () |
| 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" |
Private Member Functions | |
| void | init (const Parameters ¶ms) |
| initial setup. More... | |
| void | init (AFOPR *fopr, const Parameters ¶ms) |
| void | init (AFOPR *fopr) |
| void | tidyup () |
| final tidyup. More... | |
| void | L_inv (AFIELD &, const AFIELD &) |
| void | U_inv (AFIELD &, const AFIELD &) |
| void | Ldag_inv (AFIELD &, const AFIELD &) |
| void | Udag_inv (AFIELD &, const AFIELD &) |
| void | mult_gm5_4d (AFIELD &, const AFIELD &) |
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 |
| coefficient b (array) More... | |
| std::vector< real_t > | m_c |
| coefficient c (array) More... | |
| Bridge::VerboseLevel | m_vl |
| verbose level More... | |
| std::string | m_repr |
| std::string | m_mode |
| int | m_NinF |
| int | m_Nvol |
| int | m_Ndim |
| AFOPR * | m_foprw |
| std::string | m_kernel_type |
| bool | m_kernel_created |
| whether kernel is created in this object More... | |
| AFIELD | m_w4 |
| AFIELD | m_v4 |
| AFIELD | m_t4 |
| AFIELD | m_y4 |
| working 4d vectors. More... | |
| AFIELD | m_w1 |
| AFIELD | m_v1 |
| AFIELD | m_v2 |
| working 5d vectors. More... | |
| Field | m_w4lex |
| AFIELD | m_v4lex |
| std::vector< real_t > | m_dp |
| std::vector< real_t > | m_dm |
| std::vector< real_t > | m_e |
| std::vector< real_t > | m_f |
| real_t | m_g |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr< AFIELD > | |
| static const std::string | class_name |
Domain-wall fermion operator.
This class implements the domain-wall fermion operator. The first version was implemented only for the standard (Shamir's) form. [24 Dec 2011 H.Matsufuru] Later it was generalized to cover the Mobius form as a template class in the alternative branch. [26 Feb 2019 H.Matsufuru] In ver.2.0, it was merged to trunk by renaming to AFopr_Domainwall. [06 Mar 2022 H.Matsufuru]
Definition at line 38 of file afopr_Domainwall.h.
| typedef AFopr<AFIELD> AFopr_Domainwall< AFIELD >::AFOPR |
Definition at line 41 of file afopr_Domainwall.h.
| typedef AFIELD::real_t AFopr_Domainwall< AFIELD >::real_t |
Definition at line 42 of file afopr_Domainwall.h.
|
inline |
constructor.
Definition at line 80 of file afopr_Domainwall.h.
|
inline |
Definition at line 82 of file afopr_Domainwall.h.
|
inline |
constructor.
Definition at line 85 of file afopr_Domainwall.h.
|
inline |
destructor.
Definition at line 89 of file afopr_Domainwall.h.
| const std::string AFopr_Domainwall< Field >::class_name |
Definition at line 23 of file fopr_Domainwall.cpp.
| const std::string AFopr_Domainwall< AField< double, QXS > >::class_name |
Definition at line 38 of file afopr_Domainwall.cpp.
| const std::string AFopr_Domainwall< AField< float, QXS > >::class_name |
Definition at line 42 of file afopr_Domainwall.cpp.
|
virtual |
convert Field to AField for this class.
Reimplemented from AFopr< AFIELD >.
Definition at line 454 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::D | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 818 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::D_prec | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 729 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::Ddag | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 859 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::Ddag_prec | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 739 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::DdagD | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 693 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::DdagD_prec | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 717 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::DDdag | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 705 of file afopr_Domainwall-tmpl.h.
|
inlinevirtual |
returns the external degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 152 of file afopr_Domainwall.h.
|
inlinevirtual |
returns the on-site degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 150 of file afopr_Domainwall.h.
|
inlinevirtual |
returns the volume of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 151 of file afopr_Domainwall.h.
|
inlinevirtual |
this returns the number of floating point number operations.
Reimplemented from AFopr< AFIELD >.
Definition at line 155 of file afopr_Domainwall.h.
|
virtual |
flop-count for specified mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1056 of file afopr_Domainwall-tmpl.h.
|
inlinevirtual |
returns the current mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 132 of file afopr_Domainwall.h.
|
virtual |
gets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< AFIELD >.
Definition at line 252 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::H | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 767 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::Hdag | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 776 of file afopr_Domainwall-tmpl.h.
|
private |
Definition at line 150 of file afopr_Domainwall-tmpl.h.
|
private |
Definition at line 98 of file afopr_Domainwall-tmpl.h.
|
private |
initial setup.
Definition at line 27 of file afopr_Domainwall-tmpl.h.
|
private |
Definition at line 897 of file afopr_Domainwall-tmpl.h.
|
private |
Definition at line 1024 of file afopr_Domainwall-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 513 of file afopr_Domainwall-tmpl.h.
|
virtual |
mult with specified mode. Possible modes are: "D", "Ddag", "DdagD", "DDdag", "Prec", "D_prec", "Ddag_prec", "DdagD_prec".
Reimplemented from AFopr< AFIELD >.
Definition at line 575 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::mult_chproj_4d | ( | AFIELD & | v, |
| const AFIELD & | w, | ||
| const int | ipm | ||
| ) |
Definition at line 666 of file afopr_Domainwall-tmpl.h.
|
virtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 544 of file afopr_Domainwall-tmpl.h.
|
virtual |
mult_dag with specified mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 609 of file afopr_Domainwall-tmpl.h.
|
virtual |
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
Definition at line 642 of file afopr_Domainwall-tmpl.h.
|
private |
Definition at line 685 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::mult_gm5R | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 785 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::mult_R | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 801 of file afopr_Domainwall-tmpl.h.
|
inlinevirtual |
this class needs convert of fermion field.
Reimplemented from AFopr< AFIELD >.
Definition at line 117 of file afopr_Domainwall.h.
| void AFopr_Domainwall< AFIELD >::Prec | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 749 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::Precdag | ( | AFIELD & | v, |
| const AFIELD & | w | ||
| ) |
Definition at line 758 of file afopr_Domainwall-tmpl.h.
|
virtual |
Reimplemented from AFopr< AFIELD >.
Definition at line 477 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::set_coefficients | ( | const std::vector< real_t > | b, |
| const std::vector< real_t > | c | ||
| ) |
set coefficients if they depend in s.
Definition at line 385 of file afopr_Domainwall-tmpl.h.
|
inlinevirtual |
sets the gauge configuration.
Implements AFopr< AFIELD >.
Definition at line 125 of file afopr_Domainwall.h.
|
inline |
Definition at line 127 of file afopr_Domainwall.h.
| void AFopr_Domainwall< AFIELD >::set_kernel_parameters | ( | const Parameters & | params | ) |
set parameters of kernel operaotr.
Definition at line 410 of file afopr_Domainwall-tmpl.h.
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr< AFIELD >.
Definition at line 500 of file afopr_Domainwall-tmpl.h.
|
virtual |
sets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< AFIELD >.
Definition at line 203 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::set_parameters | ( | const real_t | mq, |
| const real_t | M0, | ||
| const int | Ns, | ||
| const std::vector< int > | bc, | ||
| const real_t | b, | ||
| const real_t | c | ||
| ) |
set parameters in the case of Moebius domain-wall.
Definition at line 269 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::set_parameters | ( | const real_t | mq, |
| const real_t | M0, | ||
| const int | Ns, | ||
| const std::vector< int > | bc, | ||
| const std::vector< real_t > | vec_b, | ||
| const std::vector< real_t > | vec_c | ||
| ) |
set parameters in the case of Moebius domain-wall.
Definition at line 326 of file afopr_Domainwall-tmpl.h.
| void AFopr_Domainwall< AFIELD >::set_precond_parameters |
set parameters for preconditioning.
Definition at line 427 of file afopr_Domainwall-tmpl.h.
|
private |
final tidyup.
Definition at line 195 of file afopr_Domainwall-tmpl.h.
|
private |
Definition at line 938 of file afopr_Domainwall-tmpl.h.
|
private |
Definition at line 975 of file afopr_Domainwall-tmpl.h.
|
static |
Definition at line 43 of file afopr_Domainwall.h.
|
private |
coefficient b (array)
Definition at line 51 of file afopr_Domainwall.h.
|
private |
boundary conditions
Definition at line 50 of file afopr_Domainwall.h.
|
private |
coefficient c (array)
Definition at line 52 of file afopr_Domainwall.h.
|
private |
Definition at line 73 of file afopr_Domainwall.h.
|
private |
Definition at line 72 of file afopr_Domainwall.h.
|
private |
Definition at line 74 of file afopr_Domainwall.h.
|
private |
Definition at line 75 of file afopr_Domainwall.h.
|
private |
Definition at line 60 of file afopr_Domainwall.h.
|
private |
Definition at line 76 of file afopr_Domainwall.h.
|
private |
whether kernel is created in this object
Definition at line 62 of file afopr_Domainwall.h.
|
private |
Definition at line 61 of file afopr_Domainwall.h.
|
private |
domain-wall height
Definition at line 48 of file afopr_Domainwall.h.
|
private |
Definition at line 56 of file afopr_Domainwall.h.
|
private |
quark mass
Definition at line 47 of file afopr_Domainwall.h.
|
private |
Definition at line 58 of file afopr_Domainwall.h.
|
private |
Definition at line 58 of file afopr_Domainwall.h.
|
private |
size of fifth-dimension
Definition at line 49 of file afopr_Domainwall.h.
|
private |
Definition at line 58 of file afopr_Domainwall.h.
|
private |
Definition at line 54 of file afopr_Domainwall.h.
|
private |
Definition at line 64 of file afopr_Domainwall.h.
|
private |
Definition at line 65 of file afopr_Domainwall.h.
|
private |
working 5d vectors.
Definition at line 65 of file afopr_Domainwall.h.
|
private |
Definition at line 64 of file afopr_Domainwall.h.
|
private |
Definition at line 69 of file afopr_Domainwall.h.
|
private |
verbose level
Definition at line 53 of file afopr_Domainwall.h.
|
private |
Definition at line 65 of file afopr_Domainwall.h.
|
private |
Definition at line 64 of file afopr_Domainwall.h.
|
private |
Definition at line 68 of file afopr_Domainwall.h.
|
private |
working 4d vectors.
Definition at line 64 of file afopr_Domainwall.h.