Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Staple_SF Class Reference

Staple construction. More...

#include <staple_SF.h>

Public Member Functions

 Staple_SF ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double *phi, const double *phipr)
 
void set_parameters (const double *phi, const double *phipr, const double *pomega)
 
void set_parameters (const std::vector< double > &phi, const std::vector< double > &phipr, const std::vector< double > &p_omega)
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
void upper (Field_G_SF &, const Field_G &, const int, const int)
 
void lower (Field_G_SF &, const Field_G &, const int, const int)
 
double plaq_s (const Field_G &)
 
double plaq_t (const Field_G &)
 
double plaq_t_ct (const Field_G &, const double ct)
 
double plaquette (const Field_G &)
 
double plaquette_ct (const Field_G &, const double ct)
 
double sf_coupling_plaq (const Field_G &, const double ct)
 
double sf_coupling_rect (const Field_G &, const double ctr)
 
void staple (Field_G &, const Field_G &, const int)
 
void staple_ct (Field_G &, const Field_G &, const int, const double ct)
 
void print_plaquette (const Field_G &)
 

Static Public Attributes

static const std::string class_name = "Staple_SF"
 

Protected Attributes

Bridge::VerboseLevel m_vl
 

Private Member Functions

 Staple_SF (const Staple_SF &)
 
Staple_SFoperator= (const Staple_SF &)
 

Private Attributes

Index_lex m_index
 
ShiftField_lex m_shift
 
Mat_SU_N m_wk
 
Mat_SU_N m_wkpr
 
Mat_SU_N m_i_omega0
 
int m_initialized
 

Detailed Description

Staple construction.

Evaluate staple with SF BC.

  • The BC parameters phi, phipr are set into SU(3) matrix wk, wkpr for boundary spatial link variable.
  • [26 Jan. 2012 Y.Taniguchi]

(Coding history will be recovered from trac.) YAML is implemented. [14 Nov 2012 Y.Namekawa]

Definition at line 36 of file staple_SF.h.

Constructor & Destructor Documentation

Staple_SF::Staple_SF ( )
inline

Definition at line 52 of file staple_SF.h.

Staple_SF::Staple_SF ( const Staple_SF )
private

Member Function Documentation

void Staple_SF::lower ( Field_G_SF c,
const Field_G U,
const int  mu,
const int  nu 
)

Definition at line 921 of file staple_SF.cpp.

Staple_SF& Staple_SF::operator= ( const Staple_SF )
private
double Staple_SF::plaq_s ( const Field_G U)

Evaluate summed spatial ReTr plaquette with SF BC.

  • Plaquette is NOT normalized at all.
  • Contribution from the spatial plaquettes at t=0 and t=T are not included since they are always unity.
  • The function upper(U,mu=k,nu) is modified to give zero.

Definition at line 661 of file staple_SF.cpp.

double Staple_SF::plaq_t ( const Field_G U)

Evaluate summed temporal ReTr plaquette with SF BC.

  • Plaquette is NOT normalized at all.
  • The temporal plaquettes attached to t=0 and t=T boundary are evaluated with Wk and Wk'.
  • The function lower(U,3,nu) is modified to use Wk and Wk'.

Definition at line 699 of file staple_SF.cpp.

double Staple_SF::plaq_t_ct ( const Field_G U,
const double  ct 
)

Evaluate summed temporal ReTr plaquette with SF BC.

  • The temporal plaquette attached to the boundary is multiplied with ct.
         +---+
      ct |   |
     t=0 x---+
    
  • The temporal plaquettes attached to t=0 and t=T boundary are evaluated with Wk and Wk'.
  • The function lower(U,3,nu) is modified to use Wk and Wk'.
  • Plaquette is NOT normalized at all.

Definition at line 742 of file staple_SF.cpp.

double Staple_SF::plaquette ( const Field_G U)

Evaluate summed ReTr plaquette with SF BC.

  • Plaquette is NOT normalized at all.
  • Contribution from the spatial plaquettes at t=0 and t=T are not included since they are always unity.

Definition at line 615 of file staple_SF.cpp.

