Bridge++  Ver. 1.3.x
Fopr Class Referenceabstract

Base class of fermion operator family. More...

#include <fopr.h>

Inheritance diagram for Fopr:
Fopr_Chebyshev Fopr_Clover Fopr_Clover_General Fopr_Clover_Isochemical Fopr_Clover_SF Fopr_CloverTerm Fopr_CloverTerm_eo Fopr_CloverTerm_General Fopr_CRS Fopr_eo Fopr_Rational Fopr_Rational_SF Fopr_Smeared Fopr_Wilson Fopr_Wilson_General Fopr_Wilson_Isochemical Fopr_Wilson_SF

Public Member Functions

 Fopr ()
 
virtual ~Fopr ()
 
virtual void set_parameters (const Parameters &)=0
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void set_config (Field *)=0
 setting pointer to the gauge configuration. More...
 
virtual void set_config (unique_ptr< Field_G > &)=0
 
virtual void mult (Field &, const Field &)=0
 multiplies fermion operator to a given field (2nd argument) More...
 
virtual void mult_dag (Field &, const Field &)
 hermitian conjugate of mult(Field&, const Field&). More...
 
virtual void mult_up (int mu, Field &, const Field &)
 nearest neighbor hopping term: temporary entry [H.Matsufuru] More...
 
virtual void mult_dn (int mu, Field &, const Field &)
 
virtual void set_mode (std::string mode)
 setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More...
 
virtual std::string get_mode () const
 only for Fopr_Overlap More...
 
virtual int field_nvol ()=0
 returns the volume for which the fermion operator is defined. More...
 
virtual int field_nin ()=0
 returns the on-site d.o.f. for which the fermion operator is defined. More...
 
virtual int field_nex ()=0
 returns the external d.o.f. for which the fermion operator is defined. More...
 
virtual double flop_count ()
 returns the flops per site. More...
 

Protected Attributes

Bridge::VerboseLevel m_vl
 

Private Member Functions

 Fopr (const Fopr &)
 
Foproperator= (const Fopr &)
 

Detailed Description

Base class of fermion operator family.

In Bridge-OF, the fermion operator implies an operator which transforms a field to other field, irrespective of physical formulation. This class defines the interface of the fermion operators. At present, void functions mult(v,w) and mult_dag(v,w) is not purely virtual, because some of subclass have not implemented them yet. [20 Dec 2011 H.Matsufuru] unique_ptr is introduced to avoid memory leaks. [21 Mar 2015 Y.Namekawa] parameters factory is introduced. [21 Apr 2015 Y.Namekawa]

Definition at line 49 of file fopr.h.

Constructor & Destructor Documentation

Fopr::Fopr ( )
inline

Definition at line 53 of file fopr.h.

virtual Fopr::~Fopr ( )
inlinevirtual

Definition at line 56 of file fopr.h.

Fopr::Fopr ( const Fopr )
private

Member Function Documentation

virtual double Fopr::flop_count ( )
inlinevirtual
virtual void Fopr::mult_dn ( int  mu,
Field ,
const Field  
)
inlinevirtual
virtual void Fopr::mult_up ( int  mu,
Field ,
const Field  
)
inlinevirtual

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

Reimplemented in Fopr_Clover_General, Fopr_Clover, Fopr_Wilson_Isochemical, Fopr_Clover_Isochemical, Fopr_Smeared_eo, Fopr_Wilson, Fopr_Wilson_General, and Fopr_Smeared.

Definition at line 80 of file fopr.h.

Fopr& Fopr::operator= ( const Fopr )
private
virtual void Fopr::set_mode ( std::string  mode)
inlinevirtual

setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.

Reimplemented in Fopr_Wilson_SF, Fopr_CloverTerm_eo, Fopr_Wilson_eo, Fopr_Clover_SF, Fopr_Clover_General, Fopr_Wilson_Isochemical, Fopr_CloverTerm, Fopr_Clover, Fopr_CloverTerm_General, Fopr_Clover_eo, Fopr_Smeared_eo, Fopr_Clover_Isochemical, Fopr_CRS, Fopr_Smeared, Fopr_Wilson, Fopr_Wilson_General, and Fopr_eo.

Definition at line 85 of file fopr.h.

void Fopr::set_parameter_verboselevel ( const Bridge::VerboseLevel  vl)
inline

Definition at line 66 of file fopr.h.

Member Data Documentation

Bridge::VerboseLevel Fopr::m_vl
protected

Definition at line 113 of file fopr.h.


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