Bridge++
Version 1.5.4
|
Clover fermion operator. More...
#include <fopr_Clover.h>
Public Member Functions | |
Fopr_Clover () | |
Fopr_Clover (const std::string repr) | |
~Fopr_Clover () | |
void | set_parameters (const Parameters ¶ms) |
void | set_parameters (const double kappa, const double cSW, const std::vector< int > bc) |
void | set_config (Field *U) |
setting pointer to the gauge configuration. More... | |
void | set_config (unique_ptr< Field_G > &U) |
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 |
only for Fopr_Overlap More... | |
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 | 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) |
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru] More... | |
void | mult_up (const int mu, Field &v, const Field &w) |
nearest neighbor hopping term: temporary entry [H.Matsufuru] More... | |
void | mult_dn (const int mu, Field &v, const Field &w) |
void | mult_isigma (Field_F &, const Field_F &, const int mu, const int nu) |
int | field_nvol () |
returns the volume for which the fermion operator is defined. More... | |
int | field_nin () |
returns the on-site d.o.f. 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 Fopr | |
Fopr () | |
virtual | ~Fopr () |
void | set_parameter_verboselevel (const Bridge::VerboseLevel vl) |
virtual void | mult (Field &, const Field &, const std::string mode) |
execute mult with specified mode (unchanging internal mode). [23 May 2016 H.Matsufuru]. More... | |
virtual void | mult_dag (Field &, const Field &, const std::string mode) |
execute mult_dag with specified mode (unchanging internal mode). [23 May 2016 H.Matsufuru]. More... | |
virtual double | flop_count (const std::string mode) |
returns the flop in giga unit for a specified mode. [23 May 2016 H.Matsufuru] More... | |
Static Public Attributes | |
static const std::string | class_name = "Fopr_Clover" |
Private Member Functions | |
void | init (const std::string repr) |
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... | |
std::string | m_mode |
mode of multiplication More... | |
int | m_Nvol |
int | m_Ndim |
int | m_Nc |
int | m_Nd |
int | m_NinF |
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... | |
Additional Inherited Members | |
Protected Attributes inherited from Fopr | |
Bridge::VerboseLevel | m_vl |
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]
Definition at line 42 of file fopr_Clover.h.
|
inline |
Definition at line 64 of file fopr_Clover.h.
|
inline |
Definition at line 70 of file fopr_Clover.h.
|
inline |
Definition at line 76 of file fopr_Clover.h.
Definition at line 109 of file fopr_Clover.cpp.
Definition at line 122 of file fopr_Clover.cpp.
Definition at line 131 of file fopr_Clover.cpp.
Definition at line 141 of file fopr_Clover.cpp.
|
inlinevirtual |
returns the external d.o.f. for which the fermion operator is defined.
Implements Fopr.
Definition at line 168 of file fopr_Clover.h.
|
inlinevirtual |
returns the on-site d.o.f. for which the fermion operator is defined.
Implements Fopr.
Definition at line 167 of file fopr_Clover.h.
|
inlinevirtual |
returns the volume for which the fermion operator is defined.
Implements Fopr.
Definition at line 166 of file fopr_Clover.h.
|
virtual |
this returns the number of floating point operations.
Reimplemented from Fopr.
Definition at line 167 of file fopr_Clover.cpp.
|
inlinevirtual |
Definition at line 151 of file fopr_Clover.cpp.
|
private |
Definition at line 25 of file fopr_Clover.cpp.
multiplies fermion operator to a given field (2nd argument)
Implements Fopr.
Definition at line 108 of file fopr_Clover.h.
hermitian conjugate of mult(Field&, const Field&).
Reimplemented from Fopr.
Definition at line 126 of file fopr_Clover.h.
Reimplemented from Fopr.
Definition at line 158 of file fopr_Clover.h.
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]
Reimplemented from Fopr.
Definition at line 148 of file fopr_Clover.h.
Definition at line 159 of file fopr_Clover.cpp.
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Reimplemented from Fopr.
Definition at line 153 of file fopr_Clover.h.
|
inlinevirtual |
setting pointer to the gauge configuration.
Implements Fopr.
Definition at line 84 of file fopr_Clover.h.
|
inlinevirtual |
Implements Fopr.
Definition at line 91 of file fopr_Clover.h.
|
inlinevirtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from Fopr.
Definition at line 98 of file fopr_Clover.h.
|
virtual |
Implements Fopr.
Definition at line 56 of file fopr_Clover.cpp.
void Fopr_Clover::set_parameters | ( | const double | kappa, |
const double | cSW, | ||
const std::vector< int > | bc | ||
) |
Definition at line 81 of file fopr_Clover.cpp.
|
private |
Definition at line 48 of file fopr_Clover.cpp.
|
static |
Definition at line 45 of file fopr_Clover.h.
|
private |
boundary conditions
Definition at line 50 of file fopr_Clover.h.
|
private |
clover coefficient
Definition at line 49 of file fopr_Clover.h.
|
private |
Clover term operator.
Definition at line 57 of file fopr_Clover.h.
|
private |
Wilson fermion kernel.
Definition at line 56 of file fopr_Clover.h.
|
private |
hopping parameter
Definition at line 48 of file fopr_Clover.h.
|
private |
mode of multiplication
Definition at line 52 of file fopr_Clover.h.
|
private |
Definition at line 54 of file fopr_Clover.h.
|
private |
Definition at line 54 of file fopr_Clover.h.
|
private |
Definition at line 54 of file fopr_Clover.h.
|
private |
internal parameters
Definition at line 54 of file fopr_Clover.h.
|
private |
Definition at line 54 of file fopr_Clover.h.
|
private |
gamma matrix representation
Definition at line 51 of file fopr_Clover.h.
|
private |
gauge configuration (pointer)
Definition at line 58 of file fopr_Clover.h.
|
private |
Definition at line 61 of file fopr_Clover.h.
|
private |
working field.
Definition at line 61 of file fopr_Clover.h.