double Staple_SF::plaquette_ct ( const Field_G U,
const double  ct 
)

Evaluate summed ReTr plaquette with SF BC.

  • The temporal plaquette attached to the boundary is multiplied with the improvement factor ct.
         +---+
      ct |   |
     t=0 x---+
    
  • Plaquette is NOT normalized at all.
  • Contribution from the spatial plaquettes at t=0 and t=T are not included since they are always unity.

Definition at line 641 of file staple_SF.cpp.

void Staple_SF::print_plaquette ( const Field_G U)

Print out the plaquette for two definitions.

\[ \frac{1}{3}\frac{1}{6L_xL_yL_zL_t-3L_xL_yL_z}\sum_{p\notin{\rm boundary}}U_p \]

  • Contributions from the boundary spatial plaquettes is not included.
  • Normalized with the number of plaquettes Lx*Ly*Lz*(6Lt-3) and color factor 3.

\[ \frac{1}{3}\frac{1}{6L_xL_yL_zL_t}\sum_{p}U_p \]

  • Contributions from the boundary spatial plaquettes is included.
  • Normalized with the number of plaquettes 6*Lx*Ly*Lz*Lt and color factor 3.

Definition at line 974 of file staple_SF.cpp.

void Staple_SF::set_parameter_verboselevel ( const Bridge::VerboseLevel  vl)
inline

Definition at line 71 of file staple_SF.h.

void Staple_SF::set_parameters ( const Parameters params)

Definition at line 35 of file staple_SF.cpp.

void Staple_SF::set_parameters ( const double *  phi,
const double *  phipr 
)

Definition at line 87 of file staple_SF.cpp.

void Staple_SF::set_parameters ( const double *  phi,
const double *  phipr,
const double *  p_omega 
)

Set the SF BC for wk, wkpr and omega0.

\[ U_k(x)|_{t=0}=W_k(\vec{x})=\exp\left(a C_k\right),\quad C_k=\frac{i}{L}\pmatrix{\phi_1\cr&\phi_2\cr&&\phi_3\cr}, \]

\[ U_k(x)|_{t=T}=W_k'(\vec{x})=\exp\left(a C_k'\right),\quad C_k'=\frac{i}{L}\pmatrix{\phi'_1\cr&\phi'_2\cr&&\phi'_3\cr}, \]

omega0 is set to the input value

\[ \verb|omega0|=i\Omega_0 \]

Definition at line 141 of file staple_SF.cpp.

void Staple_SF::set_parameters ( const std::vector< double > &  phi,
const std::vector< double > &  phipr,
const std::vector< double > &  p_omega 
)

Definition at line 60 of file staple_SF.cpp.

double Staple_SF::sf_coupling_plaq ( const Field_G U,
const double  ct 
)

Evaluate boudary plaqutte VEV for the SF coupling. The SF running coupling is defined as

\[ \frac{k}{\overline{g}^2}= \left\langle\frac{\partial S_g}{\partial\eta}\right\rangle +\left\langle\frac{\partial S_f}{\partial\eta}\right\rangle \]

\[ k=12\left(\frac{L}{a}\right)^2 \left(\sin\theta+\sin\left(2\theta\right)\right), \quad \theta=\frac{1}{3}\pi\left(\frac{a^2}{TL}\right) \]

