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

HMC action class for rectangular gauge action with the SF BC. More...

#include <action_G_Rectangle_SF.h>

Inheritance diagram for Action_G_Rectangle_SF:
Action

Public Member Functions

 Action_G_Rectangle_SF ()
 
 ~Action_G_Rectangle_SF ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double beta, const double c_plaq, const double c_rect, double *phi, double *phipr, const double ct, double ctr)
 
void set_label (const std::string label)
 
std::string get_label ()
 
void set_config (Field *U)
 setting pointer to the gauge configuration. More...
 
double langevin (RandomNumbers *)
 Langevis step. More...
 
double calcH ()
 
void force (Field &)
 
- Public Member Functions inherited from Action
 Action ()
 
virtual ~Action ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void force (Field &v, Field &U)
 

Static Public Attributes

static const std::string class_name = "Action_G_Rectangle_SF"
 

Private Attributes

int m_Nc
 
double m_beta
 
double m_c_plaq
 
double m_c_rect
 
std::string m_label
 
Field_Gm_U
 
Staple_SF m_staple
 
ShiftField_lex m_shift
 
Force_Gm_force_G
 
Mat_SU_N m_wk
 SF boundary condition. More...
 
Mat_SU_N m_wkpr
 
double m_ct
 SF boundary improvement coefficient for the plaquatte action. More...
 
double m_ctr
 SF boundary improvement coefficient for the rectangle action. More...
 

Additional Inherited Members

- Protected Attributes inherited from Action
Bridge::VerboseLevel m_vl
 

Detailed Description

HMC action class for rectangular gauge action with the SF BC.

Gauge action with plaquette and rectangular Wilson loops. Iwasaki, Luscher-Weisz, DBW2 are examples of this type of action.

SF boundary condition is intrduced accrdong to the following policy.

  • The total size of temporal links is Nt with the Dirichlet BC.
  • We need t=0, ..., Nt sites for Nt links.
  • The boundary spatial link at t=0 is dummy.
    • Calculation of the Hamiltonian and force is overridden to given the correct result without using the spatial link at t=0 stored in the Field_G object.
    • The spatial link at t=0 is updated by a randomly given conjugate momentum but is not used for the Hamiltoniand nor the force.
    • The corresponding force for the spatial conjugate momentum at t=0 is set to zero. This conjugate momentum is not updated at the boundary.
  • The boundary spatial sites at t=Nt does not exist in the Field_G object.
    • Calculation of the Hamiltonian and force is overridden to given the correct result using an approriate matrix for the spatial link at t=Nt.

The rectangle improved gauge action is given by

\[ S[U]= \frac{\beta}{N_c}\sum_{{\cal C}\in{\cal S}_0}W_0({\cal C}) {\rm Re}{\rm Tr}\left(-P({\cal C})\right) +\frac{\beta}{N_c}\sum_{{\cal C}\in{\cal S}_1}W_1({\cal C}) {\rm Re}{\rm Tr}\left(-R({\cal C})\right) \]

where ${\cal C}$ is an oriented plaquette or rectangle. One needs to choose the weight factors appropriately to achieve the O(a) improvement.

