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

Twisted-mass Wilson fermion operator. More...

#include <afopr_Wilson_TwistedMass.h>

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

Public Types

typedef AFIELD::real_t real_t
 

Public Member Functions

DEPRECATED AFopr_Wilson_TwistedMass ()
 
DEPRECATED AFopr_Wilson_TwistedMass (const std::string repr)
 
 AFopr_Wilson_TwistedMass (const Parameters &params)
 
 ~AFopr_Wilson_TwistedMass ()
 
void set_parameters (const Parameters &params)
 sets parameters by a Parameter object: to be implemented in a subclass. More...
 
void set_parameters (const double kappa, const double tw_mass, const std::vector< int > bc)
 
void get_parameters (Parameters &params) const
 gets parameters by a Parameter object: to be implemented in a subclass. More...
 
void set_config (Field *U)
 sets the gauge configuration. 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 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_gm5 (AFIELD &v, const AFIELD &w)
 multiplies gamma_5 matrix. More...
 
void mult_gm5p (const int mu, AFIELD &v, const AFIELD &w)
 
void D (AFIELD &, const AFIELD &)
 
void DdagD (AFIELD &, const AFIELD &)
 
void Ddag (AFIELD &, const AFIELD &)
 
void H (AFIELD &, const AFIELD &)
 
void Hdag (AFIELD &, const AFIELD &)
 
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 to a Field object from other format if necessary. 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 operations. More...
 
- Public Member Functions inherited from AFopr< AFIELD >
 AFopr ()
 
virtual ~AFopr ()
 
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_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 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_Wilson_TwistedMass"
 

Private Member Functions

void init (const std::string &repr)
 
void init (const Parameters &params)
 
void tidyup ()
 

Private Attributes

real_t m_kappa
 hopping parameter More...
 
real_t m_tw_mass
 twisted mass More...
 
std::vector< int > m_boundary
 boundary condition More...
 
std::string m_kernel_type
 kernel type More...
 
std::string m_repr
 gamma matrix representation More...
 
Bridge::VerboseLevel m_vl
 verbose level More...
 
AFopr< AFIELD > * m_fopr_w
 kernel fermion operator More...
 
std::string m_mode
 mode of multiplication More...
 
int m_Nc
 
int m_Nd
 
int m_NinF
 
int m_Nvol
 
int m_Ndim
 
const Field_Gm_U
 gauge configuration (pointer) More...
 
AFIELD m_v2
 working field More...
 
bool m_is_initial_step
 to avoid redundant setup More...
 

Additional Inherited Members

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

Detailed Description

template<typename AFIELD>
class AFopr_Wilson_TwistedMass< AFIELD >

Twisted-mass Wilson fermion operator.

This fermion operator defines the twisted-mass Wilson fermion. Note that H (= gm5 * D) operator is not hermitian by definition. [23 Dec 2011 H.Matsufuru] YAML is implemented. [14 Nov 2012 Y.Namekawa] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa] --> abolished. Changed to a template class in ver.2.0. [19 Dec 2021 H.Matsufuru]

Definition at line 38 of file afopr_Wilson_TwistedMass.h.

Member Typedef Documentation

◆ real_t

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

Definition at line 41 of file afopr_Wilson_TwistedMass.h.

Constructor & Destructor Documentation

◆ AFopr_Wilson_TwistedMass() [1/3]

template<typename AFIELD >
DEPRECATED AFopr_Wilson_TwistedMass< AFIELD >::AFopr_Wilson_TwistedMass ( )
inline

Definition at line 72 of file afopr_Wilson_TwistedMass.h.

◆ AFopr_Wilson_TwistedMass() [2/3]

template<typename AFIELD >
DEPRECATED AFopr_Wilson_TwistedMass< AFIELD >::AFopr_Wilson_TwistedMass ( const std::string  repr)
inline

Definition at line 76 of file afopr_Wilson_TwistedMass.h.

◆ AFopr_Wilson_TwistedMass() [3/3]

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

Definition at line 78 of file afopr_Wilson_TwistedMass.h.

◆ ~AFopr_Wilson_TwistedMass()

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

Definition at line 80 of file afopr_Wilson_TwistedMass.h.

Member Function Documentation

◆ convert()

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

converts a Field object into other format if necessary.

Reimplemented from AFopr< AFIELD >.

Definition at line 120 of file afopr_Wilson_TwistedMass.h.

◆ D()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::D ( AFIELD v,
const AFIELD w 
)

Definition at line 304 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ Ddag()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::Ddag ( AFIELD v,
const AFIELD w 
)

Definition at line 323 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ DdagD()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::DdagD ( AFIELD v,
const AFIELD w 
)

Definition at line 380 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ field_nex()

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

returns the external degree of freedom of the fermion field.

Implements AFopr< AFIELD >.

Definition at line 129 of file afopr_Wilson_TwistedMass.h.

◆ field_nin()

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

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

Implements AFopr< AFIELD >.

Definition at line 127 of file afopr_Wilson_TwistedMass.h.

◆ field_nvol()

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

returns the volume of the fermion field.

Implements AFopr< AFIELD >.

Definition at line 128 of file afopr_Wilson_TwistedMass.h.

◆ flop_count()

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

this returns the number of floating point operations.

Reimplemented from AFopr< AFIELD >.

Definition at line 395 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ get_mode()

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

returns the current mult mode.

Reimplemented from AFopr< AFIELD >.

Definition at line 103 of file afopr_Wilson_TwistedMass.h.

◆ get_parameters()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< 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 197 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ H()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::H ( AFIELD v,
const AFIELD w 
)

Definition at line 342 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ Hdag()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::Hdag ( AFIELD v,
const AFIELD w 
)

Definition at line 361 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ init() [1/2]

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

Definition at line 29 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ init() [2/2]

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::init ( const std::string &  repr)
private

Definition at line 86 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ mult()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::mult ( AFIELD ,
const AFIELD  
)
virtual

multiplies fermion operator to a given field.

Reimplemented from AFopr< AFIELD >.

Definition at line 226 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ mult_dag()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::mult_dag ( AFIELD ,
const AFIELD  
)
virtual

hermitian conjugate of mult.

Reimplemented from AFopr< AFIELD >.

Definition at line 246 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ mult_gm5()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::mult_gm5 ( AFIELD ,
const AFIELD  
)
virtual

multiplies gamma_5 matrix.

Reimplemented from AFopr< AFIELD >.

Definition at line 266 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ mult_gm5p()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::mult_gm5p ( const int  mu,
AFIELD v,
const AFIELD w 
)

Definition at line 288 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ needs_convert()

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

returns true if additional field conversion is needed.

Reimplemented from AFopr< AFIELD >.

Definition at line 116 of file afopr_Wilson_TwistedMass.h.

◆ reverse()

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

reverses to a Field object from other format if necessary.

Reimplemented from AFopr< AFIELD >.

Definition at line 124 of file afopr_Wilson_TwistedMass.h.

◆ set_config()

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

sets the gauge configuration.

Implements AFopr< AFIELD >.

Definition at line 212 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ set_mode()

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< 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 274 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ set_parameters() [1/2]

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< AFIELD >::set_parameters ( const double  kappa,
const double  tw_mass,
const std::vector< int >  bc 
)

Definition at line 165 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ set_parameters() [2/2]

template<typename AFIELD >
void AFopr_Wilson_TwistedMass< 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 131 of file afopr_Wilson_TwistedMass-tmpl.h.

◆ tidyup()

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

Definition at line 123 of file afopr_Wilson_TwistedMass-tmpl.h.

Member Data Documentation

◆ class_name

const std::string Fopr_Wilson_TwistedMass::class_name = "AFopr_Wilson_TwistedMass"
static

Definition at line 43 of file afopr_Wilson_TwistedMass.h.

◆ m_boundary

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

boundary condition

Definition at line 48 of file afopr_Wilson_TwistedMass.h.

◆ m_fopr_w

template<typename AFIELD >
AFopr<AFIELD>* AFopr_Wilson_TwistedMass< AFIELD >::m_fopr_w
private

kernel fermion operator

Definition at line 55 of file afopr_Wilson_TwistedMass.h.

◆ m_is_initial_step

template<typename AFIELD >
bool AFopr_Wilson_TwistedMass< AFIELD >::m_is_initial_step
private

to avoid redundant setup

Definition at line 67 of file afopr_Wilson_TwistedMass.h.

◆ m_kappa

template<typename AFIELD >
real_t AFopr_Wilson_TwistedMass< AFIELD >::m_kappa
private

hopping parameter

Definition at line 46 of file afopr_Wilson_TwistedMass.h.

◆ m_kernel_type

template<typename AFIELD >
std::string AFopr_Wilson_TwistedMass< AFIELD >::m_kernel_type
private

kernel type

Definition at line 50 of file afopr_Wilson_TwistedMass.h.

◆ m_mode

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

mode of multiplication

Definition at line 57 of file afopr_Wilson_TwistedMass.h.

◆ m_Nc

template<typename AFIELD >
int AFopr_Wilson_TwistedMass< AFIELD >::m_Nc
private

Definition at line 60 of file afopr_Wilson_TwistedMass.h.

◆ m_Nd

template<typename AFIELD >
int AFopr_Wilson_TwistedMass< AFIELD >::m_Nd
private

Definition at line 60 of file afopr_Wilson_TwistedMass.h.

◆ m_Ndim

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

Definition at line 61 of file afopr_Wilson_TwistedMass.h.

◆ m_NinF

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

Definition at line 60 of file afopr_Wilson_TwistedMass.h.

◆ m_Nvol

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

Definition at line 61 of file afopr_Wilson_TwistedMass.h.

◆ m_repr

template<typename AFIELD >
std::string AFopr_Wilson_TwistedMass< AFIELD >::m_repr
private

gamma matrix representation

Definition at line 51 of file afopr_Wilson_TwistedMass.h.

◆ m_tw_mass

template<typename AFIELD >
real_t AFopr_Wilson_TwistedMass< AFIELD >::m_tw_mass
private

twisted mass

Definition at line 47 of file afopr_Wilson_TwistedMass.h.

◆ m_U

template<typename AFIELD >
const Field_G* AFopr_Wilson_TwistedMass< AFIELD >::m_U
private

gauge configuration (pointer)

Definition at line 63 of file afopr_Wilson_TwistedMass.h.

◆ m_v2

template<typename AFIELD >
AFIELD AFopr_Wilson_TwistedMass< AFIELD >::m_v2
private

working field

Definition at line 65 of file afopr_Wilson_TwistedMass.h.

◆ m_vl

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

verbose level

Definition at line 53 of file afopr_Wilson_TwistedMass.h.


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