Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 (unique_ptr< Projection > &proj)
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double rho1, double *phi, double *phipr)
 
void set_parameters (const std::vector< double > &rho, double *phi, double *phipr)
 
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

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
 
double m_phi [3]
 SF boundary condition at t=0. More...
 
double m_phipr [3]
 SF boundary condition at t=Nt. More...
 
Field_G_SF set_wk
 

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 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::ForceSmear_APE_SF ( Projection proj)
inline

Definition at line 60 of file forceSmear_APE_SF.h.

ForceSmear_APE_SF::ForceSmear_APE_SF ( unique_ptr< Projection > &  proj)
inline

Definition at line 66 of file forceSmear_APE_SF.h.

Member Function Documentation

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 237 of file forceSmear_APE_SF.cpp.

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 169 of file forceSmear_APE_SF.cpp.

void ForceSmear_APE_SF::init ( )
private

Definition at line 126 of file forceSmear_APE_SF.cpp.

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

Definition at line 88 of file forceSmear_APE_SF.h.

void ForceSmear_APE_SF::set_parameters ( const Parameters params)
virtual

Implements ForceSmear.

Definition at line 25 of file forceSmear_APE_SF.cpp.

void ForceSmear_APE_SF::set_parameters ( const double  rho1,
double *  phi,
double *  phipr 
)

Definition at line 51 of file forceSmear_APE_SF.cpp.

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

Definition at line 87 of file forceSmear_APE_SF.cpp.

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 293 of file forceSmear_APE_SF.cpp.

Member Data Documentation

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

Definition at line 42 of file forceSmear_APE_SF.h.

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

Definition at line 50 of file forceSmear_APE_SF.h.

int ForceSmear_APE_SF::m_Ndim
private

Definition at line 45 of file forceSmear_APE_SF.h.

int ForceSmear_APE_SF::m_Nvol
private

Definition at line 45 of file forceSmear_APE_SF.h.

double ForceSmear_APE_SF::m_phi[3]
private

SF boundary condition at t=0.

Definition at line 53 of file forceSmear_APE_SF.h.

double ForceSmear_APE_SF::m_phipr[3]
private

SF boundary condition at t=Nt.

Definition at line 55 of file forceSmear_APE_SF.h.

Projection* ForceSmear_APE_SF::m_proj
private

Definition at line 47 of file forceSmear_APE_SF.h.

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

Definition at line 46 of file forceSmear_APE_SF.h.

ShiftField_lex ForceSmear_APE_SF::m_shift
private

Definition at line 48 of file forceSmear_APE_SF.h.

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

Definition at line 49 of file forceSmear_APE_SF.h.

Field_G_SF ForceSmear_APE_SF::set_wk
private

Definition at line 57 of file forceSmear_APE_SF.h.


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