Bridge++  Ver. 2.0.2
Fopr_Staggered Class Reference

Staggered fermion operator. More...

#include <fopr_Staggered.h>

Inheritance diagram for Fopr_Staggered:
AFopr< Field >

Public Member Functions

 Fopr_Staggered (const Parameters &params)
 constructor. More...
 
DEPRECATED Fopr_Staggered ()
 
 ~Fopr_Staggered ()
 destructor. 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)
 sets the gauge configuration. 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
 
void mult (Field &, const Field &)
 multiplies fermion operator to a given field. More...
 
void mult_dag (Field &, const Field &)
 hermitian conjugate of mult. More...
 
void mult_gm5 (Field &, const Field &)
 multiplies gamma_5 matrix. More...
 
void D (Field &, const Field &)
 
void Ddag (Field &, const Field &)
 
void DdagD (Field &, const Field &)
 
void H (Field &, const Field &)
 
void mult_gm5 (Field &)
 
void mult_staggered_phase (Field &, int mu)
 
void normalize_fprop (Field &v)
 normalize propagator if necessary (default: do nothing) More...
 
void normalize_fopr_ (Field &v)
 
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 ()
 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< Field >
 AFopr ()
 
virtual ~AFopr ()
 
virtual std::string get_mode () const
 returns the current mult mode. More...
 
virtual void mult (Field &, const Field &, const std::string mode)
 executes mult with specified mode (unchanging internal mode). More...
 
virtual void mult_dag (Field &, const Field &, const std::string mode)
 executes mult_dag with specified mode (unchanging internal mode). 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_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"
 

Private Member Functions

void init ()
 initial setup. More...
 
void init (const Parameters &params)
 
void setup ()
 
void tidyup ()
 final clean-up. More...
 
void set_staggered_phase ()
 
void set_config_omp (Field *U)
 
void set_config_impl (Field *U)
 
void mult_xp (Field &, const Field &)
 
void mult_xm (Field &, const Field &)
 
void mult_yp (Field &, const Field &)
 
void mult_ym (Field &, const Field &)
 
void mult_zp (Field &, const Field &)
 
void mult_zm (Field &, const Field &)
 
void mult_tp (Field &, const Field &)
 
void mult_tm (Field &, const Field &)
 

Private Attributes

double m_mq
 quark 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_Ndf
 
int m_Nx
 
int m_Ny
 
int m_Nz
 
int m_Nt
 
int m_Nvol
 
int m_Ndim
 
Field m_stg_phase
 staggered phase More...
 
Field m_parity
 site parity field More...
 
Field_G m_U
 gauge field multiplied by staggered phase. More...
 
Field m_v1
 working field More...
 
Field m_v2
 working field More...
 
double * vcp1_xp
 communication buffer More...
 
double * vcp2_xp
 
double * vcp1_xm
 
double * vcp2_xm
 
double * vcp1_yp
 
double * vcp2_yp
 
double * vcp1_ym
 
double * vcp2_ym
 
double * vcp1_zp
 
double * vcp2_zp
 
double * vcp1_zm
 
double * vcp2_zm
 
double * vcp1_tp
 
double * vcp2_tp
 
double * vcp1_tm
 
double * vcp2_tm
 

Additional Inherited Members

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

Detailed Description

Staggered fermion operator.

This class is a complexified standard staggered fermion operator. The implementation is based on the even-odd staggered version. [19 Sep 2015 H.Matsufuru]

Definition at line 29 of file fopr_Staggered.h.

Constructor & Destructor Documentation

◆ Fopr_Staggered() [1/2]

Fopr_Staggered::Fopr_Staggered ( const Parameters params)
inline

constructor.

Definition at line 63 of file fopr_Staggered.h.

◆ Fopr_Staggered() [2/2]

DEPRECATED Fopr_Staggered::Fopr_Staggered ( )
inline

Definition at line 66 of file fopr_Staggered.h.

◆ ~Fopr_Staggered()

Fopr_Staggered::~Fopr_Staggered ( )
inline

destructor.

Definition at line 69 of file fopr_Staggered.h.

Member Function Documentation

◆ D()

void Fopr_Staggered::D ( Field v,
const Field w 
)

Definition at line 414 of file fopr_Staggered.cpp.

◆ Ddag()

void Fopr_Staggered::Ddag ( Field v,
const Field w 
)

Definition at line 449 of file fopr_Staggered.cpp.

◆ DdagD()

void Fopr_Staggered::DdagD ( Field v,
const Field w 
)

Definition at line 404 of file fopr_Staggered.cpp.

◆ field_nex()

int Fopr_Staggered::field_nex ( )
inlinevirtual

returns the external degree of freedom of the fermion field.

Implements AFopr< Field >.

Definition at line 104 of file fopr_Staggered.h.

◆ field_nin()

int Fopr_Staggered::field_nin ( )
inlinevirtual

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

Implements AFopr< Field >.

Definition at line 102 of file fopr_Staggered.h.

◆ field_nvol()

