Bridge++
Ver. 2.0.2
|
Clover fermion operator. More...
#include <fopr_Clover.h>
Public Member Functions | |
DEPRECATED | Fopr_Clover () |
DEPRECATED | Fopr_Clover (const std::string repr) |
Fopr_Clover (const Parameters ¶ms) | |
~Fopr_Clover () | |
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) |
sets 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. More... | |
void | mult_dag (Field &v, const Field &f) |
hermitian conjugate of mult. More... | |
void | D (Field &, const Field &) |
void | Ddag (Field &, const Field &) |
void | DdagD (Field &, const Field &) |
void | DDdag (Field &, const Field &) |
void | H (Field &, const Field &) |
void | mult_gm5 (Field &v, const Field &w) |
multiplies gamma_5 matrix. More... | |
void | mult_up (const int mu, Field &v, const Field &w) |
upward nearest neighbor hopping term. More... | |
void | mult_dn (const int mu, Field &v, const Field &w) |
downward nearest neighbor hopping term. More... | |
void | mult_isigma (Field_F &, const Field_F &, const int mu, const int nu) |
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 operations. More... | |
Public Member Functions inherited from AFopr< Field > | |
AFopr () | |
virtual | ~AFopr () |
virtual std::string | get_mode () const |
returns the current mult mode. More... | |
virtual void | mult (Field &, const Field &, const std::string mode) |
executes mult with specified mode (unchanging internal mode). More... | |
virtual void | mult_dag (Field &, const Field &, const std::string mode) |
executes mult_dag with specified mode (unchanging internal mode). 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" |
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 conditions More... | |
std::string | m_repr |
gamma matrix representation More... | |
Bridge::VerboseLevel | m_vl |
verbose level More... | |
std::string | m_mode |
mode of multiplication More... | |
int | m_Nc |
int | m_Nd |
int | m_NinF |
internal parameters More... | |
int | m_Nvol |
int | m_Ndim |
internal parameters More... | |
Fopr_Wilson * | m_fopr_w |
Wilson fermion kernel. More... | |
Fopr_CloverTerm * | m_fopr_csw |
Clover term operator. More... | |
const Field_G * | m_U |
gauge configuration (pointer) More... | |
Field | m_v1 |
Field | m_v2 |
working field. More... | |
bool | m_is_initial_step |
to avoid redundant setup More... | |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr< Field > | |
static const std::string | class_name |
Clover fermion operator.
This class implements the clover (improved Wilson) fermion operator. Wilson kernel and clover term are implemented in other classes, and this class holds them as objects. (The implementation was modified after revision 645: before that, clover term was being implemented inside this class.) The ‘mode’ controls which of D, Ddag, H, DdagD are multiplied when mult or mult_dag is called. first ver. 24 Dec 2011/ modified 28 Aug 2012 H.Matsufuru YAML is implemented. [14 Nov 2012 Y.Namekawa] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa] Modified toward ver.2.0. [04 Dec 2021 H.Matsufuru]
Definition at line 43 of file fopr_Clover.h.
|
inline |
Definition at line 71 of file fopr_Clover.h.
|
inline |
Definition at line 74 of file fopr_Clover.h.
|
inline |
Definition at line 76 of file fopr_Clover.h.
|
inline |
Definition at line 78 of file fopr_Clover.h.
Definition at line 281 of file fopr_Clover.cpp.
Definition at line 294 of file fopr_Clover.cpp.
Definition at line 303 of file fopr_Clover.cpp.
Definition at line 313 of file fopr_Clover.cpp.
|
inlinevirtual |
returns the external degree of freedom of the fermion field.
Implements AFopr< Field >.
Definition at line 114 of file fopr_Clover.h.
|
inlinevirtual |
returns the on-site degree of freedom of the fermion field.
Implements AFopr< Field >.
Definition at line 112 of file fopr_Clover.h.
|
inlinevirtual |
returns the volume of the fermion field.
Implements AFopr< Field >.
Definition at line 113 of file fopr_Clover.h.
|
virtual |
this returns the number of floating point operations.
Reimplemented from AFopr< Field >.
Definition at line 339 of file fopr_Clover.cpp.
|
inline |
Definition at line 91 of file fopr_Clover.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.cpp.
Definition at line 323 of file fopr_Clover.cpp.
|
private |
Definition at line 25 of file fopr_Clover.cpp.
|
private |
Definition at line 65 of file fopr_Clover.cpp.
multiplies fermion operator to a given field.
Reimplemented from AFopr< Field >.
Definition at line 218 of file fopr_Clover.cpp.
hermitian conjugate of mult.
Reimplemented from AFopr< Field >.
Definition at line 239 of file fopr_Clover.cpp.
downward nearest neighbor hopping term.
Reimplemented from AFopr< Field >.
Definition at line 274 of file fopr_Clover.cpp.
multiplies gamma_5 matrix.
Reimplemented from AFopr< Field >.
Definition at line 260 of file fopr_Clover.cpp.
Definition at line 331 of file fopr_Clover.cpp.
upward nearest neighbor hopping term.
Reimplemented from AFopr< Field >.
Definition at line 267 of file fopr_Clover.cpp.
|
virtual |
sets the gauge configuration.
Implements AFopr< Field >.
Definition at line 195 of file fopr_Clover.cpp.
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr< Field >.
Definition at line 208 of file fopr_Clover.cpp.
void Fopr_Clover::set_parameters | ( | const double | kappa, |
const double | cSW, | ||
const std::vector< int > | bc | ||
) |
Definition at line 149 of file fopr_Clover.cpp.
|
virtual |
sets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< Field >.
Definition at line 118 of file fopr_Clover.cpp.
|
private |
Definition at line 92 of file fopr_Clover.cpp.
|
private |
Definition at line 110 of file fopr_Clover.cpp.
|
static |
Definition at line 46 of file fopr_Clover.h.
|
private |
boundary conditions
Definition at line 51 of file fopr_Clover.h.
|
private |
clover coefficient
Definition at line 50 of file fopr_Clover.h.
|
private |
Clover term operator.
Definition at line 62 of file fopr_Clover.h.
|
private |
Wilson fermion kernel.
Definition at line 61 of file fopr_Clover.h.
|
private |
to avoid redundant setup
Definition at line 67 of file fopr_Clover.h.
|
private |
hopping parameter
Definition at line 49 of file fopr_Clover.h.
|
private |
mode of multiplication
Definition at line 55 of file fopr_Clover.h.
|
private |
Definition at line 58 of file fopr_Clover.h.
|
private |
Definition at line 58 of file fopr_Clover.h.
|
private |
internal parameters
Definition at line 59 of file fopr_Clover.h.
|
private |
internal parameters
Definition at line 58 of file fopr_Clover.h.
|
private |
Definition at line 59 of file fopr_Clover.h.
|
private |
gamma matrix representation
Definition at line 52 of file fopr_Clover.h.
|
private |
gauge configuration (pointer)
Definition at line 63 of file fopr_Clover.h.
|
private |
Definition at line 65 of file fopr_Clover.h.
|
private |
working field.
Definition at line 65 of file fopr_Clover.h.
|
private |
verbose level
Definition at line 53 of file fopr_Clover.h.