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

smeared fermion operator: alternative version. More...

#include <afopr_Smeared.h>

Inheritance diagram for AFopr_Smeared< AFIELD >:
AFopr< AFIELD >

Public Member Functions

 AFopr_Smeared (AFopr< AFIELD > *fopr, Director_Smear *dr_smear)
 constructor requires Fopr and Director_Smear objects More...
 
 AFopr_Smeared (AFopr< AFIELD > *fopr, 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 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 mult (AFIELD &v, const AFIELD &f, std::string mode)
 multiply smeared fermion operator More...
 
void mult_dag (AFIELD &v, const AFIELD &f, std::string mode)
 multiply smeared fermion operator More...
 
void mult_gm5 (AFIELD &v, const AFIELD &f)
 multiply gamma_5 matrix. More...
 
void set_mode (const std::string mode)
 set the mode of fermion operator. More...
 
bool needs_convert ()
 requirement of spinor field conversion. More...
 
void convert (AFIELD &v, const Field &w)
 convert of spinor field. More...
 
void reverse (Field &v, const AFIELD &w)
 reverse of spinor field. 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...
 
int field_nvol ()
 returns the volume of the fermion field. More...
 
int field_nin ()
 returns the on-site degree of freedom of the fermion field. More...
 
int field_nex ()
 returns the external degree of freedom of the fermion field. More...
 
double flop_count ()
 returns floating operation counts. More...
 
const std::string class_name
 
const std::string class_name
 
- Public Member Functions inherited from AFopr< AFIELD >
 AFopr ()
 
virtual ~AFopr ()
 
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 (const std::string mode)
 returns the flops per site for specified mode. More...
 

Static Public Attributes

static const std::string class_name = "AFopr_Smeared"
 

Private Attributes

Bridge::VerboseLevel m_vl
 
AFopr< AFIELD > * m_fopr
 
Director_Smearm_dr_smear
 

Additional Inherited Members

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

Detailed Description

template<typename AFIELD>
class AFopr_Smeared< AFIELD >

smeared fermion operator: alternative version.

This class construct 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. [24 Dec 2011 H.Matsufuru] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa]

Definition at line 41 of file afopr_Smeared.h.

Constructor & Destructor Documentation

◆ AFopr_Smeared() [1/2]

template<typename AFIELD >
AFopr_Smeared< AFIELD >::AFopr_Smeared ( AFopr< AFIELD > *  fopr,
Director_Smear dr_smear 
)
inline

constructor requires Fopr and Director_Smear objects

Definition at line 54 of file afopr_Smeared.h.

◆ AFopr_Smeared() [2/2]

template<typename AFIELD >
AFopr_Smeared< AFIELD >::AFopr_Smeared ( AFopr< AFIELD > *  fopr,
Director_Smear dr_smear,
const Parameters params 
)
inline

Definition at line 57 of file afopr_Smeared.h.

Member Function Documentation

◆ class_name() [1/2]

const std::string AFopr_Smeared< AField< double, QXS > >::class_name

Definition at line 18 of file afopr_Smeared.cpp.

◆ class_name() [2/2]

const std::string AFopr_Smeared< AField< float, QXS > >::class_name

Definition at line 22 of file afopr_Smeared.cpp.

◆ convert()

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

convert of spinor field.

Reimplemented from AFopr< AFIELD >.

Definition at line 99 of file afopr_Smeared.h.

◆ field_nex()

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

returns the external degree of freedom of the fermion field.

Implements AFopr< AFIELD >.

Definition at line 117 of file afopr_Smeared.h.

◆ field_nin()

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

returns the on-site degree of freedom of the fermion field.

Implements AFopr< AFIELD >.

Definition at line 116 of file afopr_Smeared.h.

◆ field_nvol()

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

returns the volume of the fermion field.

Implements AFopr< AFIELD >.

Definition at line 115 of file afopr_Smeared.h.

◆ flop_count()

template<typename AFIELD >
double AFopr_Smeared< AFIELD >::flop_count
virtual

returns floating operation counts.

Reimplemented from AFopr< AFIELD >.

Definition at line 59 of file afopr_Smeared-tmpl.h.

◆ get_mode()

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

returns the current mult mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 106 of file afopr_Smeared.h.

◆ get_parameters()

template<typename AFIELD >
void AFopr_Smeared< 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-tmpl.h.

◆ mult() [1/2]

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

multiply smeared fermion operator

Reimplemented from AFopr< AFIELD >.

Definition at line 71 of file afopr_Smeared.h.

◆ mult() [2/2]

template<typename AFIELD >
void AFopr_Smeared< AFIELD >::mult ( AFIELD v,
const AFIELD f,
std::string  mode 
)
inlinevirtual

multiply smeared fermion operator

Reimplemented from AFopr< AFIELD >.

Definition at line 79 of file afopr_Smeared.h.

◆ mult_dag() [1/2]

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

multiply smeared fermion operator

Reimplemented from AFopr< AFIELD >.

Definition at line 75 of file afopr_Smeared.h.

◆ mult_dag() [2/2]

template<typename AFIELD >
void AFopr_Smeared< AFIELD >::mult_dag ( AFIELD v,
const AFIELD f,
std::string  mode 
)
inlinevirtual

multiply smeared fermion operator

Reimplemented from AFopr< AFIELD >.

Definition at line 83 of file afopr_Smeared.h.

◆ mult_dn()

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

downward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 112 of file afopr_Smeared.h.

◆ mult_gm5()

template<typename AFIELD >
void AFopr_Smeared< AFIELD >::mult_gm5 ( AFIELD v,
const AFIELD f 
)
inlinevirtual

multiply gamma_5 matrix.

Reimplemented from AFopr< AFIELD >.

Definition at line 87 of file afopr_Smeared.h.

◆ mult_up()

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

upward nearest neighbor hopping term.

Reimplemented from AFopr< AFIELD >.

Definition at line 109 of file afopr_Smeared.h.

◆ needs_convert()

template<typename AFIELD >
bool AFopr_Smeared< AFIELD >::needs_convert ( )
inlinevirtual

requirement of spinor field conversion.

Reimplemented from AFopr< AFIELD >.

Definition at line 95 of file afopr_Smeared.h.

◆ reverse()

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

reverse of spinor field.

Reimplemented from AFopr< AFIELD >.

Definition at line 103 of file afopr_Smeared.h.

◆ set_config()

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

set pointer to original thin link variable

Implements AFopr< AFIELD >.

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

◆ set_mode()

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

set the mode of fermion operator.

Reimplemented from AFopr< AFIELD >.

Definition at line 91 of file afopr_Smeared.h.

◆ set_parameters()

template<typename AFIELD >
void AFopr_Smeared< 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-tmpl.h.

Member Data Documentation

◆ class_name

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

Definition at line 44 of file afopr_Smeared.h.

◆ m_dr_smear

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

Definition at line 50 of file afopr_Smeared.h.

◆ m_fopr

template<typename AFIELD >
AFopr<AFIELD>* AFopr_Smeared< AFIELD >::m_fopr
private

Definition at line 49 of file afopr_Smeared.h.

◆ m_vl

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

Definition at line 47 of file afopr_Smeared.h.


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