Bridge++  Ver. 2.0.2
AFopr_Smeared_eo< AFIELD > Class Template Reference

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

#include <afopr_Smeared_eo.h>

Inheritance diagram for AFopr_Smeared_eo< AFIELD >:
AFopr_eo< AFIELD > AFopr< AFIELD >

Public Member Functions

 AFopr_Smeared_eo (AFopr_eo< AFIELD > *fopr_eo, Director_Smear *dr_smear)
 constructor requires Fopr and Director_Smear objects More...
 
 AFopr_Smeared_eo (AFopr_eo< AFIELD > *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 (AFIELD &Be, AFIELD &bo, const AFIELD &b)
 
void postProp (AFIELD &x, const AFIELD &xe, const AFIELD &bo)
 
void set_config (Field *U)
 set pointer to original thin link variable More...
 
void mult (AFIELD &v, const AFIELD &f)
 multiply smeared fermion operator More...
 
void mult_dag (AFIELD &v, const AFIELD &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
 returns the current mult mode. More...
 
void mult_up (const int mu, AFIELD &v, const AFIELD &w)
 upward nearest neighbor hopping term. More...
 
void mult_dn (const int mu, AFIELD &v, const AFIELD &w)
 downward nearest neighbor hopping term. More...
 
virtual bool needs_convert ()
 returns true if additional field conversion is needed. More...
 
virtual void convert (AFIELD &v, const Field &w)
 converts a Field object into other format if necessary. More...
 
virtual void reverse (Field &v, const AFIELD &w)
 reverses a Field object into other format if necessary. 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...
 
- Public Member Functions inherited from AFopr_eo< AFIELD >
virtual ~AFopr_eo ()
 
virtual void mult (AFIELD &, const AFIELD &, const std::string)
 executes mult with specified mode (unchanging internal mode). More...
 
virtual void mult_dag (AFIELD &, const AFIELD &, const std::string)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
- Public Member Functions inherited from AFopr< AFIELD >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void mult_gm5 (AFIELD &, const AFIELD &)
 multiplies gamma_5 matrix. More...
 
virtual void normalize_fprop (AFIELD &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual void normalize_fopr (AFIELD &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual double flop_count ()
 returns the number of floating point operations. More...
 
virtual double flop_count (const std::string mode)
 returns the flops per site for specified mode. More...
 

Static Public Attributes

static const std::string class_name = "Fopr_Smeared_eo"
 

Private Attributes

Bridge::VerboseLevel m_vl
 
AFopr_eo< AFIELD > * m_fopr_eo
 
Director_Smearm_dr_smear
 

Additional Inherited Members

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

Detailed Description

template<typename AFIELD>
class AFopr_Smeared_eo< AFIELD >

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 42 of file afopr_Smeared_eo.h.

Constructor & Destructor Documentation

◆ AFopr_Smeared_eo() [1/2]

template<typename AFIELD >
AFopr_Smeared_eo< AFIELD >::AFopr_Smeared_eo ( AFopr_eo< AFIELD > *  fopr_eo,
Director_Smear dr_smear 
)
inline

constructor requires Fopr and Director_Smear objects

Definition at line 56 of file afopr_Smeared_eo.h.

◆ AFopr_Smeared_eo() [2/2]

template<typename AFIELD >
AFopr_Smeared_eo< AFIELD >::AFopr_Smeared_eo ( AFopr_eo< AFIELD > *  fopr_eo,
Director_Smear dr_smear,
const Parameters params 
)
inline

Definition at line 63 of file afopr_Smeared_eo.h.

Member Function Documentation

◆ convert()

template<typename AFIELD >
virtual void AFopr_Smeared_eo< AFIELD >::convert ( AFIELD v,
const Field w 
)
inlinevirtual

converts a Field object into other format if necessary.

Reimplemented from AFopr< AFIELD >.

Definition at line 111 of file afopr_Smeared_eo.h.

◆ field_nex()

template<typename AFIELD >
int AFopr_Smeared_eo< AFIELD >::field_nex ( )
inlinevirtual

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

Implements AFopr_eo< AFIELD >.

Definition at line 120 of file afopr_Smeared_eo.h.

◆ field_nin()

template<typename AFIELD >
int AFopr_Smeared_eo< AFIELD >::field_nin ( )
inlinevirtual

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

Implements AFopr_eo< AFIELD >.

Definition at line 119 of file afopr_Smeared_eo.h.

◆ field_nvol()

template<typename AFIELD >
int AFopr_Smeared_eo< AFIELD >::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements AFopr_eo< AFIELD >.

Definition at line 118 of file afopr_Smeared_eo.h.

◆ get_mode()

template<typename AFIELD >
std::string AFopr_Smeared_eo< AFIELD >::get_mode ( ) const
inlinevirtual

returns the current mult mode.

Reimplemented from AFopr_eo< AFIELD >.

Definition at line 97 of file afopr_Smeared_eo.h.

◆ get_parameters()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::get_parameters ( Parameters params) const
virtual

gets parameters by a Parameter object: to be implemented in a subclass.

Reimplemented from AFopr< AFIELD >.

Definition at line 38 of file afopr_Smeared_eo-tmpl.h.

◆ mult()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::mult ( AFIELD v,
const AFIELD f 
)
inlinevirtual

multiply smeared fermion operator

Reimplemented from AFopr_eo< AFIELD >.

Definition at line 86 of file afopr_Smeared_eo.h.

◆ mult_dag()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::mult_dag ( AFIELD v,
const AFIELD f 
)
inlinevirtual

multiply smeared fermion operator

Reimplemented from AFopr_eo< AFIELD >.

Definition at line 90 of file afopr_Smeared_eo.h.

◆ mult_dn()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::mult_dn ( const int  mu,
AFIELD ,
const AFIELD  
)
inlinevirtual

downward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 103 of file afopr_Smeared_eo.h.

◆ mult_up()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::mult_up ( const int  mu,
AFIELD ,
const AFIELD  
)
inlinevirtual

upward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 100 of file afopr_Smeared_eo.h.

◆ needs_convert()

template<typename AFIELD >
virtual bool AFopr_Smeared_eo< AFIELD >::needs_convert ( )
inlinevirtual

returns true if additional field conversion is needed.

Reimplemented from AFopr< AFIELD >.

Definition at line 107 of file afopr_Smeared_eo.h.

◆ postProp()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::postProp ( AFIELD x,
const AFIELD xe,
const AFIELD bo 
)
inlinevirtual

Implements AFopr_eo< AFIELD >.

Definition at line 79 of file afopr_Smeared_eo.h.

◆ preProp()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::preProp ( AFIELD Be,
AFIELD bo,
const AFIELD b 
)
inlinevirtual

Implements AFopr_eo< AFIELD >.

Definition at line 76 of file afopr_Smeared_eo.h.

◆ reverse()

template<typename AFIELD >
virtual void AFopr_Smeared_eo< AFIELD >::reverse ( Field v,
const AFIELD w 
)
inlinevirtual

reverses a Field object into other format if necessary.

Reimplemented from AFopr< AFIELD >.

Definition at line 115 of file afopr_Smeared_eo.h.

◆ set_config()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::set_config ( Field U)
virtual

set pointer to original thin link variable

Implements AFopr_eo< AFIELD >.

Definition at line 46 of file afopr_Smeared_eo-tmpl.h.

◆ set_mode()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::set_mode ( const std::string  mode)
inlinevirtual

set the mode of fermion operator

Reimplemented from AFopr_eo< AFIELD >.

Definition at line 94 of file afopr_Smeared_eo.h.

◆ set_parameters()

template<typename AFIELD >
void AFopr_Smeared_eo< AFIELD >::set_parameters ( const Parameters params)
virtual

sets parameters by a Parameter object: to be implemented in a subclass.

Reimplemented from AFopr< AFIELD >.

Definition at line 27 of file afopr_Smeared_eo-tmpl.h.

Member Data Documentation

◆ class_name

template<typename AFIELD >
const std::string AFopr_Smeared_eo< AFIELD >::class_name = "Fopr_Smeared_eo"
static

Definition at line 45 of file afopr_Smeared_eo.h.

◆ m_dr_smear

template<typename AFIELD >
Director_Smear* AFopr_Smeared_eo< AFIELD >::m_dr_smear
private

Definition at line 52 of file afopr_Smeared_eo.h.

◆ m_fopr_eo

template<typename AFIELD >
AFopr_eo<AFIELD>* AFopr_Smeared_eo< AFIELD >::m_fopr_eo
private

Definition at line 51 of file afopr_Smeared_eo.h.

◆ m_vl

template<typename AFIELD >
Bridge::VerboseLevel AFopr_Smeared_eo< AFIELD >::m_vl
private

Definition at line 49 of file afopr_Smeared_eo.h.


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