Bridge++  Ver. 2.0.2
ForceSmear_APE_SF Class Reference

Recursive calculation for APE smeared fermion force. More...

#include <forceSmear_APE_SF.h>

Inheritance diagram for ForceSmear_APE_SF:
ForceSmear

Public Member Functions

 ForceSmear_APE_SF (Projection *proj)
 
 ForceSmear_APE_SF (Projection *proj, const Parameters &params)
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double rho1, const std::vector< double > &phi, const std::vector< double > &phipr)
 
void set_parameters (const std::vector< double > &rho, const std::vector< double > &phi, const std::vector< double > &phipr)
 
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 ForceSmear
 ForceSmear ()
 
virtual ~ForceSmear ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 

Static Public Attributes

static const std::string class_name = "ForceSmear_APE_SF"
 

Private Member Functions

void init ()
 
double rho (const int mu, const int nu)
 
void force_each (Field_G &, const Field_G &, const Field_G &, const Field_G &, const Field_G &, const int mu, const int nu)
 
void staple (Field_G &, const Field_G &, const Field_G &, const int mu, const int nu)
 

Private Attributes

Bridge::VerboseLevel m_vl
 
int m_Ndim
 
int m_Nvol
 
std::vector< double > m_rho
 
Projectionm_proj
 
ShiftField_lex m_shift
 
std::vector< Field_Gm_U
 
std::vector< Field_Gm_iTheta
 
std::vector< double > m_phi
 SF boundary condition at t=0. More...
 
std::vector< double > m_phipr
 SF boundary condition at t=Nt. More...
 
Mat_SU_N m_wk
 SF boundary condition at t=0. More...
 
Mat_SU_N m_wkpr
 SF boundary condition at t=Nt. More...
 

Additional Inherited Members

- Protected Attributes inherited from ForceSmear
Bridge::VerboseLevel m_vl
 

Detailed Description

Recursive calculation for APE smeared fermion force.

                        [08 Apr 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]

Definition at line 39 of file forceSmear_APE_SF.h.

Constructor & Destructor Documentation

◆ ForceSmear_APE_SF() [1/2]

ForceSmear_APE_SF::ForceSmear_APE_SF ( Projection proj)
inline

Definition at line 65 of file forceSmear_APE_SF.h.

◆ ForceSmear_APE_SF() [2/2]

ForceSmear_APE_SF::ForceSmear_APE_SF ( Projection proj,
const Parameters params 
)
inline

Definition at line 72 of file forceSmear_APE_SF.h.

Member Function Documentation

◆ force_each()

void ForceSmear_APE_SF::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
  • Each block evaluates:
  • The 1st block: $-U_\nu(x+\mu)U_\mu^\dagger(x+\nu)U_\nu^\dagger(x)\Lambda_\nu(x)$
  • The 2nd block: $-U_\nu^\dagger(x+\mu-\nu)U_\mu^\dagger(x-\nu)\Lambda_\mu(x-\nu)U_\nu(x-\nu)$
  • The 3rd block: $U_\nu^\dagger(x+\mu-\nu)U_\mu^\dagger(x-\nu)\Lambda_\nu(x-\nu)U_\nu(x-\nu)$
  • The 4th block: $\Lambda_\nu(x+\mu)U_\nu(x+\mu)U_\mu^\dagger(x+\nu)U_\nu^\dagger(x)$
  • The 5th block: $-U_\nu^\dagger(x+\mu-\nu)\Lambda_\mu(x+\mu-\nu)U_\mu^\dagger(x-\nu)U_\nu(x-\nu)$
  • The 6th block: $-U_\nu(x+\mu)U_\mu^\dagger(x+\nu)\Lambda_\mu(x+\nu)U_\nu^\dagger(x)$

Definition at line 307 of file forceSmear_APE_SF.cpp.

◆ force_udiv()

