Bridge++  Ver. 2.0.2
AFopr_dd< AFIELD > Class Template Referenceabstract

Base class of fermion operator family. More...

#include <afopr_dd.h>

Inheritance diagram for AFopr_dd< AFIELD >:
AFopr< AFIELD > AFopr_Clover_dd< AFIELD > AFopr_Clover_QWS_dd< AFIELD >

Public Member Functions

virtual ~AFopr_dd ()
 
virtual void mult_sap (AFIELD &, const AFIELD &, const int eo)=0
 SAP operator. More...
 
virtual void mult_dd (AFIELD &, const AFIELD &)=0
 Mult only inside domain. More...
 
virtual void mult_dup (AFIELD &, const AFIELD &, const int mu)=0
 Upward hopping part of mult. More...
 
virtual void mult_ddn (AFIELD &, const AFIELD &, const int mu)=0
 Downward hopping part of mult. More...
 
virtual double flop_count_sap ()=0
 Returns floating operation counts for SAP mult. More...
 
- Public Member Functions inherited from AFopr< AFIELD >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void set_parameters (const Parameters &params)
 sets parameters by a Parameter object: to be implemented in a subclass. More...
 
virtual void get_parameters (Parameters &params) const
 gets parameters by a Parameter object: to be implemented in a subclass. More...
 
virtual void set_config (Field *)=0
 sets the gauge configuration. More...
 
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
 returns the current mult mode. More...
 
virtual void mult (AFIELD &, const AFIELD &)
 multiplies fermion operator to a given field. More...
 
virtual void mult_dag (AFIELD &, const AFIELD &)
 hermitian conjugate of mult. More...
 
virtual void mult (AFIELD &, const AFIELD &, const std::string mode)
 executes mult with specified mode (unchanging internal mode). More...
 
virtual void mult_dag (AFIELD &, const AFIELD &, const std::string mode)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
virtual void mult_gm5 (AFIELD &, const AFIELD &)
 multiplies gamma_5 matrix. More...
 
virtual void mult_up (int mu, AFIELD &, const AFIELD &)
 upward nearest neighbor hopping term. More...
 
virtual void mult_dn (int mu, AFIELD &, const AFIELD &)
 downward nearest neighbor hopping term. 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 int field_nin ()=0
 returns the on-site degree of freedom of the fermion field. More...
 
virtual int field_nvol ()=0
 returns the volume of the fermion field. More...
 
virtual int field_nex ()=0
 returns the external degree of freedom of the fermion field. 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...
 
virtual bool needs_convert ()
 returns true if additional field conversion is needed. More...
 
virtual void convert (AFIELD &, const Field &)
 converts a Field object into other format if necessary. More...
 
virtual void reverse (Field &, const AFIELD &)
 converts an alternative field to a Field object. More...
 

Additional Inherited Members

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

Detailed Description

template<typename AFIELD>
class AFopr_dd< AFIELD >

Base class of fermion operator family.

This class defines the interface of the fermion operators with domain-decomposition. [10 Apr 2021 H.Matsufuru]

Definition at line 24 of file afopr_dd.h.

Constructor & Destructor Documentation

◆ ~AFopr_dd()

template<typename AFIELD >
virtual AFopr_dd< AFIELD >::~AFopr_dd ( )
inlinevirtual

Definition at line 30 of file afopr_dd.h.

Member Function Documentation

◆ flop_count_sap()

template<typename AFIELD >
virtual double AFopr_dd< AFIELD >::flop_count_sap ( )
pure virtual

Returns floating operation counts for SAP mult.

Implemented in AFopr_Clover_QWS_dd< AFIELD >, AFopr_Clover_QWS_dd< Field >, and AFopr_Clover_dd< AFIELD >.

◆ mult_dd()

template<typename AFIELD >
virtual void AFopr_dd< AFIELD >::mult_dd ( AFIELD ,
const AFIELD  
)
pure virtual

◆ mult_ddn()

template<typename AFIELD >
virtual void AFopr_dd< AFIELD >::mult_ddn ( AFIELD ,
const AFIELD ,
const int  mu 
)
pure virtual

Downward hopping part of mult.

Implemented in AFopr_Clover_QWS_dd< Field >, AFopr_Clover_dd< AFIELD >, and AFopr_Clover_QWS_dd< AFIELD >.

◆ mult_dup()

template<typename AFIELD >
virtual void AFopr_dd< AFIELD >::mult_dup ( AFIELD ,
const AFIELD ,
const int  mu 
)
pure virtual

Upward hopping part of mult.

Implemented in AFopr_Clover_QWS_dd< Field >, AFopr_Clover_dd< AFIELD >, and AFopr_Clover_QWS_dd< AFIELD >.

◆ mult_sap()

template<typename AFIELD >
virtual void AFopr_dd< AFIELD >::mult_sap ( AFIELD ,
const AFIELD ,
const int  eo 
)
pure virtual

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