Bridge++  Ver. 2.0.2
Fopr_Smeared_eo Class Reference

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

#include <fopr_Smeared_eo.h>

Inheritance diagram for Fopr_Smeared_eo:
AFopr_eo< Field > AFopr< Field >

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 (Fopr_eo *fopr_eo, Director_Smear *dr_smear, const Parameters &params)
 
void set_parameters (const Parameters &)
 sets parameters by a Parameter object: to be implemented in a subclass. More...
 
void get_parameters (Parameters &) const
 gets parameters by a Parameter object: to be implemented in a subclass. More...
 
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 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
 
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...
 
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 AFopr_eo< Field >
virtual ~AFopr_eo ()
 
virtual void mult (Field &, const Field &, const std::string)
 executes mult with specified mode (unchanging internal mode). More...
 
virtual void mult_dag (Field &, const Field &, const std::string)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
std::string get_mode () const
 returns the current mult mode. More...
 
- Public Member Functions inherited from AFopr< Field >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void mult_gm5 (Field &, const Field &)
 multiplies gamma_5 matrix. 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_Smeared_eo"
 

Private Attributes

Bridge::VerboseLevel m_vl
 
Fopr_eom_fopr_eo
 
Director_Smearm_dr_smear
 

Additional Inherited Members

- Static Protected Attributes inherited from AFopr_eo< Field >
static const std::string class_name
 
- Static Protected Attributes inherited from AFopr< Field >
static const std::string class_name
 

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() [1/2]

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 54 of file fopr_Smeared_eo.h.

◆ Fopr_Smeared_eo() [2/2]

Fopr_Smeared_eo::Fopr_Smeared_eo ( Fopr_eo fopr_eo,
Director_Smear dr_smear,
const Parameters params 
)
inline

Definition at line 61 of file fopr_Smeared_eo.h.

Member Function Documentation

◆ field_nex()

int Fopr_Smeared_eo::field_nex ( )
inlinevirtual

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

Implements AFopr_eo< Field >.

Definition at line 122 of file fopr_Smeared_eo.h.

◆ field_nin()

int Fopr_Smeared_eo::field_nin ( )
inlinevirtual

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

Implements AFopr_eo< Field >.

Definition at line 121 of file fopr_Smeared_eo.h.

◆ field_nvol()

int Fopr_Smeared_eo::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements AFopr_eo< Field >.

Definition at line 120 of file fopr_Smeared_eo.h.

◆ flop_count()

double Fopr_Smeared_eo::flop_count ( )
virtual

this returns the number of floating point operations.

Reimplemented from AFopr< Field >.

Definition at line 57 of file fopr_Smeared_eo.cpp.

◆ get_mode()

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

Definition at line 105 of file fopr_Smeared_eo.h.

◆ get_parameters()

void Fopr_Smeared_eo::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 35 of file fopr_Smeared_eo.cpp.

◆ mult()

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

multiply smeared fermion operator

Reimplemented from AFopr_eo< Field >.

Definition at line 88 of file fopr_Smeared_eo.h.

◆ mult_dag()

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

multiply smeared fermion operator

Reimplemented from AFopr_eo< Field >.

Definition at line 94 of file fopr_Smeared_eo.h.

◆ mult_dn()

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

downward nearest neighbor hopping term.

Reimplemented from AFopr< Field >.

Definition at line 115 of file fopr_Smeared_eo.h.

◆ mult_up()

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

upward nearest neighbor hopping term.

Reimplemented from AFopr< Field >.

Definition at line 110 of file fopr_Smeared_eo.h.

◆ postProp()

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

Implements AFopr_eo< Field >.

Definition at line 79 of file fopr_Smeared_eo.h.

◆ preProp()

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

Implements AFopr_eo< Field >.

Definition at line 74 of file fopr_Smeared_eo.h.

◆ set_config()

void Fopr_Smeared_eo::set_config ( Field U)
virtual

set pointer to original thin link variable

Implements AFopr_eo< Field >.

Definition at line 42 of file fopr_Smeared_eo.cpp.

◆ set_mode()

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

set the mode of fermion operator

Reimplemented from AFopr_eo< Field >.

Definition at line 100 of file fopr_Smeared_eo.h.

◆ set_parameters()

void Fopr_Smeared_eo::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 25 of file fopr_Smeared_eo.cpp.

Member Data Documentation

◆ class_name

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

Definition at line 44 of file fopr_Smeared_eo.h.

◆ m_dr_smear

Director_Smear* Fopr_Smeared_eo::m_dr_smear
private

Definition at line 50 of file fopr_Smeared_eo.h.

◆ m_fopr_eo

Fopr_eo* Fopr_Smeared_eo::m_fopr_eo
private

Definition at line 49 of file fopr_Smeared_eo.h.

◆ m_vl

Bridge::VerboseLevel Fopr_Smeared_eo::m_vl
private

Definition at line 47 of file fopr_Smeared_eo.h.


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