\[ \frac{\partial S_g}{\partial\eta}= -\frac{2}{g_0^2}\sum_{\vec{x}} c_t\sum_{k=1}^{3}\frac{a}{L}{\rm Re\ }{\rm tr}\Bigl( i\Omega_0W_k(\vec{x})U_0(\vec{x}+\hat{k},0)U_k^\dagger(\vec{x},1) U_0^\dagger(\vec{x},0) -i\Omega_0W_k'U_0^\dagger(\vec{x}+\hat{k},T-1)U_k^\dagger(\vec{x},T-1) U_0(\vec{x},T-1) \Bigr) \]

\[ \frac{\partial S_g}{\partial\eta}= -\frac{2}{g_0^2}\sum_{\vec{x}} c_t\sum_{k=1}^{3}\frac{a}{L}{\rm Re\ }{\rm tr}\Bigl( i\Omega_0\verb|upper|(3,k)(\vec{x},0)U_0^\dagger(\vec{x},0) -i\Omega_0\verb|upper|(3,k)(\vec{x},T-1)^\dagger U_0(\vec{x},T-1) \Bigr) \]

  • Evaluete the following quantity and print the result

    \[ -c_t\sum_{\vec{x}}\sum_{k=1}^{3}\frac{a}{L}{\rm Re\ }{\rm tr}\Bigl( i\Omega_0\verb|upper|(3,k)(\vec{x},0)U_0^\dagger(\vec{x},0) -i\Omega_0\verb|upper|(3,k)(\vec{x},T-1)^\dagger U_0(\vec{x},T-1) \Bigr) \]

  • Clover term contribution $\partial S_f/\partial\eta$ is not evaluated here.

Definition at line 222 of file staple_SF.cpp.

double Staple_SF::sf_coupling_rect ( const Field_G U,
const double  ctr 
)

Evaluate the temporal rectangle VEV at the boundary for the SF running coupling.

The SF running coupling is given by

\[ \frac{k}{\overline{g}^2}= \left\langle\frac{\partial S_g^{\rm plaq}}{\partial\eta}\right\rangle +\left\langle\frac{\partial S_g^{\rm rect}}{\partial\eta}\right\rangle +\left\langle\frac{\partial S_f}{\partial\eta}\right\rangle \]

\[ \frac{\partial S_g}{\partial\eta}= -\frac{2}{g_0^2}c_1\sum_{\vec{x}}\sum_{k=1}^{3} \frac{ia}{L}{\rm Re}{\rm Tr}\Bigl( c_t^R\left( \Omega S_{kk0}(\vec{x},0) +\Omega S_{0kk}(\vec{x},0)\right) +\Omega S_{00k}(\vec{x},0) \Bigr) \]

\[ +\frac{2}{g_0^2}c_1\sum_{\vec{x}}\sum_{k=1}^{3} \frac{ia}{L}{\rm Re}{\rm Tr}\Bigl( c_t^R\left( \Omega'S_{kk0}(\vec{x},T) +\Omega'S_{0kk}(\vec{x},T)\right) +\Omega'S_{00k}(\vec{x},T) \Bigr) \]

\[ S_{kk0}(\vec{x},0)=W_kW_kU_0(\vec{x}+2\hat{k},0) U_k^\dagger(\vec{x}+\hat{k},1)U_k^\dagger(\vec{x},1)U_0^\dagger(\vec{x},0) \]

\[ S_{0kk}(\vec{x},0)=W_kU_0(\vec{x}+\hat{k},0)U_k^\dagger(\vec{x},1) U_k^\dagger(\vec{x}-\hat{k},1)U_0^\dagger(\vec{x}-\hat{k},0)W_k \]

\[ S_{00k}(\vec{x},0)=W_kU_0(\vec{x}+\hat{k},0)U_0(\vec{x}+\hat{k},1) U_k^\dagger(\vec{x},2)U_0^\dagger(\vec{x},1)U_0^\dagger(\vec{x},0) \]

\[ S_{kk0}(\vec{x},T)=W_k'W_k'U_0^\dagger(\vec{x}+2\hat{k},T) U_k^\dagger(\vec{x}+\hat{k},T-1)U_k^\dagger(\vec{x},T-1)U_0(\vec{x},T-1) \]

\[ S_{0kk}(\vec{x},T)=W_k'U_0^\dagger(\vec{x}+\hat{k},T-1) U_k^\dagger(\vec{x},T-1)U_k^\dagger(\vec{x}-\hat{k},T-1) U_0(\vec{x}-\hat{k},T-1)W_k' \]

\[ S_{00k}(\vec{x},T)=W_k'U_0^\dagger(\vec{x}+\hat{k},T-1) U_0^\dagger(\vec{x}+\hat{k},T-2)U_k^\dagger(\vec{x},T-2)U_0(\vec{x},T-2) U_0(\vec{x},T-1) \]

In this function we evaluate

\[ -\sum_{\vec{x}}\sum_{k=1}^{3} \frac{ia}{L}{\rm Re}{\rm Tr}\Bigl( c_t^R\left( \Omega S_{kk0}(\vec{x},0) +\Omega S_{0kk}(\vec{x},0)\right) +\Omega S_{00k}(\vec{x},0) \Bigr) \]

\[ +\sum_{\vec{x}}\sum_{k=1}^{3} \frac{ia}{L}{\rm Re}{\rm Tr}\Bigl( c_t^R\left( \Omega'S_{kk0}(\vec{x},T) +\Omega'S_{0kk}(\vec{x},T)\right) +\Omega'S_{00k}(\vec{x},T) \Bigr) \]

The following quantities are also printed out.

  rect01         rect02
      <—<—+      <—<—+
      |       |      |       |
  t=0 x—>—+  t=0 +—x—+
  omega0               omega0
  rectt1         rectt2
  omega0              omega0
 t=Nt x—>—+ t=Nt +—x—+
      |       |      |       |
      +—<—+      <—<—+
  rect03      rectt3
              omega0
      +—+  t=Nt x—>
      |   |       |   |
      v   ^       ^   v
      |   |       |   |
  t=0 x—>       +—+
   omega0

Definition at line 407 of file staple_SF.cpp.

void Staple_SF::staple ( Field_G W,
const Field_G U,
const int  mu 
)

Evaluate staple for all the links in mu direction with SF BC.

   (1)  mu (2)
      +-->--+
   nu |     |
     i+     +
      +     +
   nu |     |
     i+-->--+
    (1)  mu (2)
  • We should notice that all the staple attached to the boundary spatial link is set to zero.
  • This staple at the boundary shall not be used since the corresponding force for the boundary spatial link is always set to zero.

Definition at line 797 of file staple_SF.cpp.

void Staple_SF::staple_ct ( Field_G W,
const Field_G U,
const int  mu,
const double  ct 
)

Evaluate staple for all the links in mu direction with SF BC and boundary improvement factor ct.

   (1)  mu (2)
      +-->--+
   nu |     |
     i+     +
      +     +
   nu |     |
     i+-->--+
    (1)  mu (2)
  • staple attached to spatial boundary link is set to zero.
  • contributions from the temporal plaquette attached to the boundary is multiplied with ct.

Definition at line 842 of file staple_SF.cpp.

void Staple_SF::upper ( Field_G_SF c,
const Field_G U,
const int  mu,
const int  nu 
)

Definition at line 886 of file staple_SF.cpp.

Member Data Documentation

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

Set the SF BC for wk and wkpr.

\[ U_k(x)|_{t=0}=W_k(\vec{x})=\exp\left(a C_k\right),\quad C_k=\frac{i}{L}\pmatrix{\phi_1\cr&\phi_2\cr&&\phi_3\cr}, \]

\[ U_k(x)|_{t=T}=W_k'(\vec{x})=\exp\left(a C_k'\right),\quad C_k'=\frac{i}{L}\pmatrix{\phi'_1\cr&\phi'_2\cr&&\phi'_3\cr}, \]

omega0 is set to the default value

\[ \verb|iomega0|=i\Omega_0=i\pmatrix{1\cr&-\frac{1}{2}\cr&&-\frac{1}{2}\cr} \]

Definition at line 39 of file staple_SF.h.

Mat_SU_N Staple_SF::m_i_omega0
private

Definition at line 48 of file staple_SF.h.

Index_lex Staple_SF::m_index
private

Definition at line 45 of file staple_SF.h.

int Staple_SF::m_initialized
private

Definition at line 49 of file staple_SF.h.

ShiftField_lex Staple_SF::m_shift
private

Definition at line 46 of file staple_SF.h.

Bridge::VerboseLevel Staple_SF::m_vl
protected

Definition at line 42 of file staple_SF.h.

Mat_SU_N Staple_SF::m_wk
private

Definition at line 48 of file staple_SF.h.

Mat_SU_N Staple_SF::m_wkpr
private

Definition at line 48 of file staple_SF.h.


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