Bridge++  Ver.2.1.3
ForceSmear_HYP Class Reference

Recursive calculation of HYP smeared fermion force. More...

#include <forceSmear_HYP.h>

Inheritance diagram for ForceSmear_HYP:
AForceSmear< AFIELD >

Public Member Functions

 ForceSmear_HYP (Projection *proj, const Parameters &params)
 
 ~ForceSmear_HYP ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double alpha1, const double alpha2, const double alpha3)
 
void get_parameters (Parameters &params) const
 
void force_udiv (Field_G &Sigma, const Field_G &Sigma_p, const Field_G &U)
 
- Public Member Functions inherited from AForceSmear< AFIELD >
 AForceSmear ()
 
virtual ~AForceSmear ()
 

Static Public Attributes

static const std::string class_name = "ForceSmear_HYP"
 

Private Member Functions

void init (const Parameters &params)
 
void tidyup ()
 
void force_step3 (Field_G &, const Field_G &)
 
void force_step2 (Field_G &)
 
void force_step1 (Field_G &)
 
void force_each (Field_G &, const Field_G &, const Field_G &, const Field_G &, const Field_G &, const int mu, const int nu)
 
void smear_step1 ()
 
void smear_step2 ()
 
void staple (Field_G &, const Field_G &, const Field_G &, const int mu, const int nu)
 
int idx1 (const int mu, const int nu, const int rho)
 
int idx1b (const int mu, int nu, int rho)
 
int idx2 (const int mu, int nu)
 
int size1 ()
 
int size1b ()
 
int size2 ()
 

Private Attributes

int m_Ndim
 spacetime dimension More...
 
int m_Nvol
 spacetime volume More...
 
double m_alpha1
 HYP smearing parameter (level-1) More...
 
double m_alpha2
 HYP smearing parameter (level-2) More...
 
double m_alpha3
 HYP smearing parameter (level-3) More...
 
Bridge::VerboseLevel m_vl
 
Projection * m_proj
 
ShiftField_lex * m_shift
 
std::vector< Field_G > m_U
 
std::vector< Field_G > m_v1
 
std::vector< Field_G > m_v2
 
std::vector< Field_G > m_Sigma3
 
std::vector< Field_G > m_Sigma2
 
std::vector< Field_G > m_iTheta3
 
std::vector< Field_G > m_iTheta2
 
std::vector< Field_G > m_iTheta1
 
Field_G * m_vt1
 
Field_G * m_vt2
 
Field_G * m_vt3
 
Field_G * m_ct1
 
Field_G * m_ct2
 
Field_G * m_ct3
 

Detailed Description

Recursive calculation of HYP smeared fermion force.

                        [20 Mar 2012 H.Matsufuru]

(Coding history will be recovered from trac.) YAML is implemented. [14 Nov 2012 Y.Namekawa] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa] Multi-threading applied. [10 Jan 2026 H.Matsufuru]

Definition at line 29 of file forceSmear_HYP.h.

Constructor & Destructor Documentation

◆ ForceSmear_HYP()

ForceSmear_HYP::ForceSmear_HYP ( Projection *  proj,
const Parameters &  params 
)
inline

Definition at line 60 of file forceSmear_HYP.h.

◆ ~ForceSmear_HYP()

ForceSmear_HYP::~ForceSmear_HYP ( )
inline

Definition at line 64 of file forceSmear_HYP.h.

Member Function Documentation

◆ force_each()

void ForceSmear_HYP::force_each ( Field_G &  Sigma_mu,
const Field_G &  V_mu,
const Field_G &  V_nu,
const Field_G &  iTheta_mu,
const Field_G &  iTheta_nu,
const int  mu,
const int  nu 
)
private

Definition at line 320 of file forceSmear_HYP.cpp.

◆ force_step1()

void ForceSmear_HYP::force_step1 ( Field_G &  Sigma)
private

Definition at line 272 of file forceSmear_HYP.cpp.

◆ force_step2()

void ForceSmear_HYP::force_step2 ( Field_G &  Sigma)
private

Definition at line 224 of file forceSmear_HYP.cpp.

◆ force_step3()

void ForceSmear_HYP::force_step3 ( Field_G &  Sigma,
const Field_G &  Sigmap 
)
private

Definition at line 181 of file forceSmear_HYP.cpp.

◆ force_udiv()

void ForceSmear_HYP::force_udiv ( Field_G &  Sigma,
const Field_G &  Sigma_p,
const Field_G &  U 
)
virtual

Reimplemented from AForceSmear< AFIELD >.

Definition at line 143 of file forceSmear_HYP.cpp.

◆ get_parameters()

void ForceSmear_HYP::get_parameters ( Parameters &  params) const
virtual

Implements AForceSmear< AFIELD >.

Definition at line 132 of file forceSmear_HYP.cpp.

◆ idx1()

int ForceSmear_HYP::idx1 ( const int  mu,
const int  nu,
const int  rho 
)
inlineprivate

Definition at line 96 of file forceSmear_HYP.h.

◆ idx1b()

int ForceSmear_HYP::idx1b ( const int  mu,
int  nu,
int  rho 
)
inlineprivate

Definition at line 104 of file forceSmear_HYP.h.

◆ idx2()

int ForceSmear_HYP::idx2 ( const int  mu,
int  nu 
)
inlineprivate

