Bridge++  Ver.2.1.3
AFopr_OptimalDomainwall< AFIELD > Class Template Reference

Alternative version of the Optimal Domain-wall fermion operator. More...

#include <afopr_OptimalDomainwall.h>

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

Public Types

typedef AFIELD::real_t real_t
 

Public Member Functions

 AFopr_OptimalDomainwall (const Parameters &params)
 
 ~AFopr_OptimalDomainwall ()
 
void set_parameters (const Parameters &params)
 sets parameters by a Parameter object: to be implemented in a subclass. More...
 
void set_parameters (const double mq, const double M0, const int Ns, const std::vector< int > bc, const double b, const double c, const double lambda_min, const double lambda_max)
 
void set_config (Field *U)
 sets the gauge configuration. More...
 
void set_config (unique_ptr< Field_G > &U)
 
void set_mode (std::string mode)
 setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More...
 
std::string get_mode () const
 returns the current mult mode. More...
 
void mult (AFIELD &v, const AFIELD &w)
 multiplies fermion operator to a given field. More...
 
void mult_dag (AFIELD &v, const AFIELD &w)
 hermitian conjugate of mult. More...
 
void mult (AFIELD &v, const AFIELD &w, std::string mode)
 mult with specified mode. More...
 
void mult_gm5 (AFIELD &v, const AFIELD &w)
 multiplies gamma_5 matrix. More...
 
int field_nin ()
 returns the on-site degree of freedom of the fermion field. More...
 
int field_nvol ()
 returns the volume of the fermion field. More...
 
int field_nex ()
 returns the external degree of freedom of the fermion field. More...
 
double flop_count ()
 this returns the number of floating point number operations. More...
 
double flop_count (std::string mode)
 flop-count for specified mode. More...
 
- Public Member Functions inherited from AFopr< AFIELD >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void get_parameters (Parameters &params) const
 gets parameters by a Parameter object: to be implemented in a subclass. 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_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 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...
 

Static Public Attributes

static const std::string class_name = "AFopr_OptimalDomainwall"
 

Private Member Functions

void init (const Parameters &params)
 initial setup. More...
 
void tidyup ()
 final tidyup. More...
 
void set_optimalDomainwall (const double b, const double c, const double lambda_min, const double lambda_max)
 

Private Attributes

double m_mq
 quark mass More...
 
double m_M0
 domain-wall height More...
 
int m_Ns
 size of fifth-dimension More...
 
std::vector< int > m_boundary
 boundary conditions More...
 
std::vector< double > m_b
 
std::vector< double > m_c
 
Bridge::VerboseLevel m_vl
 verbose level More...
 
std::string m_mode
 
int m_NinF
 on-site d.o.f. More...
 
int m_Nvol
 volume size More...
 
int m_Ndim
 spacetime dimensions More...
 
AFopr_Domainwall_General< AFIELD > * m_foprdw
 

Additional Inherited Members

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

Detailed Description

template<typename AFIELD>
class AFopr_OptimalDomainwall< AFIELD >

Alternative version of the Optimal Domain-wall fermion operator.

This class implements optimal domain-wall fermion operator. [06 May 2017 H.Matsufuru]

Definition at line 32 of file afopr_OptimalDomainwall.h.

Member Typedef Documentation

◆ real_t

template<typename AFIELD >
typedef AFIELD::real_t AFopr_OptimalDomainwall< AFIELD >::real_t

Definition at line 35 of file afopr_OptimalDomainwall.h.

Constructor & Destructor Documentation

◆ AFopr_OptimalDomainwall()

template<typename AFIELD >
AFopr_OptimalDomainwall< AFIELD >::AFopr_OptimalDomainwall ( const Parameters &  params)
inline

Definition at line 63 of file afopr_OptimalDomainwall.h.

◆ ~AFopr_OptimalDomainwall()

template<typename AFIELD >
AFopr_OptimalDomainwall< AFIELD >::~AFopr_OptimalDomainwall ( )
inline

Definition at line 66 of file afopr_OptimalDomainwall.h.

Member Function Documentation

◆ field_nex()

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

returns the external degree of freedom of the fermion field.

Implements AFopr< AFIELD >.

Definition at line 99 of file afopr_OptimalDomainwall.h.

◆ field_nin()

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

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

Implements AFopr< AFIELD >.

Definition at line 97 of file afopr_OptimalDomainwall.h.

◆ field_nvol()

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

returns the volume of the fermion field.

Implements AFopr< AFIELD >.

Definition at line 98 of file afopr_OptimalDomainwall.h.

◆ flop_count() [1/2]

template<typename AFIELD >
double AFopr_OptimalDomainwall< AFIELD >::flop_count ( )
inlinevirtual

this returns the number of floating point number operations.

Reimplemented from AFopr< AFIELD >.

Definition at line 102 of file afopr_OptimalDomainwall.h.

◆ flop_count() [2/2]

template<typename AFIELD >
double AFopr_OptimalDomainwall< AFIELD >::flop_count ( std::string  mode)
inlinevirtual

flop-count for specified mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 105 of file afopr_OptimalDomainwall.h.

◆ get_mode()

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

returns the current mult mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 82 of file afopr_OptimalDomainwall.h.

