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

smeared fermion operator with even-odd preconditioning. More...

#include <fopr_Smeared_eo.h>

Inheritance diagram for Fopr_Smeared_eo:
Fopr_eo Fopr

Public Member Functions

 Fopr_Smeared_eo (Fopr_eo *fopr_eo, Director_Smear *dr_smear)
 constructor requires Fopr and Director_Smear objects More...
 
 Fopr_Smeared_eo (unique_ptr< Fopr_eo > &fopr_eo, unique_ptr< Director_Smear > &dr_smear)
 
void set_parameters (const Parameters &)
 
void preProp (Field &Be, Field &bo, const Field &b)
 
void postProp (Field &x, const Field &xe, const Field &bo)
 
void set_config (Field *U)
 set pointer to original thin link variable More...
 
void set_config (unique_ptr< Field_G > &U)
 
void mult (Field &v, const Field &f)
 multiply smeared fermion operator More...
 
void mult_dag (Field &v, const Field &f)
 multiply smeared fermion operator More...
 
void set_mode (const std::string mode)
 set the mode of fermion operator More...
 
std::string get_mode () const
 only for Fopr_Overlap 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)
 
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...
 
- Public Member Functions inherited from Fopr_eo
virtual ~Fopr_eo ()
 
- Public Member Functions inherited from Fopr
 Fopr ()
 
virtual ~Fopr ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void mult_gm5 (Field &, const Field &)
 gamma_5 multiplication. [31 Mar 2017 H.Matsufuru] More...
 
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 ()
 returns the flop in giga unit 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_Smeared_eo"
 

Private Attributes

Fopr_eom_fopr_eo
 
Director_Smearm_dr_smear
 

Additional Inherited Members

- Protected Attributes inherited from Fopr
Bridge::VerboseLevel m_vl
 

Detailed Description

smeared fermion operator with even-odd preconditioning.

This class constructs a smeared fermon operator for a given base fermion operator together with smearing director. Both of them must be constructed beforehand outside this class and given to the constructor. Smearing of link configuration is triggered by call of set_config(), which calls set_config() of the smearing director and then gets the pointer to the smeared config. to set it as the config. of base fermion operator. When mult() is called, this class just call the mult() of base class. [03 Mar 2013 Y.Namekawa] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa]

Definition at line 41 of file fopr_Smeared_eo.h.

Constructor & Destructor Documentation

Fopr_Smeared_eo::Fopr_Smeared_eo ( Fopr_eo fopr_eo,
Director_Smear dr_smear 
)
inline

constructor requires Fopr and Director_Smear objects

Definition at line 52 of file fopr_Smeared_eo.h.

Fopr_Smeared_eo::Fopr_Smeared_eo ( unique_ptr< Fopr_eo > &  fopr_eo,
unique_ptr< Director_Smear > &  dr_smear 
)
inline

Definition at line 58 of file fopr_Smeared_eo.h.

Member Function Documentation

int Fopr_Smeared_eo::field_nex ( )
inlinevirtual

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

Implements Fopr_eo.

Definition at line 119 of file fopr_Smeared_eo.h.

int Fopr_Smeared_eo::field_nin ( )
inlinevirtual

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

Implements Fopr_eo.

Definition at line 118 of file fopr_Smeared_eo.h.

int Fopr_Smeared_eo::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements Fopr_eo.

Definition at line 117 of file fopr_Smeared_eo.h.

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

only for Fopr_Overlap

Reimplemented from Fopr_eo.

Definition at line 102 of file fopr_Smeared_eo.h.

void Fopr_Smeared_eo::mult ( Field v,
const Field f 
)
inlinevirtual

multiply smeared fermion operator

Reimplemented from Fopr_eo.

Definition at line 85 of file fopr_Smeared_eo.h.

void Fopr_Smeared_eo::mult_dag ( Field v,
const Field f 
)
inlinevirtual

multiply smeared fermion operator

Reimplemented from Fopr_eo.

Definition at line 91 of file fopr_Smeared_eo.h.

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

Reimplemented from Fopr.

Definition at line 112 of file fopr_Smeared_eo.h.

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

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

Reimplemented from Fopr.

Definition at line 107 of file fopr_Smeared_eo.h.

void Fopr_Smeared_eo::postProp ( Field x,
const Field xe,
const Field bo 
)
inlinevirtual

Implements Fopr_eo.

Definition at line 71 of file fopr_Smeared_eo.h.

void Fopr_Smeared_eo::preProp ( Field Be,
Field bo,
const Field b 
)
inlinevirtual

Implements Fopr_eo.

Definition at line 66 of file fopr_Smeared_eo.h.

void Fopr_Smeared_eo::set_config ( Field U)
virtual

set pointer to original thin link variable

Implements Fopr_eo.

Definition at line 34 of file fopr_Smeared_eo.cpp.

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

Implements Fopr_eo.

Definition at line 79 of file fopr_Smeared_eo.h.

void Fopr_Smeared_eo::set_mode ( const std::string  mode)
inlinevirtual

set the mode of fermion operator

Reimplemented from Fopr_eo.

Definition at line 97 of file fopr_Smeared_eo.h.

void Fopr_Smeared_eo::set_parameters ( const Parameters params)
virtual

Implements Fopr.

Definition at line 25 of file fopr_Smeared_eo.cpp.

Member Data Documentation

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

Definition at line 44 of file fopr_Smeared_eo.h.

Director_Smear* Fopr_Smeared_eo::m_dr_smear
private

Definition at line 48 of file fopr_Smeared_eo.h.

Fopr_eo* Fopr_Smeared_eo::m_fopr_eo
private

Definition at line 47 of file fopr_Smeared_eo.h.


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