\[ W_0({\cal C}) = \left\{ \begin{array}{ll} c_0 c^P_{\rm{t}}(g^2_0) & \mbox{for } {\cal C} \in P_{\rm{t}} : \mbox{Set of temporal plaquettes that just touch} \\ & \mbox{\hspace{19mm} one of the boundaries, } \\ c_0 & \mbox{for } {\cal C} \in P_{\rm{other}} : \mbox{otherwise, } \end{array} \right. \]

\[ W_1({\cal C}) = \left\{ \begin{array}{ll} c_1 c^R_{\rm{t}}(g^2_0) & \mbox{for } {\cal C} \in R^2_{\rm{t}} : \mbox{Set of temporal rectangles that have exactly} \\ & \mbox{\hspace{19mm} two links on a boundary, } \\ c_1 & \mbox{for } {\cal C} \in R_{\rm{other}} : \mbox{otherwise, } \end{array} \right. \]

  • A major difference from Action_G_Rectangle class is to override a calculation of the Hamltonian and the force.
  • Boundary condition can be accessed with m_phi and m_phipr.
  • Boundary improvement factor is stored in m_ct, m_ctr.
  • [03 Feb. 2012 Y.Taniguchi]

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

Definition at line 103 of file action_G_Rectangle_SF.h.

Constructor & Destructor Documentation

Action_G_Rectangle_SF::Action_G_Rectangle_SF ( )
inline

Definition at line 132 of file action_G_Rectangle_SF.h.

Action_G_Rectangle_SF::~Action_G_Rectangle_SF ( )
inline

Definition at line 138 of file action_G_Rectangle_SF.h.

Member Function Documentation

double Action_G_Rectangle_SF::calcH ( )
virtual

The improved gauge action with rectangle term:

\[ S_G=-\frac{\beta}{N_c}\left(c_0\sum_p{\rm Re}{\rm Tr} U_p +c_1\sum_r{\rm Re}{\rm Tr} U_r\right) \]

  • one plaquette term is added.
  • Two rectangular terms are added:
                                   +---+
               +---+---+           |   |
               |       |           +   +
               x   <---+           |   |
                                   x   v
      
  • We use Wk, Wk' for the boundary spatial link.
  • Contributions from the boundary spatial plaquettes and rectangles are set to zero.
  • The temporal rectangle that cross the boundary is set to zero.
         +---+
         |   |
     t=0 +   +  --> 0
         |   |
         x   v
    
  • Tree level improvement factor ct, ctr is implemented.

          +---+       +---+---+
       ct |   |   ctr |       |
      t=0 x---+   t=0 x---+---+
          +---+       +---+---+
       ct |   |   ctr |       |
     Nt-1 x---+  Nt-1 x---+---+
    

Implements Action.

Definition at line 195 of file action_G_Rectangle_SF.cpp.

void Action_G_Rectangle_SF::force ( Field force)
virtual

The force for the rectangle improved gauge action with the SF boundary.

  • We use Wk, Wk' for the boundary spatial link.
  • The boundary improvement factor ct, ctr is implemented.
  • ctr is multiplied to the following temporal rectangle staple

           +---+---+        +---+---+
           |  ctr              ctr  |
       t=0 +---+---x        x---+---+
           x   <---+        +---x   ^
           |  ctr  |        |  ctr  |
       t=0 +---+---+        +---+---+
           +---+---+        +---+---+
           |  ctr              ctr  |
    t=Nt-1 +---+---x        x---+---+
           +---+---+        +---+---+
           |  ctr  |        |  ctr  |
    t=Nt-1 x   <---+        +---x   v
     
  • Force for the boundary spatial link is set to zero.

           +---+---+             +---+---+
           |       |  --> 0      |       |  --> 0
       t=0 x   <---+         t=0 +---x   v
       t=0 x   <---+         t=0 +---x   ^
           |       |  --> 0      |       |  --> 0
           +---+---+             +---+---+
     
    • We notice that the upper and lower staple accompanied with the boundary spatial link is set to zero by Staple_SF::upper() and Staple_SF::lower(). Corresponding contributions to the boundary spatial link are automaticaly zero.
  • Contribution from the non existing rectangle is automatically zero by Staple_SF::upper() and Staple_SF::lower().

           +---+        +---+
               |        |
       t=0 ^   +    t=0 +   ^  --> 0
           |   |        |   |
           +---+        +---+
           +---+        +---+
           |   |        |   |
      t=Nt +   +   t=Nt +   +  --> 0
               |        |
           <---+        +--->
     

Implements Action.

Definition at line 355 of file action_G_Rectangle_SF.cpp.

std::string Action_G_Rectangle_SF::get_label ( )
inline

Definition at line 155 of file action_G_Rectangle_SF.h.

double Action_G_Rectangle_SF::langevin ( RandomNumbers )
virtual

Langevis step.

Implements Action.

Definition at line 144 of file action_G_Rectangle_SF.cpp.

void Action_G_Rectangle_SF::set_config ( Field U)
inlinevirtual

setting pointer to the gauge configuration.

Implements Action.

Definition at line 160 of file action_G_Rectangle_SF.h.

void Action_G_Rectangle_SF::set_label ( const std::string  label)
inline

Definition at line 149 of file action_G_Rectangle_SF.h.

void Action_G_Rectangle_SF::set_parameters ( const Parameters params)
virtual

Implements Action.

Definition at line 25 of file action_G_Rectangle_SF.cpp.

void Action_G_Rectangle_SF::set_parameters ( const double  beta,
const double  c_plaq,
const double  c_rect,
double *  phi,
double *  phipr,
const double  ct,
double  ctr 
)

Set parameters for the improved gauge action with the SF boundary.

  • m_beta
  • m_c_plaq, m_c_rect: plaquette and rectangle factor.
    • Iwasaki action: c_plaq = 3.648, c_rect = -0.331
  • m_phi, m_phipr: boundary spatial link
  • m_ct: improvement factor for the boundary temporal plaquette.
  • m_ctr: improvement factor for the boundary temporal rectangle with two links attached to the boundary.

Definition at line 85 of file action_G_Rectangle_SF.cpp.

Member Data Documentation

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

Definition at line 106 of file action_G_Rectangle_SF.h.

double Action_G_Rectangle_SF::m_beta
private

Definition at line 111 of file action_G_Rectangle_SF.h.

double Action_G_Rectangle_SF::m_c_plaq
private

Definition at line 112 of file action_G_Rectangle_SF.h.

double Action_G_Rectangle_SF::m_c_rect
private

Definition at line 113 of file action_G_Rectangle_SF.h.

double Action_G_Rectangle_SF::m_ct
private

SF boundary improvement coefficient for the plaquatte action.

Definition at line 127 of file action_G_Rectangle_SF.h.

double Action_G_Rectangle_SF::m_ctr
private

SF boundary improvement coefficient for the rectangle action.

Definition at line 129 of file action_G_Rectangle_SF.h.

Force_G* Action_G_Rectangle_SF::m_force_G
private

Definition at line 120 of file action_G_Rectangle_SF.h.

std::string Action_G_Rectangle_SF::m_label
private

Definition at line 115 of file action_G_Rectangle_SF.h.

int Action_G_Rectangle_SF::m_Nc
private

Definition at line 109 of file action_G_Rectangle_SF.h.

ShiftField_lex Action_G_Rectangle_SF::m_shift
private

Definition at line 119 of file action_G_Rectangle_SF.h.

Staple_SF Action_G_Rectangle_SF::m_staple
private

Definition at line 118 of file action_G_Rectangle_SF.h.

Field_G* Action_G_Rectangle_SF::m_U
private

Definition at line 117 of file action_G_Rectangle_SF.h.

Mat_SU_N Action_G_Rectangle_SF::m_wk
private

SF boundary condition.

Definition at line 123 of file action_G_Rectangle_SF.h.

Mat_SU_N Action_G_Rectangle_SF::m_wkpr
private

Definition at line 123 of file action_G_Rectangle_SF.h.


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