Bridge++
Version 1.5.4
|
Even-odd Clover fermion operator. More...
#include <fopr_Clover_eo.h>
Public Member Functions | |
Fopr_Clover_eo (const std::string repr) | |
~Fopr_Clover_eo () | |
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 | preProp (Field &Be, Field &bo, const Field &b) |
void | postProp (Field &x, const Field &xe, const Field &bo) |
void | prePropD (Field &, Field &, const Field &) |
void | postPropD (Field &, const Field &, const Field &) |
void | prePropDag (Field &, Field &, const Field &) |
void | postPropDag (Field &, const Field &, const Field &) |
const Field_F | mult_csw_inv (const Field_F &, const int ieo) |
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 | mult_gm5 (Field &v, const Field &f) |
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru] More... | |
void | MeoMoe (Field &v, const Field &f) |
void | Meo (Field &, const Field &, const int ieo) |
void | Meo_gm5 (Field_F &, const Field_F &, const int ieo) |
void | Mdageo (Field_F &, const Field_F &, const int ieo) |
void | mult_isigma (Field_F &w, const Field_F &f, const int mu, const int nu) |
std::vector< double > | csmatrix (const int &site) |
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_eo | |
virtual | ~Fopr_eo () |
std::string | get_mode () const |
only for Fopr_Overlap 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 void | mult_up (const int mu, Field &, const Field &) |
nearest neighbor hopping term: temporary entry [H.Matsufuru] More... | |
virtual void | mult_dn (const int mu, Field &, const Field &) |
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_eo" |
Private Member Functions | |
void | init (const std::string repr) |
void | tidyup () |
Private Attributes | |
int | m_Nc |
int | m_Nd |
int | m_NinF |
int | m_Ndim |
int | m_Nvol |
int | m_Nvol2 |
double | m_kappa |
hopping parameter. More... | |
double | m_cSW |
clover coefficient. More... | |
std::vector< int > | m_boundary |
boundary condition. More... | |
std::string | m_mode |
Fopr_Wilson_eo * | m_fopr_w |
Fopr_CloverTerm_eo * | m_fopr_csw |
Index_eo | m_idx |
Field_G * | m_Ueo |
Field | m_w1 |
working field. More... | |
Field_F | m_vF1 |
Field_F | m_vF2 |
Field_F | m_vF3 |
working field. More... | |
void(Fopr_Clover_eo::* | m_mult )(Field &, const Field &) |
void(Fopr_Clover_eo::* | m_mult_dag )(Field &, const Field &) |
void(Fopr_Clover_eo::* | m_preProp )(Field &, Field &, const Field &) |
void(Fopr_Clover_eo::* | m_postProp )(Field &, const Field &, const Field &) |
Additional Inherited Members | |
Protected Attributes inherited from Fopr | |
Bridge::VerboseLevel | m_vl |
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]
Definition at line 40 of file fopr_Clover_eo.h.
|
inline |
Definition at line 70 of file fopr_Clover_eo.h.
|
inline |
Definition at line 72 of file fopr_Clover_eo.h.
|
inline |
Definition at line 154 of file fopr_Clover_eo.h.
Definition at line 133 of file fopr_Clover_eo.cpp.
Definition at line 144 of file fopr_Clover_eo.cpp.
Definition at line 156 of file fopr_Clover_eo.cpp.
Definition at line 164 of file fopr_Clover_eo.cpp.
|
inlinevirtual |
returns the external d.o.f. for which the fermion operator is defined.
Implements Fopr_eo.
Definition at line 159 of file fopr_Clover_eo.h.
|
inlinevirtual |
returns the on-site d.o.f. for which the fermion operator is defined.
Implements Fopr_eo.
Definition at line 158 of file fopr_Clover_eo.h.
|
inlinevirtual |
returns the volume for which the fermion operator is defined.
Implements Fopr_eo.
Definition at line 157 of file fopr_Clover_eo.h.
|
virtual |
this returns the number of floating point operations.
Reimplemented from Fopr.
Definition at line 331 of file fopr_Clover_eo.cpp.
|
inlinevirtual |
Definition at line 172 of file fopr_Clover_eo.cpp.
|
private |
Definition at line 29 of file fopr_Clover_eo.cpp.
Definition at line 209 of file fopr_Clover_eo.cpp.
Definition at line 198 of file fopr_Clover_eo.cpp.
Definition at line 220 of file fopr_Clover_eo.cpp.
Definition at line 187 of file fopr_Clover_eo.cpp.
multiplies fermion operator to a given field (2nd argument)
Reimplemented from Fopr_eo.
Definition at line 117 of file fopr_Clover_eo.h.
hermitian conjugate of mult(Field&, const Field&).
Reimplemented from Fopr_eo.
Definition at line 120 of file fopr_Clover_eo.h.
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]
Reimplemented from Fopr.
Definition at line 180 of file fopr_Clover_eo.cpp.
Definition at line 231 of file fopr_Clover_eo.cpp.
Implements Fopr_eo.
Definition at line 127 of file fopr_Clover_eo.h.
Definition at line 263 of file fopr_Clover_eo.cpp.
Definition at line 309 of file fopr_Clover_eo.cpp.
Implements Fopr_eo.
Definition at line 124 of file fopr_Clover_eo.h.
Definition at line 239 of file fopr_Clover_eo.cpp.
Definition at line 285 of file fopr_Clover_eo.cpp.
|
virtual |
setting pointer to the gauge configuration.
Implements Fopr_eo.
Definition at line 120 of file fopr_Clover_eo.cpp.
|
inlinevirtual |
Implements Fopr_eo.
Definition at line 80 of file fopr_Clover_eo.h.
|
inlinevirtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from Fopr_eo.
Definition at line 85 of file fopr_Clover_eo.h.
|
virtual |
Implements Fopr.
Definition at line 66 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 91 of file fopr_Clover_eo.cpp.
|
private |
Definition at line 56 of file fopr_Clover_eo.cpp.
|
static |
Definition at line 43 of file fopr_Clover_eo.h.
|
private |
boundary condition.
Definition at line 51 of file fopr_Clover_eo.h.
|
private |
clover coefficient.
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 55 of file fopr_Clover_eo.h.
|
private |
Definition at line 58 of file fopr_Clover_eo.h.
|
private |
hopping parameter.
Definition at line 49 of file fopr_Clover_eo.h.
|
private |
Definition at line 53 of file fopr_Clover_eo.h.
Definition at line 64 of file fopr_Clover_eo.h.
Definition at line 65 of file fopr_Clover_eo.h.
|
private |
Definition at line 46 of file fopr_Clover_eo.h.
|
private |
Definition at line 46 of file fopr_Clover_eo.h.
|
private |
Definition at line 46 of file fopr_Clover_eo.h.
|
private |
Definition at line 46 of file fopr_Clover_eo.h.
|
private |
Definition at line 47 of file fopr_Clover_eo.h.
|
private |
Definition at line 47 of file fopr_Clover_eo.h.
Definition at line 67 of file fopr_Clover_eo.h.
Definition at line 66 of file fopr_Clover_eo.h.
|
private |
Definition at line 59 of file fopr_Clover_eo.h.
|
private |
Definition at line 62 of file fopr_Clover_eo.h.
|
private |
Definition at line 62 of file fopr_Clover_eo.h.
|
private |
working field.
Definition at line 62 of file fopr_Clover_eo.h.
|
private |
working field.
Definition at line 61 of file fopr_Clover_eo.h.