Bridge++  Ver. 2.0.2
Fopr_Clover_SF Class Reference

Clover fermion operator. More...

#include <fopr_Clover_SF.h>

Inheritance diagram for Fopr_Clover_SF:
AFopr< Field >

Public Member Functions

DEPRECATED Fopr_Clover_SF ()
 
 Fopr_Clover_SF (const Parameters &params)
 
 ~Fopr_Clover_SF ()
 
void set_parameters (const Parameters &params)
 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 &params) 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_SFm_fopr_w
 
const Field_Gm_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< GammaMatrixm_GM
 
std::vector< GammaMatrixm_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
 

Detailed Description

Clover fermion operator.

This class implements the clover (improved Wilson) fermion operator with SF BC.

  • The field strength is calculate when the function set_config() is called.
  • Dirac representation only!
  • [10 Apr 2012 Y.Taniguchi]

(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.

Constructor & Destructor Documentation

◆ Fopr_Clover_SF() [1/2]

DEPRECATED Fopr_Clover_SF::Fopr_Clover_SF ( )
inline

Definition at line 75 of file fopr_Clover_SF.h.

◆ Fopr_Clover_SF() [2/2]

Fopr_Clover_SF::Fopr_Clover_SF ( const Parameters params)
inline

Definition at line 81 of file fopr_Clover_SF.h.

◆ ~Fopr_Clover_SF()

Fopr_Clover_SF::~Fopr_Clover_SF ( )
inline

Definition at line 95 of file fopr_Clover_SF.h.

Member Function Documentation

◆ D()

void Fopr_Clover_SF::D ( Field w,
const Field f 
)

Definition at line 356 of file fopr_Clover_SF.cpp.

◆ Ddag()

void Fopr_Clover_SF::Ddag ( Field w,
const Field f 
)

Definition at line 335 of file fopr_Clover_SF.cpp.

◆ DdagD()

void Fopr_Clover_SF::DdagD ( Field w,
const Field f 
)

Definition at line 323 of file fopr_Clover_SF.cpp.

◆ field_nex()

int Fopr_Clover_SF::field_nex ( )
inlinevirtual

returns the external degree of freedom of the fermion field.

Implements AFopr< Field >.

Definition at line 132 of file fopr_Clover_SF.h.

◆ field_nin()

int Fopr_Clover_SF::field_nin ( )
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.

◆ field_nvol()

int Fopr_Clover_SF::field_nvol ( )
inlinevirtual

returns the volume of the fermion field.

Implements AFopr< Field >.

Definition at line 130 of file fopr_Clover_SF.h.

◆ flop_count()

double Fopr_Clover_SF::flop_count ( )
virtual

this returns the number of floating point number operations.

Reimplemented from AFopr< Field >.

Definition at line 561 of file fopr_Clover_SF.cpp.

◆ get_mode()

std::string Fopr_Clover_SF::get_mode ( ) const
inline

Definition at line 109 of file fopr_Clover_SF.h.

◆ get_parameters()

void Fopr_Clover_SF::get_parameters ( Parameters params) const
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.

◆ H()

void Fopr_Clover_SF::H ( Field w,
const Field f 
)

Definition at line 346 of file fopr_Clover_SF.cpp.

◆ init()

void Fopr_Clover_SF::init ( const std::string  repr)
private

Definition at line 47 of file fopr_Clover_SF.cpp.

◆ mult() [1/2]

void Fopr_Clover_SF::mult ( Field ,
const Field  
)
virtual

multiplies fermion operator to a given field.

Reimplemented from AFopr< Field >.

Definition at line 245 of file fopr_Clover_SF.cpp.

◆ mult() [2/2]

void Fopr_Clover_SF::mult ( Field ,
const Field ,
const std::string  mode 
)
virtual

executes mult with specified mode (unchanging internal mode).

Reimplemented from AFopr< Field >.

Definition at line 283 of file fopr_Clover_SF.cpp.

◆ mult_csw()

void Fopr_Clover_SF::mult_csw ( Field v,
const Field w 
)
private

Definition at line 384 of file fopr_Clover_SF.cpp.

◆ mult_csw_dirac()

void Fopr_Clover_SF::mult_csw_dirac ( Field v,
const Field w 
)
private

Definition at line 391 of file fopr_Clover_SF.cpp.

◆ mult_dag() [1/2]

void Fopr_Clover_SF::mult_dag ( Field ,
const Field  
)
virtual

hermitian conjugate of mult.

Reimplemented from AFopr< Field >.

Definition at line 264 of file fopr_Clover_SF.cpp.

◆ mult_dag() [2/2]

void Fopr_Clover_SF::mult_dag ( Field ,
const Field ,
const std::string  mode 
)
virtual

executes mult_dag with specified mode (unchanging internal mode).

Reimplemented from AFopr< Field >.

Definition at line 303 of file fopr_Clover_SF.cpp.

◆ mult_gm5()

void Fopr_Clover_SF::mult_gm5 ( Field ,
const Field  
)
inlinevirtual

multiplies gamma_5 matrix.

Reimplemented from AFopr< Field >.

Definition at line 124 of file fopr_Clover_SF.h.

◆ mult_isigma()

void Fopr_Clover_SF::mult_isigma ( Field_F v,
const Field_F w,
const int  mu,
const int  nu 
)

Definition at line 374 of file fopr_Clover_SF.cpp.

◆ set_boundary_zero()

void Fopr_Clover_SF::set_boundary_zero ( Field )
private

◆ set_config()

void Fopr_Clover_SF::set_config ( Field U)
virtual

setup configuration (Note that this method is not multi-threaded).

Implements AFopr< Field >.

Definition at line 221 of file fopr_Clover_SF.cpp.

◆ set_csw()

void Fopr_Clover_SF::set_csw ( )
private

Definition at line 506 of file fopr_Clover_SF.cpp.

◆ set_fieldstrength()

void Fopr_Clover_SF::set_fieldstrength ( Field_G Fst,
const int  mu,
const int  nu 
)
private

The field strength defined by clover with the SF BC.

  • The field strength is set to zero at t=0 boundary.
  • This is performed automatically by a use of Staple_SF.

Definition at line 525 of file fopr_Clover_SF.cpp.

◆ set_mode()

void Fopr_Clover_SF::set_mode ( const std::string  mode)
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.

◆ set_parameters() [1/2]

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.

◆ set_parameters() [2/2]

void Fopr_Clover_SF::set_parameters ( const Parameters params)
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.

◆ sg_index()

int Fopr_Clover_SF::sg_index ( const int  mu,
const int  nu 
)
inlineprivate

Definition at line 151 of file fopr_Clover_SF.h.

◆ tidyup()

void Fopr_Clover_SF::tidyup ( )
private

Definition at line 110 of file fopr_Clover_SF.cpp.

Member Data Documentation

◆ class_name

const std::string Fopr_Clover_SF::class_name = "Fopr_Clover_SF"
static

Definition at line 47 of file fopr_Clover_SF.h.

◆ m_boundary

std::vector<int> Fopr_Clover_SF::m_boundary
private

Definition at line 54 of file fopr_Clover_SF.h.

◆ m_Bx

Field_G Fopr_Clover_SF::m_Bx
private

Definition at line 62 of file fopr_Clover_SF.h.

◆ m_By

Field_G Fopr_Clover_SF::m_By
private

Definition at line 62 of file fopr_Clover_SF.h.

◆ m_Bz

Field_G Fopr_Clover_SF::m_Bz
private

Definition at line 62 of file fopr_Clover_SF.h.

◆ m_cSW

double Fopr_Clover_SF::m_cSW
private

Definition at line 53 of file fopr_Clover_SF.h.

◆ m_Ex

Field_G Fopr_Clover_SF::m_Ex
private

Definition at line 62 of file fopr_Clover_SF.h.

◆ m_Ey

Field_G Fopr_Clover_SF::m_Ey
private

Definition at line 62 of file fopr_Clover_SF.h.

◆ m_Ez

Field_G Fopr_Clover_SF::m_Ez
private

Definition at line 62 of file fopr_Clover_SF.h.

◆ m_fopr_w

Fopr_Wilson_SF* Fopr_Clover_SF::m_fopr_w
private

Definition at line 58 of file fopr_Clover_SF.h.

◆ m_GM

std::vector<GammaMatrix> Fopr_Clover_SF::m_GM
private

Definition at line 66 of file fopr_Clover_SF.h.

◆ m_kappa

double Fopr_Clover_SF::m_kappa
private

Definition at line 53 of file fopr_Clover_SF.h.

◆ m_mode

std::string Fopr_Clover_SF::m_mode
private

Definition at line 56 of file fopr_Clover_SF.h.

◆ m_Nc

int Fopr_Clover_SF::m_Nc
private

Definition at line 52 of file fopr_Clover_SF.h.

◆ m_Nd

int Fopr_Clover_SF::m_Nd
private

Definition at line 52 of file fopr_Clover_SF.h.

◆ m_Ndim

int Fopr_Clover_SF::m_Ndim
private

Definition at line 52 of file fopr_Clover_SF.h.

◆ m_NinF

int Fopr_Clover_SF::m_NinF
private

Definition at line 52 of file fopr_Clover_SF.h.

◆ m_Nvol

int Fopr_Clover_SF::m_Nvol
private

Definition at line 52 of file fopr_Clover_SF.h.

◆ m_phi

std::vector<double> Fopr_Clover_SF::m_phi
private

SF boundary condition at t=0.

Definition at line 68 of file fopr_Clover_SF.h.

◆ m_phipr

std::vector<double> Fopr_Clover_SF::m_phipr
private

SF boundary condition at t=Nt.

Definition at line 69 of file fopr_Clover_SF.h.

◆ m_repr

std::string Fopr_Clover_SF::m_repr
private

Definition at line 55 of file fopr_Clover_SF.h.

◆ m_SG

std::vector<GammaMatrix> Fopr_Clover_SF::m_SG
private

Definition at line 66 of file fopr_Clover_SF.h.

◆ m_shift

ShiftField_lex Fopr_Clover_SF::m_shift
private

Definition at line 60 of file fopr_Clover_SF.h.

◆ m_U

const Field_G* Fopr_Clover_SF::m_U
private

Definition at line 59 of file fopr_Clover_SF.h.

◆ m_vl

Bridge::VerboseLevel Fopr_Clover_SF::m_vl
private

Definition at line 50 of file fopr_Clover_SF.h.

◆ m_w1

Field Fopr_Clover_SF::m_w1
private

Definition at line 71 of file fopr_Clover_SF.h.

◆ m_w2

Field Fopr_Clover_SF::m_w2
private

Definition at line 71 of file fopr_Clover_SF.h.


The documentation for this class was generated from the following files: