Bridge++  Ver. 2.0.2
Fopr_Staggered_eo Class Reference

Even-odd staggered fermion operator. More...

#include <fopr_Staggered_eo.h>

Inheritance diagram for Fopr_Staggered_eo:
AFopr_eo< Field > AFopr< Field >

Public Member Functions

DEPRECATED Fopr_Staggered_eo ()
 
 Fopr_Staggered_eo (const Parameters &params)
 constructor with a Paramters object. More...
 
 ~Fopr_Staggered_eo ()
 deconstructor. More...
 
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 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)
 setting pointer to the gauge configuration. More...
 
void set_config_impl (Field *U)
 
void set_config_omp (Field *U)
 
void set_mode (const 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
 
void mult (Field &w, const Field &f)
 multiplies fermion operator to a given field (2nd argument) More...
 
void mult_dag (Field &w, const Field &f)
 hermitian conjugate of mult(Field&, const Field&). More...
 
void mult (Field &w, const Field &f, const std::string mode)
 executes mult with specified mode (unchanging internal mode). More...
 
void mult_dag (Field &w, const Field &f, const std::string mode)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
void preProp (Field &, Field &, const Field &)
 for even-odd solver: called before linear solver. More...
 
void postProp (Field &, const Field &, const Field &)
 for even-odd solver: called after linear solver. More...
 
void MeoMoe (Field &v, const Field &f)
 D = m^2 - Deo * Doe. More...
 
void Meo (Field &, const Field &, const int ieo, const int jd)
 hopping term: ieo = 0: even <– odd, 1: odd <– even More...
 
void mult_staggered_phase (Field &, const int mu, const int ieo)
 multiplied staggered phase with a given vector. More...
 
int field_nin ()
 returns the on-site d.o.f. for which the fermion operator is defined. More...
 
int field_nvol ()
 returns the volume for which the fermion operator is defined. More...
 
int field_nex ()
 returns the external d.o.f. for which the fermion operator is defined. More...
 
double flop_count ()
 returns the number of floating point operations. More...
 
double flop_count (const std::string mode)
 returns the flop count for specified mode. More...
 
- Public Member Functions inherited from AFopr_eo< Field >
virtual ~AFopr_eo ()
 
std::string get_mode () const
 returns the current mult mode. More...
 
- Public Member Functions inherited from AFopr< Field >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void mult_gm5 (Field &, const Field &)
 multiplies gamma_5 matrix. More...
 
virtual void mult_up (int mu, Field &, const Field &)
 upward nearest neighbor hopping term. More...
 
virtual void mult_dn (int mu, Field &, const Field &)
 downward nearest neighbor hopping term. More...
 
virtual void normalize_fprop (Field &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual void normalize_fopr (Field &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual bool needs_convert ()
 returns true if additional field conversion is needed. More...
 
virtual void convert (Field &, const Field &)
 converts a Field object into other format if necessary. More...
 
virtual void reverse (Field &, const Field &)
 converts an alternative field to a Field object. More...
 

Static Public Attributes

static const std::string class_name = "Fopr_Staggered_eo"
 

Private Member Functions

void init ()
 initial setup. More...
 
void init (const Parameters &params)
 initial setup. More...
 
void setup ()
 
void tidyup ()
 final clean-up. More...
 
void set_staggered_phase ()
 
void mult_up (Field &, const Field &, const int mu, const int ieo)
 
void mult_dn (Field &, const Field &, const int mu, const int ieo)
 

Private Attributes

double m_mq
 fermion mass More...
 
std::vector< int > m_boundary
 boundary conditions More...
 
Bridge::VerboseLevel m_vl
 verbose level More...
 
std::string m_mode
 mult mode More...
 
int m_Nc
 
int m_Nvc
 
int m_Nvol
 
int m_Nvol2
 
int m_Ndim
 
Field_G m_Ueo
 even-odd gauge configuration More...
 
Field m_staggered_phase
 staggered phase More...
 
Index_eo m_index_eo
 
ShiftField_eom_shift_eo
 
Field m_t1
 
Field m_t2
 working vectors More...
 
Field m_v1
 
Field m_v2
 working vectors More...
 

Additional Inherited Members

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

Detailed Description

Even-odd staggered fermion operator.

Standard staggered fermion operator with even-odd site index. For ver.2.0. [21 Nov 2021 H.Matsufuru]

  • Original version [24 Dec 2011 H.Matsufuru]
  • Normalization of operator is changed from hopping to mass one. [21 Nov 2021]
  • Largely modified toward ver.2.0 [21 Nov 2021]

Definition at line 34 of file fopr_Staggered_eo.h.

Constructor & Destructor Documentation

◆ Fopr_Staggered_eo() [1/2]

DEPRECATED Fopr_Staggered_eo::Fopr_Staggered_eo ( )
inline

Definition at line 64 of file fopr_Staggered_eo.h.

◆ Fopr_Staggered_eo() [2/2]

Fopr_Staggered_eo::Fopr_Staggered_eo ( const Parameters params)
inline

constructor with a Paramters object.

Definition at line 67 of file fopr_Staggered_eo.h.

◆ ~Fopr_Staggered_eo()

Fopr_Staggered_eo::~Fopr_Staggered_eo ( )
inline

deconstructor.

Definition at line 70 of file fopr_Staggered_eo.h.

Member Function Documentation

◆ field_nex()

int Fopr_Staggered_eo::field_nex ( )
inlinevirtual

returns the external d.o.f. for which the fermion operator is defined.

Implements AFopr_eo< Field >.

Definition at line 115 of file fopr_Staggered_eo.h.

◆ field_nin()

int Fopr_Staggered_eo::field_nin ( )
inlinevirtual

returns the on-site d.o.f. for which the fermion operator is defined.

Implements AFopr_eo< Field >.

Definition at line 111 of file fopr_Staggered_eo.h.

◆ field_nvol()

int Fopr_Staggered_eo::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements AFopr_eo< Field >.

Definition at line 113 of file fopr_Staggered_eo.h.

◆ flop_count() [1/2]

double Fopr_Staggered_eo::flop_count ( )
inlinevirtual

returns the number of floating point operations.

Reimplemented from AFopr< Field >.

Definition at line 118 of file fopr_Staggered_eo.h.

◆ flop_count() [2/2]

double Fopr_Staggered_eo::flop_count ( const std::string  mode)
virtual

returns the flop count for specified mode.

Reimplemented from AFopr< Field >.

Definition at line 570 of file fopr_Staggered_eo.cpp.

◆ get_mode()

std::string Fopr_Staggered_eo::get_mode ( ) const
inline

Definition at line 86 of file fopr_Staggered_eo.h.

◆ get_parameters()

void Fopr_Staggered_eo::get_parameters ( Parameters params) const
virtual

gets parameters by a Parameter object: to be implemented in a subclass.

Reimplemented from AFopr< Field >.

Definition at line 165 of file fopr_Staggered_eo.cpp.

◆ init() [1/2]

void Fopr_Staggered_eo::init ( )
private

initial setup.

Definition at line 55 of file fopr_Staggered_eo.cpp.

◆ init() [2/2]

void Fopr_Staggered_eo::init ( const Parameters params)
private

initial setup.

Definition at line 36 of file fopr_Staggered_eo.cpp.

◆ Meo()

void Fopr_Staggered_eo::Meo ( Field v,
const Field w,
const int  ieo,
const int  jd 
)

hopping term: ieo = 0: even <– odd, 1: odd <– even

Definition at line 476 of file fopr_Staggered_eo.cpp.

◆ MeoMoe()

void Fopr_Staggered_eo::MeoMoe ( Field v,
const Field f 
)

D = m^2 - Deo * Doe.

Definition at line 461 of file fopr_Staggered_eo.cpp.

◆ mult() [1/2]

void Fopr_Staggered_eo::mult ( Field ,
const Field  
)
virtual

multiplies fermion operator to a given field (2nd argument)

Reimplemented from AFopr_eo< Field >.

Definition at line 257 of file fopr_Staggered_eo.cpp.

◆ mult() [2/2]

void Fopr_Staggered_eo::mult ( Field ,
const Field ,
const std::string   
)
virtual

executes mult with specified mode (unchanging internal mode).

Reimplemented from AFopr_eo< Field >.

Definition at line 311 of file fopr_Staggered_eo.cpp.

◆ mult_dag() [1/2]

void Fopr_Staggered_eo::mult_dag ( Field ,
const Field  
)
virtual

hermitian conjugate of mult(Field&, const Field&).

Reimplemented from AFopr_eo< Field >.

Definition at line 279 of file fopr_Staggered_eo.cpp.

◆ mult_dag() [2/2]

void Fopr_Staggered_eo::mult_dag ( Field ,
const Field ,
const std::string   
)
virtual

executes mult_dag with specified mode (unchanging internal mode).

Reimplemented from AFopr_eo< Field >.

Definition at line 334 of file fopr_Staggered_eo.cpp.

◆ mult_dn()

void Fopr_Staggered_eo::mult_dn ( Field v,
const Field w,
const int  mu,
const int  ieo 
)
private

Definition at line 534 of file fopr_Staggered_eo.cpp.

◆ mult_staggered_phase()

void Fopr_Staggered_eo::mult_staggered_phase ( Field v,
const int  mu,
const int  ieo 
)

multiplied staggered phase with a given vector.

Definition at line 227 of file fopr_Staggered_eo.cpp.

◆ mult_up()

void Fopr_Staggered_eo::mult_up ( Field v,
const Field w,
const int  mu,
const int  ieo 
)
private

Definition at line 504 of file fopr_Staggered_eo.cpp.

◆ postProp()

void Fopr_Staggered_eo::postProp ( Field xq,
const Field xe,
const Field bo 
)
virtual

for even-odd solver: called after linear solver.

Implements AFopr_eo< Field >.

Definition at line 436 of file fopr_Staggered_eo.cpp.

◆ preProp()

void Fopr_Staggered_eo::preProp ( Field Be,
Field Bo,
const Field b 
)
virtual

for even-odd solver: called before linear solver.

Implements AFopr_eo< Field >.

Definition at line 414 of file fopr_Staggered_eo.cpp.

◆ set_config()

void Fopr_Staggered_eo::set_config ( Field )
virtual

setting pointer to the gauge configuration.

Implements AFopr_eo< Field >.

Definition at line 357 of file fopr_Staggered_eo.cpp.

◆ set_config_impl()

void Fopr_Staggered_eo::set_config_impl ( Field U)

Definition at line 388 of file fopr_Staggered_eo.cpp.

◆ set_config_omp()

void Fopr_Staggered_eo::set_config_omp ( Field U)

Definition at line 376 of file fopr_Staggered_eo.cpp.

◆ set_mode()

void Fopr_Staggered_eo::set_mode ( const std::string  mode)
virtual

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

Reimplemented from AFopr_eo< Field >.

Definition at line 301 of file fopr_Staggered_eo.cpp.

◆ set_parameters() [1/2]

void Fopr_Staggered_eo::set_parameters ( const double  mq,
const std::vector< int >  bc 
)

Definition at line 135 of file fopr_Staggered_eo.cpp.

◆ set_parameters() [2/2]

void Fopr_Staggered_eo::set_parameters ( const Parameters params)
virtual

sets parameters by a Parameter object: to be implemented in a subclass.

Reimplemented from AFopr< Field >.

Definition at line 106 of file fopr_Staggered_eo.cpp.

◆ set_staggered_phase()

void Fopr_Staggered_eo::set_staggered_phase ( )
private

Definition at line 175 of file fopr_Staggered_eo.cpp.

◆ setup()

void Fopr_Staggered_eo::setup ( )
private

Definition at line 73 of file fopr_Staggered_eo.cpp.

◆ tidyup()

void Fopr_Staggered_eo::tidyup ( )
private

final clean-up.

Definition at line 99 of file fopr_Staggered_eo.cpp.

Member Data Documentation

◆ class_name

const std::string Fopr_Staggered_eo::class_name = "Fopr_Staggered_eo"
static

Definition at line 37 of file fopr_Staggered_eo.h.

◆ m_boundary

std::vector<int> Fopr_Staggered_eo::m_boundary
private

boundary conditions

Definition at line 42 of file fopr_Staggered_eo.h.

◆ m_index_eo

Index_eo Fopr_Staggered_eo::m_index_eo
private

Definition at line 54 of file fopr_Staggered_eo.h.

◆ m_mode

std::string Fopr_Staggered_eo::m_mode
private

mult mode

Definition at line 45 of file fopr_Staggered_eo.h.

◆ m_mq

double Fopr_Staggered_eo::m_mq
private

fermion mass

Definition at line 41 of file fopr_Staggered_eo.h.

◆ m_Nc

int Fopr_Staggered_eo::m_Nc
private

Definition at line 48 of file fopr_Staggered_eo.h.

◆ m_Ndim

int Fopr_Staggered_eo::m_Ndim
private

Definition at line 49 of file fopr_Staggered_eo.h.

◆ m_Nvc

int Fopr_Staggered_eo::m_Nvc
private

Definition at line 48 of file fopr_Staggered_eo.h.

◆ m_Nvol

int Fopr_Staggered_eo::m_Nvol
private

Definition at line 49 of file fopr_Staggered_eo.h.

◆ m_Nvol2

int Fopr_Staggered_eo::m_Nvol2
private

Definition at line 49 of file fopr_Staggered_eo.h.

◆ m_shift_eo

ShiftField_eo* Fopr_Staggered_eo::m_shift_eo
private

Definition at line 56 of file fopr_Staggered_eo.h.

◆ m_staggered_phase

Field Fopr_Staggered_eo::m_staggered_phase
private

staggered phase

Definition at line 52 of file fopr_Staggered_eo.h.

◆ m_t1

Field Fopr_Staggered_eo::m_t1
private

Definition at line 58 of file fopr_Staggered_eo.h.

◆ m_t2

Field Fopr_Staggered_eo::m_t2
private

working vectors

Definition at line 58 of file fopr_Staggered_eo.h.

◆ m_Ueo

Field_G Fopr_Staggered_eo::m_Ueo
private

even-odd gauge configuration

Definition at line 51 of file fopr_Staggered_eo.h.

◆ m_v1

Field Fopr_Staggered_eo::m_v1
private

Definition at line 59 of file fopr_Staggered_eo.h.

◆ m_v2

Field Fopr_Staggered_eo::m_v2
private

working vectors

Definition at line 59 of file fopr_Staggered_eo.h.

◆ m_vl

Bridge::VerboseLevel Fopr_Staggered_eo::m_vl
private

verbose level

Definition at line 43 of file fopr_Staggered_eo.h.


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