◆ init()

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::init ( const Parameters &  params)
private

initial setup.

Definition at line 31 of file afopr_OptimalDomainwall-tmpl.h.

◆ mult() [1/2]

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::mult ( AFIELD &  ,
const AFIELD &   
)
inlinevirtual

multiplies fermion operator to a given field.

Reimplemented from AFopr< AFIELD >.

Definition at line 84 of file afopr_OptimalDomainwall.h.

◆ mult() [2/2]

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::mult ( AFIELD &  v,
const AFIELD &  w,
std::string  mode 
)
inlinevirtual

mult with specified mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 91 of file afopr_OptimalDomainwall.h.

◆ mult_dag()

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::mult_dag ( AFIELD &  ,
const AFIELD &   
)
inlinevirtual

hermitian conjugate of mult.

Reimplemented from AFopr< AFIELD >.

Definition at line 87 of file afopr_OptimalDomainwall.h.

◆ mult_gm5()

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::mult_gm5 ( AFIELD &  ,
const AFIELD &   
)
inlinevirtual

multiplies gamma_5 matrix.

Reimplemented from AFopr< AFIELD >.

Definition at line 94 of file afopr_OptimalDomainwall.h.

◆ set_config() [1/2]

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::set_config ( Field *  )
inlinevirtual

sets the gauge configuration.

Implements AFopr< AFIELD >.

Definition at line 75 of file afopr_OptimalDomainwall.h.

◆ set_config() [2/2]

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::set_config ( unique_ptr< Field_G > &  U)
inline

Definition at line 77 of file afopr_OptimalDomainwall.h.

◆ set_mode()

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::set_mode ( std::string  mode)
virtual

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

Reimplemented from AFopr< AFIELD >.

Definition at line 162 of file afopr_OptimalDomainwall-tmpl.h.

◆ set_optimalDomainwall()

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::set_optimalDomainwall ( const double  b,
const double  c,
const double  lambda_min,
const double  lambda_max 
)
private

Definition at line 133 of file afopr_OptimalDomainwall-tmpl.h.

◆ set_parameters() [1/2]

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::set_parameters ( const double  mq,
const double  M0,
const int  Ns,
const std::vector< int >  bc,
const double  b,
const double  c,
const double  lambda_min,
const double  lambda_max 
)

◆ set_parameters() [2/2]

template<typename AFIELD >
void AFopr_OptimalDomainwall< 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 57 of file afopr_OptimalDomainwall-tmpl.h.

◆ tidyup()

template<typename AFIELD >
void AFopr_OptimalDomainwall< AFIELD >::tidyup
private

final tidyup.

Definition at line 50 of file afopr_OptimalDomainwall-tmpl.h.

Member Data Documentation

◆ class_name

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

Definition at line 36 of file afopr_OptimalDomainwall.h.

◆ m_b

template<typename AFIELD >
std::vector<double> AFopr_OptimalDomainwall< AFIELD >::m_b
private

Definition at line 44 of file afopr_OptimalDomainwall.h.

◆ m_boundary

template<typename AFIELD >
std::vector<int> AFopr_OptimalDomainwall< AFIELD >::m_boundary
private

boundary conditions

Definition at line 43 of file afopr_OptimalDomainwall.h.

◆ m_c

template<typename AFIELD >
std::vector<double> AFopr_OptimalDomainwall< AFIELD >::m_c
private

Definition at line 45 of file afopr_OptimalDomainwall.h.

◆ m_foprdw

template<typename AFIELD >
AFopr_Domainwall_General<AFIELD>* AFopr_OptimalDomainwall< AFIELD >::m_foprdw
private

Definition at line 54 of file afopr_OptimalDomainwall.h.

◆ m_M0

template<typename AFIELD >
double AFopr_OptimalDomainwall< AFIELD >::m_M0
private

domain-wall height

Definition at line 41 of file afopr_OptimalDomainwall.h.

◆ m_mode

template<typename AFIELD >
std::string AFopr_OptimalDomainwall< AFIELD >::m_mode
private

Definition at line 48 of file afopr_OptimalDomainwall.h.

◆ m_mq

template<typename AFIELD >
double AFopr_OptimalDomainwall< AFIELD >::m_mq
private

quark mass

Definition at line 40 of file afopr_OptimalDomainwall.h.

◆ m_Ndim

template<typename AFIELD >
int AFopr_OptimalDomainwall< AFIELD >::m_Ndim
private

spacetime dimensions

Definition at line 52 of file afopr_OptimalDomainwall.h.

◆ m_NinF

template<typename AFIELD >
int AFopr_OptimalDomainwall< AFIELD >::m_NinF
private

on-site d.o.f.

Definition at line 50 of file afopr_OptimalDomainwall.h.

◆ m_Ns

template<typename AFIELD >
int AFopr_OptimalDomainwall< AFIELD >::m_Ns
private

size of fifth-dimension

Definition at line 42 of file afopr_OptimalDomainwall.h.

◆ m_Nvol

template<typename AFIELD >
int AFopr_OptimalDomainwall< AFIELD >::m_Nvol
private

volume size

Definition at line 51 of file afopr_OptimalDomainwall.h.

◆ m_vl

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

verbose level

Definition at line 46 of file afopr_OptimalDomainwall.h.


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