int Fopr_Staggered::field_nvol ( )
inlinevirtual

returns the volume of the fermion field.

Implements AFopr< Field >.

Definition at line 103 of file fopr_Staggered.h.

◆ flop_count() [1/2]

double Fopr_Staggered::flop_count ( )
inlinevirtual

returns the number of floating point operations.

Reimplemented from AFopr< Field >.

Definition at line 107 of file fopr_Staggered.h.

◆ flop_count() [2/2]

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

returns the flop count for specified mode.

Reimplemented from AFopr< Field >.

Definition at line 1091 of file fopr_Staggered.cpp.

◆ get_mode()

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

Definition at line 81 of file fopr_Staggered.h.

◆ get_parameters()

void Fopr_Staggered::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 205 of file fopr_Staggered.cpp.

◆ H()

void Fopr_Staggered::H ( Field v,
const Field w 
)

Definition at line 396 of file fopr_Staggered.cpp.

◆ init() [1/2]

void Fopr_Staggered::init ( )
private

initial setup.

Definition at line 53 of file fopr_Staggered.cpp.

◆ init() [2/2]

void Fopr_Staggered::init ( const Parameters params)
private

Definition at line 34 of file fopr_Staggered.cpp.

◆ mult()

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

multiplies fermion operator to a given field.

Reimplemented from AFopr< Field >.

Definition at line 360 of file fopr_Staggered.cpp.

◆ mult_dag()

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

hermitian conjugate of mult.

Reimplemented from AFopr< Field >.

Definition at line 378 of file fopr_Staggered.cpp.

◆ mult_gm5() [1/2]

void Fopr_Staggered::mult_gm5 ( Field v)

Definition at line 512 of file fopr_Staggered.cpp.

◆ mult_gm5() [2/2]

void Fopr_Staggered::mult_gm5 ( Field ,
const Field  
)
virtual

multiplies gamma_5 matrix.

Reimplemented from AFopr< Field >.

Definition at line 484 of file fopr_Staggered.cpp.

◆ mult_staggered_phase()

void Fopr_Staggered::mult_staggered_phase ( Field v,
int  mu 
)

Definition at line 280 of file fopr_Staggered.cpp.

◆ mult_tm()

void Fopr_Staggered::mult_tm ( Field v,
const Field w 
)
private

Definition at line 1024 of file fopr_Staggered.cpp.

◆ mult_tp()

void Fopr_Staggered::mult_tp ( Field v,
const Field w 
)
private

Definition at line 957 of file fopr_Staggered.cpp.

◆ mult_xm()

void Fopr_Staggered::mult_xm ( Field v,
const Field w 
)
private

Definition at line 604 of file fopr_Staggered.cpp.

◆ mult_xp()

void Fopr_Staggered::mult_xp ( Field v,
const Field w 
)
private

Definition at line 539 of file fopr_Staggered.cpp.

◆ mult_ym()

void Fopr_Staggered::mult_ym ( Field v,
const Field w 
)
private

Definition at line 740 of file fopr_Staggered.cpp.

◆ mult_yp()

void Fopr_Staggered::mult_yp ( Field v,
const Field w 
)
private

Definition at line 669 of file fopr_Staggered.cpp.

◆ mult_zm()

void Fopr_Staggered::mult_zm ( Field v,
const Field w 
)
private

Definition at line 884 of file fopr_Staggered.cpp.

◆ mult_zp()

void Fopr_Staggered::mult_zp ( Field v,
const Field w 
)
private

Definition at line 811 of file fopr_Staggered.cpp.

◆ normalize_fopr_()

void Fopr_Staggered::normalize_fopr_ ( Field v)
inline

Definition at line 100 of file fopr_Staggered.h.

◆ normalize_fprop()

void Fopr_Staggered::normalize_fprop ( Field )
inlinevirtual

normalize propagator if necessary (default: do nothing)

Reimplemented from AFopr< Field >.

Definition at line 98 of file fopr_Staggered.h.

◆ set_config()

void Fopr_Staggered::set_config ( Field )
virtual

sets the gauge configuration.

Implements AFopr< Field >.

Definition at line 301 of file fopr_Staggered.cpp.

◆ set_config_impl()

void Fopr_Staggered::set_config_impl ( Field U)
private

Definition at line 329 of file fopr_Staggered.cpp.

◆ set_config_omp()

void Fopr_Staggered::set_config_omp ( Field U)
private

Definition at line 319 of file fopr_Staggered.cpp.

◆ set_mode()

void Fopr_Staggered::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< Field >.

Definition at line 350 of file fopr_Staggered.cpp.

◆ set_parameters() [1/2]

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

Definition at line 173 of file fopr_Staggered.cpp.

◆ set_parameters() [2/2]

void Fopr_Staggered::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 145 of file fopr_Staggered.cpp.

◆ set_staggered_phase()

void Fopr_Staggered::set_staggered_phase ( )
private

Definition at line 214 of file fopr_Staggered.cpp.

◆ setup()

