Bridge++
Ver. 2.0.2
|
Even-odd Clover fermion operator. More...
#include <fopr_Clover_eo.h>
Public Member Functions | |
DEPRECATED | Fopr_Clover_eo (const std::string repr) |
Fopr_Clover_eo (const Parameters ¶ms) | |
~Fopr_Clover_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 kappa, const double cSW, const std::vector< int > bc) |
void | get_parameters (Parameters ¶ms) const |
gets parameters by a Parameter object: to be implemented in a subclass. More... | |
void | set_config (Field *U) |
setting pointer to the gauge configuration. More... | |
void | set_mode (const 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 |
void | mult (Field &v, const Field &f) |
multiplies fermion operator to a given field (2nd argument) More... | |
void | mult_dag (Field &v, const Field &f) |
hermitian conjugate of mult(Field&, const Field&). More... | |
void | preProp (Field &Be, Field &bo, const Field &b) |
void | postProp (Field &x, const Field &xe, const Field &bo) |
void | mult_gm5 (Field &, const Field &) |
multiplies gamma_5 matrix. More... | |
void | D (Field &v, const Field &f) |
void | Ddag (Field &v, const Field &f) |
void | DdagD (Field &v, const Field &f) |
void | DDdag (Field &v, const Field &f) |
void | H (Field &v, const Field &f) |
void | Meo (Field &, const Field &, const int ieo) |
void | Mdageo (Field &, const Field &, const int ieo) |
void | mult_isigma (Field_F &w, const Field_F &f, const int mu, const int nu) |
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 operations. More... | |
Public Member Functions inherited from AFopr_eo< Field > | |
virtual | ~AFopr_eo () |
virtual void | mult (Field &, const Field &, const std::string) |
executes mult with specified mode (unchanging internal mode). More... | |
virtual void | mult_dag (Field &, const Field &, 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< Field > | |
AFopr () | |
virtual | ~AFopr () |
virtual void | mult_up (int mu, Field &, const Field &) |
upward nearest neighbor hopping term. More... | |
virtual void | mult_dn (int mu, Field &, const Field &) |
downward nearest neighbor hopping term. More... | |
virtual void | normalize_fprop (Field &) |
normalize propagator if necessary (default: do nothing) More... | |
virtual void | normalize_fopr (Field &) |
normalize propagator if necessary (default: do nothing) More... | |
virtual double | flop_count (const std::string mode) |
returns the flops per site for specified mode. More... | |
virtual bool | needs_convert () |
returns true if additional field conversion is needed. More... | |
virtual void | convert (Field &, const Field &) |
converts a Field object into other format if necessary. More... | |
virtual void | reverse (Field &, const Field &) |
converts an alternative field to a Field object. More... | |
Static Public Attributes | |
static const std::string | class_name = "Fopr_Clover_eo" |
Private Member Functions | |
void | init (const std::string repr) |
void | init (const Parameters ¶ms) |
void | setup () |
void | tidyup () |
Private Attributes | |
double | m_kappa |
hopping parameter. More... | |
double | m_cSW |
clover coefficient. More... | |
std::vector< int > | m_boundary |
boundary condition. More... | |
std::string | m_repr |
gamma-matrix type More... | |
Bridge::VerboseLevel | m_vl |
verbose level More... | |
std::string | m_mode |
int | m_Nc |
int | m_Nd |
int | m_NinF |
int | m_Ndim |
int | m_Nvol |
int | m_Nvol2 |
Fopr_Wilson_eo * | m_fopr_w |
Fopr_CloverTerm_eo * | m_fopr_csw |
Index_eo | m_idx |
Field_G * | m_U |
Field | m_w1 |
Field | m_w2 |
working field More... | |
Field | m_v1 |
working field More... | |
bool | m_is_initial_step |
to avoid redundant setup More... | |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr_eo< Field > | |
static const std::string | class_name |
Static Protected Attributes inherited from AFopr< Field > | |
static const std::string | class_name |
Even-odd Clover fermion operator.
This class is an even-odd version of Clover fermion operator. At present this is rough implementation, while correctly works, and to be updated by supplying complete functionality. Only the functions needed for even-odd preconditioned solver are ready. 20 June 2012 S.UEDA Modify this code to work. [03 Mar 2013 Y.Namekawa] Multi-threaded. [12 Jul 2014 H.Matsufuru] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa] Modifed toward ver.2.0. [04 Dec 2021 H.Matsufuru]
Definition at line 43 of file fopr_Clover_eo.h.
|
inline |
Definition at line 75 of file fopr_Clover_eo.h.
|
inline |
Definition at line 77 of file fopr_Clover_eo.h.
|
inline |
Definition at line 79 of file fopr_Clover_eo.h.
Definition at line 332 of file fopr_Clover_eo.cpp.
Definition at line 343 of file fopr_Clover_eo.cpp.
Definition at line 308 of file fopr_Clover_eo.cpp.
Definition at line 316 of file fopr_Clover_eo.cpp.
|
inlinevirtual |
returns the external d.o.f. for which the fermion operator is defined.
Implements AFopr_eo< Field >.
Definition at line 123 of file fopr_Clover_eo.h.
|
inlinevirtual |
returns the on-site d.o.f. for which the fermion operator is defined.
Implements AFopr_eo< Field >.
Definition at line 121 of file fopr_Clover_eo.h.
|
inlinevirtual |
returns the volume for which the fermion operator is defined.
Implements AFopr_eo< Field >.
Definition at line 122 of file fopr_Clover_eo.h.
|
virtual |
this returns the number of floating point operations.
Reimplemented from AFopr< Field >.
Definition at line 384 of file fopr_Clover_eo.cpp.
|
inline |
Definition at line 93 of file fopr_Clover_eo.h.
|
virtual |
gets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< Field >.
Definition at line 183 of file fopr_Clover_eo.cpp.
Definition at line 324 of file fopr_Clover_eo.cpp.
|
private |
Definition at line 29 of file fopr_Clover_eo.cpp.
|
private |
Definition at line 67 of file fopr_Clover_eo.cpp.
Definition at line 365 of file fopr_Clover_eo.cpp.
Definition at line 354 of file fopr_Clover_eo.cpp.
multiplies fermion operator to a given field (2nd argument)
Reimplemented from AFopr_eo< Field >.
Definition at line 220 of file fopr_Clover_eo.cpp.
hermitian conjugate of mult(Field&, const Field&).
Reimplemented from AFopr_eo< Field >.
Definition at line 241 of file fopr_Clover_eo.cpp.
multiplies gamma_5 matrix.
Reimplemented from AFopr< Field >.
Definition at line 262 of file fopr_Clover_eo.cpp.
Definition at line 376 of file fopr_Clover_eo.cpp.
Implements AFopr_eo< Field >.
Definition at line 288 of file fopr_Clover_eo.cpp.
Implements AFopr_eo< Field >.
Definition at line 269 of file fopr_Clover_eo.cpp.
|
virtual |
setting pointer to the gauge configuration.
Implements AFopr_eo< Field >.
Definition at line 194 of file fopr_Clover_eo.cpp.
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr_eo< Field >.
Definition at line 208 of file fopr_Clover_eo.cpp.
void Fopr_Clover_eo::set_parameters | ( | const double | kappa, |
const double | cSW, | ||
const std::vector< int > | bc | ||
) |
Definition at line 157 of file fopr_Clover_eo.cpp.
|
virtual |
sets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< Field >.
Definition at line 121 of file fopr_Clover_eo.cpp.
|
private |
Definition at line 94 of file fopr_Clover_eo.cpp.
|
private |
Definition at line 113 of file fopr_Clover_eo.cpp.
|
static |
Definition at line 46 of file fopr_Clover_eo.h.
|
private |
boundary condition.
Definition at line 52 of file fopr_Clover_eo.h.
|
private |
clover coefficient.
Definition at line 51 of file fopr_Clover_eo.h.
|
private |
Definition at line 63 of file fopr_Clover_eo.h.
|
private |
Definition at line 62 of file fopr_Clover_eo.h.
|
private |
Definition at line 65 of file fopr_Clover_eo.h.
|
private |
to avoid redundant setup
Definition at line 71 of file fopr_Clover_eo.h.
|
private |
hopping parameter.
Definition at line 50 of file fopr_Clover_eo.h.
|
private |
Definition at line 56 of file fopr_Clover_eo.h.
|
private |
Definition at line 59 of file fopr_Clover_eo.h.
|
private |
Definition at line 59 of file fopr_Clover_eo.h.
|
private |
Definition at line 59 of file fopr_Clover_eo.h.
|
private |
Definition at line 59 of file fopr_Clover_eo.h.
|
private |
Definition at line 60 of file fopr_Clover_eo.h.
|
private |
Definition at line 60 of file fopr_Clover_eo.h.
|
private |
gamma-matrix type
Definition at line 53 of file fopr_Clover_eo.h.
|
private |
Definition at line 66 of file fopr_Clover_eo.h.
|
private |
working field
Definition at line 69 of file fopr_Clover_eo.h.
|
private |
verbose level
Definition at line 54 of file fopr_Clover_eo.h.
|
private |
Definition at line 68 of file fopr_Clover_eo.h.
|
private |
working field
Definition at line 68 of file fopr_Clover_eo.h.