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

HMC action class for plaquette gauge action with SF BC. More...

#include <action_G_Plaq_SF.h>

Inheritance diagram for Action_G_Plaq_SF:
Action

Public Member Functions

 Action_G_Plaq_SF ()
 
 ~Action_G_Plaq_SF ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double beta, double *phi, double *phipr, const double ct)
 
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_Plaq_SF"
 

Private Attributes

double m_beta
 
double * m_phi
 SF boundary condition at t=0. More...
 
double * m_phipr
 SF boundary condition at t=Nt. More...
 
double m_ct
 SF boundary improvement coefficient for the plaquatte action. More...
 
std::string m_label
 
Field_Gm_U
 
Staple_SF m_staple
 
Force_Gm_force_G
 

Additional Inherited Members

- Protected Attributes inherited from Action
Bridge::VerboseLevel m_vl
 

Detailed Description

HMC action class for plaquette gauge action with SF BC.

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 plaquette gauge action is given by

\[ S_g[U]=\frac{\beta}{N_c}\sum_{x}\sum_{\mu<\nu}\omega_{\mu\nu}(x) {\rm Re}{\rm Tr}\left(-U_{\mu\nu}(x)\right) \]

$\omega_{0i}(t=0)=\omega_{0i}(t=T)=c_t$, $\omega_{\mu\nu}(n)=1$: otherwise.

  • A major difference from Action_G_Plaq class is a use of Staple_SF instead of Staple.
    • For correct Hamltonian with SF BC.
    • For correct force with SF BC.
  • Boundary condition can be accessed with m_phi and m_phipr.
  • Boundary improvement factor is stored in m_ct.
  • [25 Jan. 2012 Y.Taniguchi]

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

Definition at line 63 of file action_G_Plaq_SF.h.

Constructor & Destructor Documentation

Action_G_Plaq_SF::Action_G_Plaq_SF ( )
inline

Definition at line 85 of file action_G_Plaq_SF.h.

Action_G_Plaq_SF::~Action_G_Plaq_SF ( )
inline

Definition at line 91 of file action_G_Plaq_SF.h.

Member Function Documentation

double Action_G_Plaq_SF::calcH ( )
virtual
  • The Wilson's plaquette gauge action:

    \[ S_G=-\frac{\beta}{N_c}\sum_p{\rm Re}{\rm Tr} U_p \]

  • Calculate plaquette using Staple_SF.plaquette() function.
  • plaquette is NOT normalized to unity in Staple_SF since we have SF boundary and non-active spatial plaquette at the boundary.
  • The boundary improvement factor ct is implemented.
    • It is available by using plaquette_ct() for the plaquette sum.

Implements Action.

Definition at line 124 of file action_G_Plaq_SF.cpp.

void Action_G_Plaq_SF::force ( Field force)
virtual

The force for the Wilson plaquette action with the SF boundary.

  • The boundary improvement factor ct is implemented.
    • It is available by using m_staple.staple_ct for the staple.
  • Force for the boundary spatial link is set to zero.

Implements Action.

Definition at line 150 of file action_G_Plaq_SF.cpp.

std::string Action_G_Plaq_SF::get_label ( )
inline

Definition at line 107 of file action_G_Plaq_SF.h.

double Action_G_Plaq_SF::langevin ( RandomNumbers )
virtual

Langevis step.

Implements Action.

Definition at line 100 of file action_G_Plaq_SF.cpp.

void Action_G_Plaq_SF::set_config ( Field U)
inlinevirtual

setting pointer to the gauge configuration.

Implements Action.

Definition at line 112 of file action_G_Plaq_SF.h.

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

Definition at line 101 of file action_G_Plaq_SF.h.

void Action_G_Plaq_SF::set_parameters ( const Parameters params)
virtual

Implements Action.

Definition at line 25 of file action_G_Plaq_SF.cpp.

void Action_G_Plaq_SF::set_parameters ( const double  beta,
double *  phi,
double *  phipr,
const double  ct 
)

Set parameters for the Wilson plaquette action with the SF boundary.

  • m_beta
  • m_phi, m_phipr: boundary spatial link
  • m_ct: improvement factor for the boundary temporal plaquette.

Definition at line 69 of file action_G_Plaq_SF.cpp.

Member Data Documentation

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

Definition at line 66 of file action_G_Plaq_SF.h.

double Action_G_Plaq_SF::m_beta
private

Definition at line 69 of file action_G_Plaq_SF.h.

double Action_G_Plaq_SF::m_ct
private

SF boundary improvement coefficient for the plaquatte action.

Definition at line 76 of file action_G_Plaq_SF.h.

Force_G* Action_G_Plaq_SF::m_force_G
private

Definition at line 82 of file action_G_Plaq_SF.h.

std::string Action_G_Plaq_SF::m_label
private

Definition at line 78 of file action_G_Plaq_SF.h.

double* Action_G_Plaq_SF::m_phi
private

SF boundary condition at t=0.

Definition at line 72 of file action_G_Plaq_SF.h.

double* Action_G_Plaq_SF::m_phipr
private

SF boundary condition at t=Nt.

Definition at line 74 of file action_G_Plaq_SF.h.

Staple_SF Action_G_Plaq_SF::m_staple
private

Definition at line 81 of file action_G_Plaq_SF.h.

Field_G* Action_G_Plaq_SF::m_U
private

Definition at line 80 of file action_G_Plaq_SF.h.


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