void Fopr_Staggered::setup ( )
private

Definition at line 69 of file fopr_Staggered.cpp.

◆ tidyup()

void Fopr_Staggered::tidyup ( )
private

final clean-up.

Definition at line 120 of file fopr_Staggered.cpp.

Member Data Documentation

◆ class_name

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

Definition at line 32 of file fopr_Staggered.h.

◆ m_boundary

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

boundary conditions.

Definition at line 37 of file fopr_Staggered.h.

◆ m_mode

std::string Fopr_Staggered::m_mode
private

mult mode

Definition at line 40 of file fopr_Staggered.h.

◆ m_mq

double Fopr_Staggered::m_mq
private

quark mass.

Definition at line 36 of file fopr_Staggered.h.

◆ m_Nc

int Fopr_Staggered::m_Nc
private

Definition at line 43 of file fopr_Staggered.h.

◆ m_Ndf

int Fopr_Staggered::m_Ndf
private

Definition at line 43 of file fopr_Staggered.h.

◆ m_Ndim

int Fopr_Staggered::m_Ndim
private

Definition at line 45 of file fopr_Staggered.h.

◆ m_Nt

int Fopr_Staggered::m_Nt
private

Definition at line 44 of file fopr_Staggered.h.

◆ m_Nvc

int Fopr_Staggered::m_Nvc
private

Definition at line 43 of file fopr_Staggered.h.

◆ m_Nvol

int Fopr_Staggered::m_Nvol
private

Definition at line 45 of file fopr_Staggered.h.

◆ m_Nx

int Fopr_Staggered::m_Nx
private

Definition at line 44 of file fopr_Staggered.h.

◆ m_Ny

int Fopr_Staggered::m_Ny
private

Definition at line 44 of file fopr_Staggered.h.

◆ m_Nz

int Fopr_Staggered::m_Nz
private

Definition at line 44 of file fopr_Staggered.h.

◆ m_parity

Field Fopr_Staggered::m_parity
private

site parity field

Definition at line 48 of file fopr_Staggered.h.

◆ m_stg_phase

Field Fopr_Staggered::m_stg_phase
private

staggered phase

Definition at line 47 of file fopr_Staggered.h.

◆ m_U

Field_G Fopr_Staggered::m_U
private

gauge field multiplied by staggered phase.

Definition at line 50 of file fopr_Staggered.h.

◆ m_v1

Field Fopr_Staggered::m_v1
private

working field

Definition at line 52 of file fopr_Staggered.h.

◆ m_v2

Field Fopr_Staggered::m_v2
private

working field

Definition at line 53 of file fopr_Staggered.h.

◆ m_vl

Bridge::VerboseLevel Fopr_Staggered::m_vl
private

verbose level

Definition at line 38 of file fopr_Staggered.h.

◆ vcp1_tm

double * Fopr_Staggered::vcp1_tm
private

Definition at line 59 of file fopr_Staggered.h.

◆ vcp1_tp

double* Fopr_Staggered::vcp1_tp
private

Definition at line 59 of file fopr_Staggered.h.

◆ vcp1_xm

double * Fopr_Staggered::vcp1_xm
private

Definition at line 56 of file fopr_Staggered.h.

◆ vcp1_xp

double* Fopr_Staggered::vcp1_xp
private

communication buffer

Definition at line 56 of file fopr_Staggered.h.

◆ vcp1_ym

double * Fopr_Staggered::vcp1_ym
private

Definition at line 57 of file fopr_Staggered.h.

◆ vcp1_yp

double* Fopr_Staggered::vcp1_yp
private

Definition at line 57 of file fopr_Staggered.h.

◆ vcp1_zm

double * Fopr_Staggered::vcp1_zm
private

Definition at line 58 of file fopr_Staggered.h.

◆ vcp1_zp

double* Fopr_Staggered::vcp1_zp
private

Definition at line 58 of file fopr_Staggered.h.

◆ vcp2_tm

double * Fopr_Staggered::vcp2_tm
private

Definition at line 59 of file fopr_Staggered.h.

◆ vcp2_tp

double * Fopr_Staggered::vcp2_tp
private

Definition at line 59 of file fopr_Staggered.h.

◆ vcp2_xm

double * Fopr_Staggered::vcp2_xm
private

Definition at line 56 of file fopr_Staggered.h.

◆ vcp2_xp

double * Fopr_Staggered::vcp2_xp
private

Definition at line 56 of file fopr_Staggered.h.

◆ vcp2_ym

double * Fopr_Staggered::vcp2_ym
private

Definition at line 57 of file fopr_Staggered.h.

◆ vcp2_yp

double * Fopr_Staggered::vcp2_yp
private

Definition at line 57 of file fopr_Staggered.h.

◆ vcp2_zm

double * Fopr_Staggered::vcp2_zm
private

Definition at line 58 of file fopr_Staggered.h.

◆ vcp2_zp

double * Fopr_Staggered::vcp2_zp
private

Definition at line 58 of file fopr_Staggered.h.


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