Bridge++  Ver. 1.2.x
 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 (double beta, double *phi, double *phipr, double ct)
 
void set_label (std::string label)
 
std::string get_label ()
 
void set_config (Field *U)
 setting pointer to the gauge configuration. More...
 
void notify_linkv ()
 to be called when gauge configuration is updated. More...
 
double langevin (RandomNumbers *)
 Langevis step. More...
 
double calcH ()
 
const Field force ()
 
void print_force (const Field_G *)
 Print out the gauge force for the boundary spatial links (for debugging). More...
 
- Public Member Functions inherited from Action
 Action ()
 
virtual ~Action ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 

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 m_force
 
Field_Gm_U
 
int m_status_linkv
 
Staples_SF m_staple
 
RandomNumbersm_rand
 

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 Staples_SF instead of Staples.
    • 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 70 of file action_G_Plaq_SF.h.

Constructor & Destructor Documentation

Action_G_Plaq_SF::Action_G_Plaq_SF ( )
inline

Definition at line 95 of file action_G_Plaq_SF.h.

Action_G_Plaq_SF::~Action_G_Plaq_SF ( )
inline

Definition at line 98 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 Staples_SF.plaquette() function.
  • plaquette is NOT normalized to unity in Staples_SF since we have SF boundary and non-active spatial plaquette at the boundary.
  • The boundary improvement factor ct is implemented.
    • It is avairable by using plaquette_ct() for the plaquette sum.

Implements Action.

Definition at line 156 of file action_G_Plaq_SF.cpp.

const Field Action_G_Plaq_SF::force ( )
virtual

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

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

Implements Action.

Definition at line 184 of file action_G_Plaq_SF.cpp.

std::string Action_G_Plaq_SF::get_label ( )
inline

Definition at line 109 of file action_G_Plaq_SF.h.

double Action_G_Plaq_SF::langevin ( RandomNumbers )
virtual

Langevis step.

Implements Action.

Definition at line 130 of file action_G_Plaq_SF.cpp.

void Action_G_Plaq_SF::notify_linkv ( )
inlinevirtual

to be called when gauge configuration is updated.

Implements Action.

Definition at line 119 of file action_G_Plaq_SF.h.

void Action_G_Plaq_SF::print_force ( const Field_G U)

Print out the gauge force for the boundary spatial links (for debugging).

  • The result is (x,y,z,t,mu,color,real part,imaginary part)

Definition at line 234 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 114 of file action_G_Plaq_SF.h.

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

Definition at line 103 of file action_G_Plaq_SF.h.

void Action_G_Plaq_SF::set_parameters ( const Parameters params)
virtual

Implements Action.

Definition at line 50 of file action_G_Plaq_SF.cpp.

void Action_G_Plaq_SF::set_parameters ( double  beta,
double *  phi,
double *  phipr,
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 91 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 73 of file action_G_Plaq_SF.h.

double Action_G_Plaq_SF::m_beta
private

Definition at line 76 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 83 of file action_G_Plaq_SF.h.

Field Action_G_Plaq_SF::m_force
private

Definition at line 86 of file action_G_Plaq_SF.h.

std::string Action_G_Plaq_SF::m_label
private

Definition at line 85 of file action_G_Plaq_SF.h.

double* Action_G_Plaq_SF::m_phi
private

SF boundary condition at t=0.

Definition at line 79 of file action_G_Plaq_SF.h.

double* Action_G_Plaq_SF::m_phipr
private

SF boundary condition at t=Nt.

Definition at line 81 of file action_G_Plaq_SF.h.

RandomNumbers* Action_G_Plaq_SF::m_rand
private

Definition at line 92 of file action_G_Plaq_SF.h.

Staples_SF Action_G_Plaq_SF::m_staple
private

Definition at line 90 of file action_G_Plaq_SF.h.

int Action_G_Plaq_SF::m_status_linkv
private

Definition at line 89 of file action_G_Plaq_SF.h.

Field_G* Action_G_Plaq_SF::m_U
private

Definition at line 88 of file action_G_Plaq_SF.h.


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