Bridge++
Ver. 2.0.2
|
Domain-wall fermion operator with even-odd site index. More...
#include <afopr_Domainwall_eo.h>
Public Types | |
typedef AFIELD::real_t | real_t |
Public Member Functions | |
AFopr_Domainwall_eo (const Parameters ¶ms) | |
constructor. More... | |
~AFopr_Domainwall_eo () | |
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_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) |
setting pointer to 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 | preProp (AFIELD &Be, AFIELD &bo, const AFIELD &b) |
void | postProp (AFIELD &x, const AFIELD &xe, const AFIELD &bo) |
void | mult (AFIELD &v, const AFIELD &w) |
multiplies fermion operator to a given field (2nd argument) More... | |
void | mult_dag (AFIELD &v, const AFIELD &w) |
hermitian conjugate of mult(Field&, const Field&). More... | |
void | mult (AFIELD &v, const AFIELD &w, const std::string mode) |
executes mult with specified mode (unchanging internal mode). More... | |
void | mult_gm5 (AFIELD &v, const AFIELD &w) |
multiplies gamma_5 matrix. More... | |
void | mult_gm5_4d (AFIELD &v, const AFIELD &w) |
void | DdagD (AFIELD &, const AFIELD &) |
void | D (AFIELD &, const AFIELD &) |
void | Ddag (AFIELD &, const AFIELD &) |
void | H (AFIELD &, const AFIELD &) |
void | Hdag (AFIELD &, const AFIELD &) |
void | D_ee (AFIELD &, const AFIELD &, const int ieo) |
void | D_eo (AFIELD &, const AFIELD &, const int ieo) |
void | Ddag_eo (AFIELD &, const AFIELD &, const int ieo) |
void | mult_gm5R (AFIELD &, const AFIELD &) |
void | mult_R (AFIELD &, const AFIELD &) |
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 d.o.f. for which the fermion operator is defined. More... | |
int | field_nvol () |
returns the volume for which the fermion operator is defined. More... | |
int | field_nex () |
returns the external d.o.f. for which the fermion operator is defined. 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 |
const std::string | class_name |
Public Member Functions inherited from AFopr_eo< AFIELD > | |
virtual | ~AFopr_eo () |
virtual void | mult_dag (AFIELD &, const AFIELD &, const std::string) |
executes mult_dag with specified mode (unchanging internal mode). More... | |
std::string | get_mode () const |
returns the current mult mode. More... | |
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_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_eo" |
Private Member Functions | |
void | init (const Parameters ¶ms) |
initial setup. More... | |
void | tidyup () |
final tidyup. More... | |
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_mode |
Bridge::VerboseLevel | m_vl |
verbose level More... | |
int | m_NinF |
on-site d.o.f. More... | |
int | m_Nvol |
volume size of even or odd vector. More... | |
int | m_Nvol2 |
volume size of even or odd vector. More... | |
int | m_Ndim |
spacetime dimensions More... | |
Index_eo_Domainwall< AFIELD > * | m_index_eo |
AFopr< AFIELD > * | m_foprw |
AFIELD | m_w1 |
AFIELD | m_v1 |
AFIELD | m_v2 |
woking 5d vectors. More... | |
AFIELD | m_w4 |
AFIELD | m_v4 |
AFIELD | m_y4 |
AFIELD | m_t4 |
woking 4d 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_eo< AFIELD > | |
static const std::string | class_name |
Static Protected Attributes inherited from AFopr< AFIELD > | |
static const std::string | class_name |
Domain-wall fermion operator with even-odd site index.
This class implements the even-odd version of Domain-wall fermion including the Mobius form. [18 Apr 2017 H.Matsufuru] This class was developed as a template class in the alternative branch and then incorporated into ver.2.0. [07 Mar 2022 H.Matsufuru]
Definition at line 41 of file afopr_Domainwall_eo.h.
typedef AFIELD::real_t AFopr_Domainwall_eo< AFIELD >::real_t |
Definition at line 44 of file afopr_Domainwall_eo.h.
|
inline |
constructor.
Definition at line 91 of file afopr_Domainwall_eo.h.
|
inline |
destructor.
Definition at line 96 of file afopr_Domainwall_eo.h.
const std::string AFopr_Domainwall_eo< Field >::class_name |
Definition at line 42 of file fopr_Domainwall_eo.cpp.
const std::string AFopr_Domainwall_eo< AField< double, QXS > >::class_name |
Definition at line 69 of file afopr_Domainwall_eo.cpp.
const std::string AFopr_Domainwall_eo< AField< float, QXS > >::class_name |
Definition at line 73 of file afopr_Domainwall_eo.cpp.
|
virtual |
convert Field to AField for this class.
Reimplemented from AFopr< AFIELD >.
Definition at line 264 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::D | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 485 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::D_ee | ( | AFIELD & | v, |
const AFIELD & | w, | ||
const int | ieo | ||
) |
Definition at line 725 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::D_eo | ( | AFIELD & | v, |
const AFIELD & | w, | ||
const int | ieo | ||
) |
Definition at line 632 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::Ddag | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 522 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::Ddag_eo | ( | AFIELD & | v, |
const AFIELD & | w, | ||
const int | ieo | ||
) |
Definition at line 678 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::DdagD | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 457 of file afopr_Domainwall_eo-tmpl.h.
|
inlinevirtual |
returns the external d.o.f. for which the fermion operator is defined.
Implements AFopr_eo< AFIELD >.
Definition at line 170 of file afopr_Domainwall_eo.h.
|
inlinevirtual |
returns the on-site d.o.f. for which the fermion operator is defined.
Implements AFopr_eo< AFIELD >.
Definition at line 168 of file afopr_Domainwall_eo.h.
|
inlinevirtual |
returns the volume for which the fermion operator is defined.
Implements AFopr_eo< AFIELD >.
Definition at line 169 of file afopr_Domainwall_eo.h.
|
inlinevirtual |
this returns the number of floating point number operations.
Reimplemented from AFopr< AFIELD >.
Definition at line 173 of file afopr_Domainwall_eo.h.
|
virtual |
flop-count for specified mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 933 of file afopr_Domainwall_eo-tmpl.h.
|
inlinevirtual |
returns the current mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 131 of file afopr_Domainwall_eo.h.
void AFopr_Domainwall_eo< AFIELD >::H | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 502 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::Hdag | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 542 of file afopr_Domainwall_eo-tmpl.h.
|
private |
initial setup.
Definition at line 27 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::L_inv | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 765 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::Ldag_inv | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 900 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
multiplies fermion operator to a given field (2nd argument)
Reimplemented from AFopr_eo< AFIELD >.
Definition at line 324 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
executes mult with specified mode (unchanging internal mode).
Reimplemented from AFopr_eo< AFIELD >.
Definition at line 370 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
hermitian conjugate of mult(Field&, const Field&).
Reimplemented from AFopr_eo< AFIELD >.
Definition at line 347 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
Definition at line 564 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::mult_gm5_4d | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 587 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::mult_gm5R | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 613 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::mult_R | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 596 of file afopr_Domainwall_eo-tmpl.h.
|
inlinevirtual |
this class needs convert of fermion field.
Reimplemented from AFopr< AFIELD >.
Definition at line 116 of file afopr_Domainwall_eo.h.
|
virtual |
Implements AFopr_eo< AFIELD >.
Definition at line 423 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
Implements AFopr_eo< AFIELD >.
Definition at line 398 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
Reimplemented from AFopr< AFIELD >.
Definition at line 287 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< 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 239 of file afopr_Domainwall_eo-tmpl.h.
|
inlinevirtual |
setting pointer to the gauge configuration.
Implements AFopr_eo< AFIELD >.
Definition at line 124 of file afopr_Domainwall_eo.h.
|
inline |
Definition at line 126 of file afopr_Domainwall_eo.h.
void AFopr_Domainwall_eo< AFIELD >::set_kernel_parameters | ( | const Parameters & | params | ) |
set parameters of kernel operaotr.
Definition at line 195 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr_eo< AFIELD >.
Definition at line 310 of file afopr_Domainwall_eo-tmpl.h.
|
virtual |
sets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< AFIELD >.
Definition at line 101 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< 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 139 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::set_precond_parameters |
set parameters for preconditioning.
Definition at line 212 of file afopr_Domainwall_eo-tmpl.h.
|
private |
final tidyup.
Definition at line 92 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::U_inv | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 810 of file afopr_Domainwall_eo-tmpl.h.
void AFopr_Domainwall_eo< AFIELD >::Udag_inv | ( | AFIELD & | v, |
const AFIELD & | w | ||
) |
Definition at line 847 of file afopr_Domainwall_eo-tmpl.h.
|
static |
Definition at line 45 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 53 of file afopr_Domainwall_eo.h.
|
private |
boundary conditions
Definition at line 52 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 54 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 78 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 77 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 79 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 80 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 66 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 81 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 64 of file afopr_Domainwall_eo.h.
|
private |
domain-wall height
Definition at line 50 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 55 of file afopr_Domainwall_eo.h.
|
private |
quark mass
Definition at line 49 of file afopr_Domainwall_eo.h.
|
private |
spacetime dimensions
Definition at line 62 of file afopr_Domainwall_eo.h.
|
private |
on-site d.o.f.
Definition at line 59 of file afopr_Domainwall_eo.h.
|
private |
size of fifth-dimension
Definition at line 51 of file afopr_Domainwall_eo.h.
|
private |
volume size of even or odd vector.
Definition at line 60 of file afopr_Domainwall_eo.h.
|
private |
volume size of even or odd vector.
Definition at line 61 of file afopr_Domainwall_eo.h.
|
private |
woking 4d vectors.
Definition at line 69 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 68 of file afopr_Domainwall_eo.h.
|
private |
woking 5d vectors.
Definition at line 68 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 69 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 73 of file afopr_Domainwall_eo.h.
|
private |
verbose level
Definition at line 57 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 68 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 69 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 72 of file afopr_Domainwall_eo.h.
|
private |
Definition at line 69 of file afopr_Domainwall_eo.h.