void ForceSmear_APE_SF::force_udiv ( Field_G Sigma,
const Field_G Sigmap,
const Field_G U 
)
virtual
  • See the implementation note "note_cloverHMC.pdf" (21 Mar 2012) by H.Matsufuru.
  • Sigmap $=\Sigma_\mu'(x)$ in eq.(93) in terms of (k)-th smearing.
  • U $=U_\mu(x)$ in (k-1)-th smearing.
  • Xi is used as $\Sigma_\mu'(x)\exp(iQ_\mu(x))+C_\mu^\dagger i\Lambda_\mu(x)$.
  • m_iTheta[mu] is $i\Lambda_\mu(x)U_\mu(x)$.
  • The pre-force field Sigma $=\Sigma_\mu(x)$ is set to zero for the boundary spatial link.
  • [Y.Taniguchi 2012.04.16]

Reimplemented from ForceSmear.

Definition at line 240 of file forceSmear_APE_SF.cpp.

◆ get_parameters()

void ForceSmear_APE_SF::get_parameters ( Parameters params) const
virtual

Implements ForceSmear.

Definition at line 53 of file forceSmear_APE_SF.cpp.

◆ init()

void ForceSmear_APE_SF::init ( )
private

Definition at line 197 of file forceSmear_APE_SF.cpp.

◆ rho()

double ForceSmear_APE_SF::rho ( const int  mu,
const int  nu 
)
inlineprivate

Definition at line 103 of file forceSmear_APE_SF.h.

◆ set_parameters() [1/3]

void ForceSmear_APE_SF::set_parameters ( const double  rho1,
const std::vector< double > &  phi,
const std::vector< double > &  phipr 
)

Definition at line 64 of file forceSmear_APE_SF.cpp.

◆ set_parameters() [2/3]

void ForceSmear_APE_SF::set_parameters ( const Parameters params)
virtual

Implements ForceSmear.

Definition at line 25 of file forceSmear_APE_SF.cpp.

◆ set_parameters() [3/3]

void ForceSmear_APE_SF::set_parameters ( const std::vector< double > &  rho,
const std::vector< double > &  phi,
const std::vector< double > &  phipr 
)

Definition at line 129 of file forceSmear_APE_SF.cpp.

◆ staple()

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

Definition at line 363 of file forceSmear_APE_SF.cpp.

Member Data Documentation

◆ class_name

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

Definition at line 42 of file forceSmear_APE_SF.h.

◆ m_iTheta

std::vector<Field_G> ForceSmear_APE_SF::m_iTheta
private

Definition at line 52 of file forceSmear_APE_SF.h.

◆ m_Ndim

int ForceSmear_APE_SF::m_Ndim
private

Definition at line 47 of file forceSmear_APE_SF.h.

◆ m_Nvol

int ForceSmear_APE_SF::m_Nvol
private

Definition at line 47 of file forceSmear_APE_SF.h.

◆ m_phi

std::vector<double> ForceSmear_APE_SF::m_phi
private

SF boundary condition at t=0.

Definition at line 55 of file forceSmear_APE_SF.h.

◆ m_phipr

std::vector<double> ForceSmear_APE_SF::m_phipr
private

SF boundary condition at t=Nt.

Definition at line 57 of file forceSmear_APE_SF.h.

◆ m_proj

Projection* ForceSmear_APE_SF::m_proj
private

Definition at line 49 of file forceSmear_APE_SF.h.

◆ m_rho

std::vector<double> ForceSmear_APE_SF::m_rho
private

Definition at line 48 of file forceSmear_APE_SF.h.

◆ m_shift

ShiftField_lex ForceSmear_APE_SF::m_shift
private

Definition at line 50 of file forceSmear_APE_SF.h.

◆ m_U

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

Definition at line 51 of file forceSmear_APE_SF.h.

◆ m_vl

Bridge::VerboseLevel ForceSmear_APE_SF::m_vl
private

Definition at line 45 of file forceSmear_APE_SF.h.

◆ m_wk

Mat_SU_N ForceSmear_APE_SF::m_wk
private

SF boundary condition at t=0.

Definition at line 59 of file forceSmear_APE_SF.h.

◆ m_wkpr

Mat_SU_N ForceSmear_APE_SF::m_wkpr
private

SF boundary condition at t=Nt.

Definition at line 60 of file forceSmear_APE_SF.h.


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