Bridge++  Ver. 2.0.2
Fopr_Clover Class Reference

Clover fermion operator. More...

#include <fopr_Clover.h>

Inheritance diagram for Fopr_Clover:
AFopr< Field >

Public Member Functions

DEPRECATED Fopr_Clover ()
 
DEPRECATED Fopr_Clover (const std::string repr)
 
 Fopr_Clover (const Parameters &params)
 
 ~Fopr_Clover ()
 
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)
 
void get_parameters (Parameters &params) 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 &params)
 
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_Wilsonm_fopr_w
 Wilson fermion kernel. More...
 
Fopr_CloverTermm_fopr_csw
 Clover term operator. More...
 
const Field_Gm_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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Fopr_Clover() [1/3]

DEPRECATED Fopr_Clover::Fopr_Clover ( )
inline

Definition at line 71 of file fopr_Clover.h.

◆ Fopr_Clover() [2/3]

DEPRECATED Fopr_Clover::Fopr_Clover ( const std::string  repr)
inline

Definition at line 74 of file fopr_Clover.h.

◆ Fopr_Clover() [3/3]

Fopr_Clover::Fopr_Clover ( const Parameters params)
inline

Definition at line 76 of file fopr_Clover.h.

◆ ~Fopr_Clover()

Fopr_Clover::~Fopr_Clover ( )
inline

Definition at line 78 of file fopr_Clover.h.

Member Function Documentation

◆ D()

void Fopr_Clover::D ( Field v,
const Field w 
)

Definition at line 281 of file fopr_Clover.cpp.

◆ Ddag()

void Fopr_Clover::Ddag ( Field v,
const Field w 
)

Definition at line 294 of file fopr_Clover.cpp.

◆ DdagD()

void Fopr_Clover::DdagD ( Field v,
const Field w 
)

Definition at line 303 of file fopr_Clover.cpp.

◆ DDdag()

void Fopr_Clover::DDdag ( Field v,
const Field w 
)

Definition at line 313 of file fopr_Clover.cpp.

◆ field_nex()

int Fopr_Clover::field_nex ( )
inlinevirtual

returns the external degree of freedom of the fermion field.

Implements AFopr< Field >.

Definition at line 114 of file fopr_Clover.h.

◆ field_nin()

int Fopr_Clover::field_nin ( )
inlinevirtual

returns the on-site degree of freedom of the fermion field.

Implements AFopr< Field >.

Definition at line 112 of file fopr_Clover.h.

◆ field_nvol()

int Fopr_Clover::field_nvol ( )
inlinevirtual

returns the volume of the fermion field.

Implements AFopr< Field >.

Definition at line 113 of file fopr_Clover.h.

◆ flop_count()

double Fopr_Clover::flop_count ( )
virtual

this returns the number of floating point operations.

Reimplemented from AFopr< Field >.

Definition at line 339 of file fopr_Clover.cpp.

◆ get_mode()

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

Definition at line 91 of file fopr_Clover.h.

◆ get_parameters()

void Fopr_Clover::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 183 of file fopr_Clover.cpp.

◆ H()

void Fopr_Clover::H ( Field v,
const Field w 
)

Definition at line 323 of file fopr_Clover.cpp.

◆ init() [1/2]

void Fopr_Clover::init ( const Parameters params)
private

Definition at line 25 of file fopr_Clover.cpp.

◆ init() [2/2]

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

Definition at line 65 of file fopr_Clover.cpp.

◆ mult()

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

multiplies fermion operator to a given field.

Reimplemented from AFopr< Field >.

Definition at line 218 of file fopr_Clover.cpp.

◆ mult_dag()

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

hermitian conjugate of mult.

Reimplemented from AFopr< Field >.

Definition at line 239 of file fopr_Clover.cpp.

◆ mult_dn()

void Fopr_Clover::mult_dn ( const int  mu,
Field ,
const Field  
)
virtual

downward nearest neighbor hopping term.