Definition at line 112 of file forceSmear_HYP.h.

◆ init()

void ForceSmear_HYP::init ( const Parameters &  params)
private

Definition at line 22 of file forceSmear_HYP.cpp.

◆ set_parameters() [1/2]

void ForceSmear_HYP::set_parameters ( const double  alpha1,
const double  alpha2,
const double  alpha3 
)

Definition at line 109 of file forceSmear_HYP.cpp.

◆ set_parameters() [2/2]

void ForceSmear_HYP::set_parameters ( const Parameters &  params)
virtual

Implements AForceSmear< AFIELD >.

Definition at line 83 of file forceSmear_HYP.cpp.

◆ size1()

int ForceSmear_HYP::size1 ( )
inlineprivate

Definition at line 118 of file forceSmear_HYP.h.

◆ size1b()

int ForceSmear_HYP::size1b ( )
inlineprivate

Definition at line 120 of file forceSmear_HYP.h.

◆ size2()

int ForceSmear_HYP::size2 ( )
inlineprivate

Definition at line 122 of file forceSmear_HYP.h.

◆ smear_step1()

void ForceSmear_HYP::smear_step1 ( )
private

Definition at line 378 of file forceSmear_HYP.cpp.

◆ smear_step2()

void ForceSmear_HYP::smear_step2 ( )
private

Definition at line 401 of file forceSmear_HYP.cpp.

◆ staple()

void ForceSmear_HYP::staple ( Field_G &  c,
const Field_G &  u_mu,
const Field_G &  u_nu,
const int  mu,
const int  nu 
)
private

Definition at line 427 of file forceSmear_HYP.cpp.

◆ tidyup()

void ForceSmear_HYP::tidyup ( )
private

Definition at line 70 of file forceSmear_HYP.cpp.

Member Data Documentation

◆ class_name

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

Definition at line 32 of file forceSmear_HYP.h.

◆ m_alpha1

double ForceSmear_HYP::m_alpha1
private

HYP smearing parameter (level-1)

Definition at line 37 of file forceSmear_HYP.h.

◆ m_alpha2

double ForceSmear_HYP::m_alpha2
private

HYP smearing parameter (level-2)

Definition at line 38 of file forceSmear_HYP.h.

◆ m_alpha3

double ForceSmear_HYP::m_alpha3
private

HYP smearing parameter (level-3)

Definition at line 39 of file forceSmear_HYP.h.

◆ m_ct1

Field_G* ForceSmear_HYP::m_ct1
private

Definition at line 54 of file forceSmear_HYP.h.

◆ m_ct2

Field_G* ForceSmear_HYP::m_ct2
private

Definition at line 55 of file forceSmear_HYP.h.

◆ m_ct3

Field_G* ForceSmear_HYP::m_ct3
private

Definition at line 56 of file forceSmear_HYP.h.

◆ m_iTheta1

std::vector<Field_G> ForceSmear_HYP::m_iTheta1
private

Definition at line 49 of file forceSmear_HYP.h.

◆ m_iTheta2

std::vector<Field_G> ForceSmear_HYP::m_iTheta2
private

Definition at line 49 of file forceSmear_HYP.h.

◆ m_iTheta3

std::vector<Field_G> ForceSmear_HYP::m_iTheta3
private

Definition at line 49 of file forceSmear_HYP.h.

◆ m_Ndim

int ForceSmear_HYP::m_Ndim
private

spacetime dimension

Definition at line 35 of file forceSmear_HYP.h.

◆ m_Nvol

int ForceSmear_HYP::m_Nvol
private

spacetime volume

Definition at line 36 of file forceSmear_HYP.h.

◆ m_proj

Projection* ForceSmear_HYP::m_proj
private

Definition at line 42 of file forceSmear_HYP.h.

◆ m_shift

ShiftField_lex* ForceSmear_HYP::m_shift
private

Definition at line 44 of file forceSmear_HYP.h.

◆ m_Sigma2

std::vector<Field_G> ForceSmear_HYP::m_Sigma2
private

Definition at line 48 of file forceSmear_HYP.h.

◆ m_Sigma3

std::vector<Field_G> ForceSmear_HYP::m_Sigma3
private

Definition at line 48 of file forceSmear_HYP.h.

◆ m_U

std::vector<Field_G> ForceSmear_HYP::m_U
private

Definition at line 46 of file forceSmear_HYP.h.

◆ m_v1

std::vector<Field_G> ForceSmear_HYP::m_v1
private

Definition at line 47 of file forceSmear_HYP.h.

◆ m_v2

std::vector<Field_G> ForceSmear_HYP::m_v2
private

Definition at line 47 of file forceSmear_HYP.h.

◆ m_vl

Bridge::VerboseLevel ForceSmear_HYP::m_vl
private

Definition at line 40 of file forceSmear_HYP.h.

◆ m_vt1

Field_G* ForceSmear_HYP::m_vt1
private

Definition at line 51 of file forceSmear_HYP.h.

◆ m_vt2

Field_G* ForceSmear_HYP::m_vt2
private

Definition at line 52 of file forceSmear_HYP.h.

◆ m_vt3

Field_G* ForceSmear_HYP::m_vt3
private

Definition at line 53 of file forceSmear_HYP.h.


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