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

Wilson fermion operator with SF BC. More...

#include <fopr_Wilson_SF.h>

Inheritance diagram for Fopr_Wilson_SF:
Fopr

Public Member Functions

 Fopr_Wilson_SF ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double kappa, 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)
 
 ~Fopr_Wilson_SF ()
 
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 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 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)
 gamma_5 multiplication. [31 Mar 2017 H.Matsufuru] More...
 
void mult_gm5p (const int mu, Field_F &v, const Field_F &w)
 
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 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_Wilson_SF"
 

Private Attributes

int m_Nvol
 
int m_Ndim
 
int m_Nc
 
int m_Nd
 
int m_NinF
 
double m_kappa
 
std::vector< int > m_boundary
 
std::string m_mode
 
Fopr_Wilsonm_fopr_w
 
const Field_Gm_U
 
Field_F_SF set_zero
 In order to set the boundary field to zero. More...
 

Additional Inherited Members

- Protected Attributes inherited from Fopr
Bridge::VerboseLevel m_vl
 

Detailed Description

Wilson fermion operator with SF BC.

This class implements the Wilson fermion operator with the SF BC.

  • The SF BC for the fermion field is:
    • The fermion field at t=0 is always set to zero (Dirichlet BC).
    • The field at t=1,...,Lt-1 is active.
  • Implemented by delegation of the Fopr_Wilson class like Fopr_Clover.
  • The modification is only in Fopr_Wilson_SF::D to set the boundary fermion field to zero before and after multiplication of the standard Wilson Dirac operator.
    • By this manipulation the SF BC is introduced in the fermion field.
  • A private function set_boundary_zero(Field&) is introduced for this bounadry manipulation.
  • A few private members are added for this function.
  • [04 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]

Definition at line 50 of file fopr_Wilson_SF.h.

Constructor & Destructor Documentation

Fopr_Wilson_SF::Fopr_Wilson_SF ( )
inline

Definition at line 77 of file fopr_Wilson_SF.h.

Fopr_Wilson_SF::~Fopr_Wilson_SF ( )
inline

Definition at line 112 of file fopr_Wilson_SF.h.

Member Function Documentation

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

Definition at line 107 of file fopr_Wilson_SF.cpp.

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

Definition at line 86 of file fopr_Wilson_SF.cpp.

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

Definition at line 74 of file fopr_Wilson_SF.cpp.

int Fopr_Wilson_SF::field_nex ( )
inlinevirtual

returns the external d.o.f. for which the fermion operator is defined.

Implements Fopr.

Definition at line 173 of file fopr_Wilson_SF.h.

int Fopr_Wilson_SF::field_nin ( )
inlinevirtual

returns the on-site d.o.f. for which the fermion operator is defined.

Implements Fopr.

Definition at line 172 of file fopr_Wilson_SF.h.

int Fopr_Wilson_SF::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements Fopr.

Definition at line 171 of file fopr_Wilson_SF.h.

double Fopr_Wilson_SF::flop_count ( )
virtual

this returns the number of floating point operations.

Reimplemented from Fopr.

Definition at line 129 of file fopr_Wilson_SF.cpp.

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

only for Fopr_Overlap

Reimplemented from Fopr.

Definition at line 154 of file fopr_Wilson_SF.h.

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

Definition at line 97 of file fopr_Wilson_SF.cpp.

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

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

Implements Fopr.

Definition at line 117 of file fopr_Wilson_SF.h.

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

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

Reimplemented from Fopr.

Definition at line 133 of file fopr_Wilson_SF.h.

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

gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]

Reimplemented from Fopr.

Definition at line 164 of file fopr_Wilson_SF.h.

void Fopr_Wilson_SF::mult_gm5p ( const int  mu,
Field_F v,
const Field_F w 
)

Definition at line 118 of file fopr_Wilson_SF.cpp.

void Fopr_Wilson_SF::set_config ( Field )
inlinevirtual

setting pointer to the gauge configuration.

Implements Fopr.

Definition at line 100 of file fopr_Wilson_SF.h.

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

Implements Fopr.

Definition at line 106 of file fopr_Wilson_SF.h.

void Fopr_Wilson_SF::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 149 of file fopr_Wilson_SF.h.

void Fopr_Wilson_SF::set_parameters ( const Parameters params)
virtual

Implements Fopr.

Definition at line 25 of file fopr_Wilson_SF.cpp.

void Fopr_Wilson_SF::set_parameters ( const double  kappa,
const std::vector< int >  bc 
)

Definition at line 49 of file fopr_Wilson_SF.cpp.

Member Data Documentation

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

Definition at line 53 of file fopr_Wilson_SF.h.

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

Definition at line 58 of file fopr_Wilson_SF.h.

Fopr_Wilson* Fopr_Wilson_SF::m_fopr_w
private

Definition at line 61 of file fopr_Wilson_SF.h.

double Fopr_Wilson_SF::m_kappa
private

Definition at line 57 of file fopr_Wilson_SF.h.

std::string Fopr_Wilson_SF::m_mode
private

Definition at line 59 of file fopr_Wilson_SF.h.

int Fopr_Wilson_SF::m_Nc
private

Definition at line 56 of file fopr_Wilson_SF.h.

int Fopr_Wilson_SF::m_Nd
private

Definition at line 56 of file fopr_Wilson_SF.h.

int Fopr_Wilson_SF::m_Ndim
private

Definition at line 56 of file fopr_Wilson_SF.h.

int Fopr_Wilson_SF::m_NinF
private

Definition at line 56 of file fopr_Wilson_SF.h.

int Fopr_Wilson_SF::m_Nvol
private

Definition at line 56 of file fopr_Wilson_SF.h.

const Field_G* Fopr_Wilson_SF::m_U
private

Definition at line 62 of file fopr_Wilson_SF.h.

Field_F_SF Fopr_Wilson_SF::set_zero
private

In order to set the boundary field to zero.

Definition at line 74 of file fopr_Wilson_SF.h.


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