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

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

#include <force_G_Rectangle_SF.h>

Inheritance diagram for Force_G_Rectangle_SF:
Force_G

Public Member Functions

 Force_G_Rectangle_SF ()
 
 ~Force_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, const double ctr)
 
void force_core (Field &)
 
- Public Member Functions inherited from Force_G
 Force_G ()
 
virtual ~Force_G ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
void set_config (Field *U)
 
void set_config (Field_G *U)
 
virtual void force_core (Field &v, Field *U)
 
virtual void force_core (Field &v, Field_G *U)
 

Static Public Attributes

static const std::string class_name = "Force_G_Rectangle_SF"
 

Private Attributes

int m_Nc
 
double m_beta
 
double m_c_plaq
 
double m_c_rect
 
std::string m_label
 
Staple_SF m_staple
 
ShiftField_lex m_shift
 
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 Force_G
Field_Gm_U
 
Bridge::VerboseLevel m_vl
 

Detailed Description

HMC force 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 force_G_Rectangle_SF.h.

Constructor & Destructor Documentation

Force_G_Rectangle_SF::Force_G_Rectangle_SF ( )
inline

Definition at line 133 of file force_G_Rectangle_SF.h.

Force_G_Rectangle_SF::~Force_G_Rectangle_SF ( )
inline

Definition at line 138 of file force_G_Rectangle_SF.h.

Member Function Documentation

void Force_G_Rectangle_SF::force_core ( 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 Force_G.

Definition at line 197 of file force_G_Rectangle_SF.cpp.

void Force_G_Rectangle_SF::set_parameters ( const Parameters params)
virtual

Implements Force_G.

Definition at line 25 of file force_G_Rectangle_SF.cpp.

void Force_G_Rectangle_SF::set_parameters ( const double  beta,
const double  c_plaq,
const double  c_rect,
double *  phi,
double *  phipr,
const double  ct,
const 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 82 of file force_G_Rectangle_SF.cpp.

Member Data Documentation

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

Definition at line 106 of file force_G_Rectangle_SF.h.

double Force_G_Rectangle_SF::m_beta
private

Definition at line 114 of file force_G_Rectangle_SF.h.

double Force_G_Rectangle_SF::m_c_plaq
private

Definition at line 115 of file force_G_Rectangle_SF.h.

double Force_G_Rectangle_SF::m_c_rect
private

Definition at line 116 of file force_G_Rectangle_SF.h.

double Force_G_Rectangle_SF::m_ct
private

SF boundary improvement coefficient for the plaquatte action.

Definition at line 128 of file force_G_Rectangle_SF.h.

double Force_G_Rectangle_SF::m_ctr
private

SF boundary improvement coefficient for the rectangle action.

Definition at line 130 of file force_G_Rectangle_SF.h.

std::string Force_G_Rectangle_SF::m_label
private

Definition at line 118 of file force_G_Rectangle_SF.h.

int Force_G_Rectangle_SF::m_Nc
private

Definition at line 112 of file force_G_Rectangle_SF.h.

ShiftField_lex Force_G_Rectangle_SF::m_shift
private

Definition at line 121 of file force_G_Rectangle_SF.h.

Staple_SF Force_G_Rectangle_SF::m_staple
private

Definition at line 120 of file force_G_Rectangle_SF.h.

Mat_SU_N Force_G_Rectangle_SF::m_wk
private

SF boundary condition.

Definition at line 124 of file force_G_Rectangle_SF.h.

Mat_SU_N Force_G_Rectangle_SF::m_wkpr
private

Definition at line 124 of file force_G_Rectangle_SF.h.


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