Bridge++
Ver. 2.0.2
|
Clover fermion operator. More...
#include <fopr_Clover_SF.h>
Public Member Functions | |
DEPRECATED | Fopr_Clover_SF () |
Fopr_Clover_SF (const Parameters ¶ms) | |
~Fopr_Clover_SF () | |
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, const std::vector< double > phi, const std::vector< double > phipr) |
void | get_parameters (Parameters ¶ms) const |
gets parameters by a Parameter object: to be implemented in a subclass. More... | |
void | set_config (Field *U) |
setup configuration (Note that this method is not multi-threaded). 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 | mult (Field &v, const Field &f, const std::string mode) |
executes mult with specified mode (unchanging internal mode). More... | |
void | mult_dag (Field &v, const Field &f, const std::string mode) |
executes mult_dag with specified mode (unchanging internal mode). More... | |
void | DdagD (Field &, const Field &) |
void | D (Field &, const Field &) |
void | Ddag (Field &, const Field &) |
void | H (Field &, const Field &) |
void | mult_gm5 (Field &v, const Field &w) |
multiplies gamma_5 matrix. More... | |
void | mult_isigma (Field_F &, const Field_F &, const int mu, const int nu) |
int | field_nvol () |
returns the volume of the fermion field. More... | |
int | field_nin () |
returns the on-site degree of freedom 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... | |
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_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_SF" |
Private Member Functions | |
void | init (const std::string repr) |
void | tidyup () |
void | set_csw () |
void | mult_csw (Field &, const Field &) |
void | set_fieldstrength (Field_G &, const int, const int) |
void | mult_csw_dirac (Field &, const Field &) |
void | set_boundary_zero (Field &) |
int | sg_index (const int mu, const int nu) |
Private Attributes | |
Bridge::VerboseLevel | m_vl |
int | m_Nvol |
int | m_Ndim |
int | m_Nc |
int | m_Nd |
int | m_NinF |
double | m_kappa |
double | m_cSW |
std::vector< int > | m_boundary |
std::string | m_repr |
std::string | m_mode |
Fopr_Wilson_SF * | m_fopr_w |
const Field_G * | m_U |
ShiftField_lex | m_shift |
Field_G | m_Bx |
Field_G | m_By |
Field_G | m_Bz |
Field_G | m_Ex |
Field_G | m_Ey |
Field_G | m_Ez |
std::vector< GammaMatrix > | m_GM |
std::vector< GammaMatrix > | m_SG |
std::vector< double > | m_phi |
SF boundary condition at t=0. More... | |
std::vector< double > | m_phipr |
SF boundary condition at t=Nt. More... | |
Field | m_w1 |
Field | m_w2 |
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 with SF BC.
(Coding history will be recovered from trac.) YAML is implemented. [14 Nov 2012 Y.Namekawa] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa] Multi-threading applied. [29 Dec 2022 H.Matsufuru]
Definition at line 44 of file fopr_Clover_SF.h.
|
inline |
Definition at line 75 of file fopr_Clover_SF.h.
|
inline |
Definition at line 81 of file fopr_Clover_SF.h.
|
inline |
Definition at line 95 of file fopr_Clover_SF.h.
Definition at line 356 of file fopr_Clover_SF.cpp.
Definition at line 335 of file fopr_Clover_SF.cpp.
Definition at line 323 of file fopr_Clover_SF.cpp.
|
inlinevirtual |
returns the external degree of freedom of the fermion field.
Implements AFopr< Field >.
Definition at line 132 of file fopr_Clover_SF.h.
|
inlinevirtual |
returns the on-site degree of freedom of the fermion field.
Implements AFopr< Field >.
Definition at line 131 of file fopr_Clover_SF.h.
|
inlinevirtual |
returns the volume of the fermion field.
Implements AFopr< Field >.
Definition at line 130 of file fopr_Clover_SF.h.
|
virtual |
this returns the number of floating point number operations.
Reimplemented from AFopr< Field >.
Definition at line 561 of file fopr_Clover_SF.cpp.
|
inline |
Definition at line 109 of file fopr_Clover_SF.h.
|
virtual |
gets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< Field >.
Definition at line 207 of file fopr_Clover_SF.cpp.
Definition at line 346 of file fopr_Clover_SF.cpp.
|
private |
Definition at line 47 of file fopr_Clover_SF.cpp.
multiplies fermion operator to a given field.
Reimplemented from AFopr< Field >.
Definition at line 245 of file fopr_Clover_SF.cpp.
executes mult with specified mode (unchanging internal mode).
Reimplemented from AFopr< Field >.
Definition at line 283 of file fopr_Clover_SF.cpp.
Definition at line 384 of file fopr_Clover_SF.cpp.
Definition at line 391 of file fopr_Clover_SF.cpp.
hermitian conjugate of mult.
Reimplemented from AFopr< Field >.
Definition at line 264 of file fopr_Clover_SF.cpp.
executes mult_dag with specified mode (unchanging internal mode).
Reimplemented from AFopr< Field >.
Definition at line 303 of file fopr_Clover_SF.cpp.
multiplies gamma_5 matrix.
Reimplemented from AFopr< Field >.
Definition at line 124 of file fopr_Clover_SF.h.
Definition at line 374 of file fopr_Clover_SF.cpp.
|
private |
|
virtual |
setup configuration (Note that this method is not multi-threaded).
Implements AFopr< Field >.
Definition at line 221 of file fopr_Clover_SF.cpp.
|
private |
Definition at line 506 of file fopr_Clover_SF.cpp.
|
private |
The field strength defined by clover with the SF BC.
Definition at line 525 of file fopr_Clover_SF.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 233 of file fopr_Clover_SF.cpp.
void Fopr_Clover_SF::set_parameters | ( | const double | kappa, |
const double | cSW, | ||
const std::vector< int > | bc, | ||
const std::vector< double > | phi, | ||
const std::vector< double > | phipr | ||
) |
Definition at line 153 of file fopr_Clover_SF.cpp.
|
virtual |
sets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< Field >.
Definition at line 117 of file fopr_Clover_SF.cpp.
|
inlineprivate |
Definition at line 151 of file fopr_Clover_SF.h.
|
private |
Definition at line 110 of file fopr_Clover_SF.cpp.
|
static |
Definition at line 47 of file fopr_Clover_SF.h.
|
private |
Definition at line 54 of file fopr_Clover_SF.h.
|
private |
Definition at line 62 of file fopr_Clover_SF.h.
|
private |
Definition at line 62 of file fopr_Clover_SF.h.
|
private |
Definition at line 62 of file fopr_Clover_SF.h.
|
private |
Definition at line 53 of file fopr_Clover_SF.h.
|
private |
Definition at line 62 of file fopr_Clover_SF.h.
|
private |
Definition at line 62 of file fopr_Clover_SF.h.
|
private |
Definition at line 62 of file fopr_Clover_SF.h.
|
private |
Definition at line 58 of file fopr_Clover_SF.h.
|
private |
Definition at line 66 of file fopr_Clover_SF.h.
|
private |
Definition at line 53 of file fopr_Clover_SF.h.
|
private |
Definition at line 56 of file fopr_Clover_SF.h.
|
private |
Definition at line 52 of file fopr_Clover_SF.h.
|
private |
Definition at line 52 of file fopr_Clover_SF.h.
|
private |
Definition at line 52 of file fopr_Clover_SF.h.
|
private |
Definition at line 52 of file fopr_Clover_SF.h.
|
private |
Definition at line 52 of file fopr_Clover_SF.h.
|
private |
SF boundary condition at t=0.
Definition at line 68 of file fopr_Clover_SF.h.
|
private |
SF boundary condition at t=Nt.
Definition at line 69 of file fopr_Clover_SF.h.
|
private |
Definition at line 55 of file fopr_Clover_SF.h.
|
private |
Definition at line 66 of file fopr_Clover_SF.h.
|
private |
Definition at line 60 of file fopr_Clover_SF.h.
|
private |
Definition at line 59 of file fopr_Clover_SF.h.
|
private |
Definition at line 50 of file fopr_Clover_SF.h.
|
private |
Definition at line 71 of file fopr_Clover_SF.h.
|
private |
Definition at line 71 of file fopr_Clover_SF.h.