Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Parameters_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 Parameters_Action_G_Rectangle_SF:
Parameters

Public Member Functions

 Parameters_Action_G_Rectangle_SF ()
 
- Public Member Functions inherited from Parameters
 Parameters ()
 
virtual ~Parameters ()
 
void set_double (const string &key, const double value)
 
void set_int (const string &key, const int value)
 
void set_double_vector (const string &key, const std::valarray< double > &value)
 
void set_int_vector (const string &key, const std::valarray< int > &value)
 
void set_string (const string &key, const string &value)
 
void set_Parameters (const string &key, Parameters *const value)
 
void set_VerboseLevel (Bridge::VerboseLevel value)
 
double get_double (const string &key) const
 
int get_int (const string &key) const
 
std::valarray< double > get_double_vector (const string &key) const
 
std::valarray< int > get_int_vector (const string &key) const
 
string get_string (const string &key) const
 
Parametersget_Parameters (const string &key) const
 
Bridge::VerboseLevel get_VerboseLevel () const
 
int fetch_double (const string &key, double &val) const
 
int fetch_int (const string &key, int &val) const
 
int fetch_double_vector (const string &key, std::valarray< double > &val) const
 
int fetch_int_vector (const string &key, std::valarray< int > &val) const
 
int fetch_string (const string &key, string &val) const
 
int fetch_VerboseLevel (Bridge::VerboseLevel &val) const
 
void Register_double (const string &, const double)
 
void Register_int (const string &, const int)
 
void Register_double_vector (const string &, const std::valarray< double > &)
 
void Register_int_vector (const string &, const std::valarray< int > &)
 
void Register_string (const string &, const string &)
 
void Register_Parameters (const string &, Parameters *const)
 
bool find_double (const string &) const
 
bool find_int (const string &) const
 
bool find_double_vector (const string &) const
 
bool find_int_vector (const string &) const
 
bool find_string (const string &) const
 
bool find_Parameters (const string &) const
 
bool is_set (const string &) const
 

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 104 of file action_G_Rectangle_SF.h.

Constructor & Destructor Documentation

Parameters_Action_G_Rectangle_SF::Parameters_Action_G_Rectangle_SF ( )

Definition at line 53 of file action_G_Rectangle_SF.cpp.


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