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

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

#include <force_G_Plaq_SF.h>

Inheritance diagram for Force_G_Plaq_SF:
Force_G

Public Member Functions

 Force_G_Plaq_SF ()
 
 ~Force_G_Plaq_SF ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const double beta, double *phi, double *phipr, const double ct)
 
void force_core (Field &)
 
void print_force (const Field_G *)
 Print out the gauge force for the boundary spatial links (for debugging). More...
 
- 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_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 force. More...
 
Staple_SF m_staple
 

Additional Inherited Members

- Protected Attributes inherited from Force_G
Field_Gm_U
 
Bridge::VerboseLevel m_vl
 

Detailed Description

HMC force class for plaquette gauge force 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 force 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 Force_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 64 of file force_G_Plaq_SF.h.

Constructor & Destructor Documentation

Force_G_Plaq_SF::Force_G_Plaq_SF ( )
inline

Definition at line 85 of file force_G_Plaq_SF.h.

Force_G_Plaq_SF::~Force_G_Plaq_SF ( )
inline

Definition at line 88 of file force_G_Plaq_SF.h.

Member Function Documentation

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

Definition at line 108 of file force_G_Plaq_SF.cpp.

void Force_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 148 of file force_G_Plaq_SF.cpp.

void Force_G_Plaq_SF::set_parameters ( const Parameters params)
virtual

Implements Force_G.

Definition at line 25 of file force_G_Plaq_SF.cpp.

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

Set parameters for the Wilson plaquette force 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 66 of file force_G_Plaq_SF.cpp.

Member Data Documentation

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

Definition at line 67 of file force_G_Plaq_SF.h.

double Force_G_Plaq_SF::m_beta
private

Definition at line 73 of file force_G_Plaq_SF.h.

double Force_G_Plaq_SF::m_ct
private

SF boundary improvement coefficient for the plaquatte force.

Definition at line 80 of file force_G_Plaq_SF.h.

double* Force_G_Plaq_SF::m_phi
private

SF boundary condition at t=0.

Definition at line 76 of file force_G_Plaq_SF.h.

double* Force_G_Plaq_SF::m_phipr
private

SF boundary condition at t=Nt.

Definition at line 78 of file force_G_Plaq_SF.h.

Staple_SF Force_G_Plaq_SF::m_staple
private

Definition at line 82 of file force_G_Plaq_SF.h.


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