Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Fopr_Clover Class Reference

Clover fermion operator. More...

#include <fopr_Clover.h>

Inheritance diagram for Fopr_Clover:
Fopr

Public Member Functions

 Fopr_Clover ()
 
 Fopr_Clover (const std::string repr)
 
 ~Fopr_Clover ()
 
void set_parameters (const Parameters &params)
 
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_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...
 

Additional Inherited Members

- Protected Attributes inherited from Fopr
Bridge::VerboseLevel m_vl
 

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]

Definition at line 42 of file fopr_Clover.h.

Constructor & Destructor Documentation

Fopr_Clover::Fopr_Clover ( )
inline

Definition at line 64 of file fopr_Clover.h.

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

Definition at line 70 of file fopr_Clover.h.

Fopr_Clover::~Fopr_Clover ( )
inline

Definition at line 76 of file fopr_Clover.h.

Member Function Documentation

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

Definition at line 109 of file fopr_Clover.cpp.

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

Definition at line 122 of file fopr_Clover.cpp.

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

Definition at line 131 of file fopr_Clover.cpp.

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

Definition at line 141 of file fopr_Clover.cpp.

int Fopr_Clover::field_nex ( )
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.

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

int Fopr_Clover::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements Fopr.

Definition at line 166 of file fopr_Clover.h.

double Fopr_Clover::flop_count ( )
virtual

this returns the number of floating point operations.

Reimplemented from Fopr.

Definition at line 167 of file fopr_Clover.cpp.

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

only for Fopr_Overlap

Reimplemented from Fopr.

Definition at line 103 of file fopr_Clover.h.

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

Definition at line 151 of file fopr_Clover.cpp.

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

Definition at line 25 of file fopr_Clover.cpp.

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

multiplies fermion operator to a given field (2nd argument)

Implements Fopr.

Definition at line 108 of file fopr_Clover.h.

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

hermitian conjugate of mult(Field&, const Field&).

Reimplemented from Fopr.

Definition at line 126 of file fopr_Clover.h.

void Fopr_Clover::mult_dn ( const int  mu,
Field v,
const Field w 
)
inlinevirtual

Reimplemented from Fopr.

Definition at line 158 of file fopr_Clover.h.

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

gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]

Reimplemented from Fopr.

Definition at line 148 of file fopr_Clover.h.

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

Definition at line 159 of file fopr_Clover.cpp.

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

nearest neighbor hopping term: temporary entry [H.Matsufuru]

Reimplemented from Fopr.

Definition at line 153 of file fopr_Clover.h.

void Fopr_Clover::set_config ( Field )
inlinevirtual

setting pointer to the gauge configuration.

Implements Fopr.

Definition at line 84 of file fopr_Clover.h.

void Fopr_Clover::set_config ( unique_ptr< Field_G > &  U)
inlinevirtual

Implements Fopr.

Definition at line 91 of file fopr_Clover.h.

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

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

void Fopr_Clover::tidyup ( )
private

Definition at line 48 of file fopr_Clover.cpp.

Member Data Documentation

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

Definition at line 45 of file fopr_Clover.h.

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

boundary conditions

Definition at line 50 of file fopr_Clover.h.

double Fopr_Clover::m_cSW
private

clover coefficient

Definition at line 49 of file fopr_Clover.h.

Fopr_CloverTerm* Fopr_Clover::m_fopr_csw
private

Clover term operator.

Definition at line 57 of file fopr_Clover.h.

Fopr_Wilson* Fopr_Clover::m_fopr_w
private

Wilson fermion kernel.

Definition at line 56 of file fopr_Clover.h.

double Fopr_Clover::m_kappa
private

hopping parameter

Definition at line 48 of file fopr_Clover.h.

std::string Fopr_Clover::m_mode
private

mode of multiplication

Definition at line 52 of file fopr_Clover.h.

int Fopr_Clover::m_Nc
private

Definition at line 54 of file fopr_Clover.h.

int Fopr_Clover::m_Nd
private

Definition at line 54 of file fopr_Clover.h.

int Fopr_Clover::m_Ndim
private

Definition at line 54 of file fopr_Clover.h.

int Fopr_Clover::m_NinF
private

internal parameters

Definition at line 54 of file fopr_Clover.h.

int Fopr_Clover::m_Nvol
private

Definition at line 54 of file fopr_Clover.h.

std::string Fopr_Clover::m_repr
private

gamma matrix representation

Definition at line 51 of file fopr_Clover.h.

const Field_G* Fopr_Clover::m_U
private

gauge configuration (pointer)

Definition at line 58 of file fopr_Clover.h.

Field Fopr_Clover::m_v1
private

Definition at line 61 of file fopr_Clover.h.

Field Fopr_Clover::m_v2
private

working field.

Definition at line 61 of file fopr_Clover.h.


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