Reimplemented from AFopr< Field >.

Definition at line 274 of file fopr_Clover.cpp.

◆ mult_gm5()

void Fopr_Clover::mult_gm5 ( Field ,
const Field  
)
virtual

multiplies gamma_5 matrix.

Reimplemented from AFopr< Field >.

Definition at line 260 of file fopr_Clover.cpp.

◆ mult_isigma()

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

Definition at line 331 of file fopr_Clover.cpp.

◆ mult_up()

void Fopr_Clover::mult_up ( const int  mu,
Field ,
const Field  
)
virtual

upward nearest neighbor hopping term.

Reimplemented from AFopr< Field >.

Definition at line 267 of file fopr_Clover.cpp.

◆ set_config()

void Fopr_Clover::set_config ( Field )
virtual

sets the gauge configuration.

Implements AFopr< Field >.

Definition at line 195 of file fopr_Clover.cpp.

◆ set_mode()

void Fopr_Clover::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 208 of file fopr_Clover.cpp.

◆ set_parameters() [1/2]

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.

◆ set_parameters() [2/2]

void Fopr_Clover::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 118 of file fopr_Clover.cpp.

◆ setup()

void Fopr_Clover::setup ( )
private

Definition at line 92 of file fopr_Clover.cpp.

◆ tidyup()

void Fopr_Clover::tidyup ( )
private

Definition at line 110 of file fopr_Clover.cpp.

Member Data Documentation

◆ class_name

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

Definition at line 46 of file fopr_Clover.h.

◆ m_boundary

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

boundary conditions

Definition at line 51 of file fopr_Clover.h.

◆ m_cSW

double Fopr_Clover::m_cSW
private

clover coefficient

Definition at line 50 of file fopr_Clover.h.

◆ m_fopr_csw

Fopr_CloverTerm* Fopr_Clover::m_fopr_csw
private

Clover term operator.

Definition at line 62 of file fopr_Clover.h.

◆ m_fopr_w

Fopr_Wilson* Fopr_Clover::m_fopr_w
private

Wilson fermion kernel.

Definition at line 61 of file fopr_Clover.h.

◆ m_is_initial_step

bool Fopr_Clover::m_is_initial_step
private

to avoid redundant setup

Definition at line 67 of file fopr_Clover.h.

◆ m_kappa

double Fopr_Clover::m_kappa
private

hopping parameter

Definition at line 49 of file fopr_Clover.h.

◆ m_mode

std::string Fopr_Clover::m_mode
private

mode of multiplication

Definition at line 55 of file fopr_Clover.h.

◆ m_Nc

int Fopr_Clover::m_Nc
private

Definition at line 58 of file fopr_Clover.h.

◆ m_Nd

int Fopr_Clover::m_Nd
private

Definition at line 58 of file fopr_Clover.h.

◆ m_Ndim

int Fopr_Clover::m_Ndim
private

internal parameters

Definition at line 59 of file fopr_Clover.h.

◆ m_NinF

int Fopr_Clover::m_NinF
private

internal parameters

Definition at line 58 of file fopr_Clover.h.

◆ m_Nvol

int Fopr_Clover::m_Nvol
private

Definition at line 59 of file fopr_Clover.h.

◆ m_repr

std::string Fopr_Clover::m_repr
private

gamma matrix representation

Definition at line 52 of file fopr_Clover.h.

◆ m_U

const Field_G* Fopr_Clover::m_U
private

gauge configuration (pointer)

Definition at line 63 of file fopr_Clover.h.

◆ m_v1

Field Fopr_Clover::m_v1
private

Definition at line 65 of file fopr_Clover.h.

◆ m_v2

Field Fopr_Clover::m_v2
private

working field.

Definition at line 65 of file fopr_Clover.h.

◆ m_vl

Bridge::VerboseLevel Fopr_Clover::m_vl
private

verbose level

Definition at line 53 of file fopr_Clover.h.


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