Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

cps::GpowerPlaq Class Reference
[Gauge Actions]

A class implementing a lattice with the power-plaquette gauge action. More...

#include <lattice.h>

Inherits cps::Lattice.

Inherited by cps::GpowerPlaqFasqtad, cps::GpowerPlaqFclover, cps::GpowerPlaqFdwf, cps::GpowerPlaqFnone, cps::GpowerPlaqFstag, and cps::GpowerPlaqFwilson.

List of all members.

Public Member Functions

 GpowerPlaq ()
virtual ~GpowerPlaq ()
GclassType Gclass ()
 Returns the type of gauge action.
void GactionGradient (Matrix &grad, int *x, int mu)
 Calculates the partial derivative of the gauge action w.r.t. the link U_mu(x).
void GforceSite (Matrix &force, int *x, int mu)
 Calculates the gauge force at site x and direction mu.
ForceArg EvolveMomGforce (Matrix *mom, Float step_size)
 Molecular dynamics evolution of the conjugate momentum.
Float GhamiltonNode ()
 Computes the pure gauge action on the local sublattice.
void PowerStaple (Matrix &pstap, int *x, int mu)
 Computes the power-plaquette staple sum around a link.
Float PowerPlaq (int *x, int mu, int nu) const
 Calculates the power plaquette term.
Float SumPowerPlaqNode () const
 Calculates the local sum of the power plaquette term.
Float SumPowerPlaq () const
 Calculates the global sum of the power plaquette term.
void AllStaple (Matrix &stap, const int *x, int mu)
 Computes all of the staple sums around a link.


Detailed Description

A class implementing a lattice with the power-plaquette gauge action.

This action is the standard Wilson action with an irrelevant power plaquette term added to it. The action is:

\[ \sum_p -\frac{1}{3}\beta \mathrm{ReTr}[U_p] + \left(\frac{1}{c}(1-\frac{1}{3}\mathrm{ReTr}[U_p]) \right)^k \]

where $ U_p $ is the plaquette and the sum is over all plaquettes. $ \beta $, c and k are real parameters. (see GlobalJobParameter::PowerPlaqCutoff, GlobalJobParameter::PowerPlaqExponent and GlobalJobParameter::Beta)

Definition at line 1231 of file lattice.h.


Constructor & Destructor Documentation

cps::GpowerPlaq::GpowerPlaq  ) 
 

Definition at line 92 of file g_power_plaq.C.

References cps::Verbose::Func(), and cps::VRB.

cps::GpowerPlaq::~GpowerPlaq  )  [virtual]
 

Definition at line 103 of file g_power_plaq.C.

References cps::Verbose::Func(), and cps::VRB.


Member Function Documentation

void cps::GpowerPlaq::AllStaple Matrix stap,
const int *  x,
int  mu
[virtual]
 

Computes all of the staple sums around a link.

Implements cps::Lattice.

Definition at line 557 of file g_power_plaq.C.

References cps::ERR, and cps::Error::NotImplemented().

ForceArg cps::GpowerPlaq::EvolveMomGforce Matrix mom,
Float  step_size
[virtual]
 

Molecular dynamics evolution of the conjugate momentum.

The momentum is evolved for a single molecular dynamics timestep using the force from the pure gauge action.

Parameters:
mom The momentum matrices on all links.
step_size The molecular dynamics timestep used in the numerical integration.
Postcondition:
mom is assigned the value of the momentum after the molecular dynamics evolution.

Implements cps::Lattice.

Definition at line 177 of file g_power_plaq.C.

References cps::CBUF_MODE4, cps::Float, cps::fTimesV1PlusV2(), cps::Verbose::Func(), GforceSite(), cps::GJP, cps::glb_max(), cps::glb_sum(), cps::Lattice::GsiteOffset(), cps::IFloat, MATRIX_SIZE, cps::setCbufCntrlReg(), cps::GlobalJobParameter::TnodeSites(), cps::GlobalJobParameter::VolSites(), cps::VRB, cps::GlobalJobParameter::XnodeSites(), cps::GlobalJobParameter::YnodeSites(), and cps::GlobalJobParameter::ZnodeSites().

void cps::GpowerPlaq::GactionGradient Matrix grad,
int *  x,
int  mu
[virtual]
 

Calculates the partial derivative of the gauge action w.r.t. the link U_mu(x).

Parameters:
grad The computed gradient.
x The coordinates of the lattice site.
mu The direction of the link.

Implements cps::Lattice.

Definition at line 552 of file g_power_plaq.C.

References cps::ERR, and cps::Error::NotImplemented().

GclassType cps::GpowerPlaq::Gclass  )  [virtual]
 

Returns the type of gauge action.

Implements cps::Lattice.

Definition at line 114 of file g_power_plaq.C.

References cps::GclassType.

void cps::GpowerPlaq::GforceSite Matrix force,
int *  x,
int  mu
 

Calculates the gauge force at site x and direction mu.

Parameters:
force The computed force from the gauge action.
x the lattice site coordinates.
mu The direction mu.

Todo:
Could this not be be a virtual Lattice method, if only so that I could avoid rewriting this?

Definition at line 131 of file g_power_plaq.C.

References cps::CBUF_MODE4, cps::Matrix::Dagger(), cps::Float, cps::Verbose::Func(), cps::Lattice::GaugeField(), cps::Lattice::GsiteOffset(), cps::IFloat, MATRIX_SIZE, cps::mDotMEqual(), cps::moveMem(), PowerStaple(), cps::setCbufCntrlReg(), cps::Matrix::TrLessAntiHermMatrix(), cps::vecTimesEquFloat(), and cps::VRB.

Referenced by EvolveMomGforce().

Float cps::GpowerPlaq::GhamiltonNode  )  [virtual]
 

Computes the pure gauge action on the local sublattice.

Returns:
The value of the pure gauge action on this node.

Implements cps::Lattice.

Definition at line 229 of file g_power_plaq.C.

References cps::GlobalJobParameter::Beta(), cps::Float, cps::Verbose::Func(), cps::GJP, SumPowerPlaqNode(), cps::Lattice::SumReTrPlaqNode(), and cps::VRB.

Float cps::GpowerPlaq::PowerPlaq int *  x,
int  mu,
int  nu
const
 

Calculates the power plaquette term.

The power plaquette is

\[ ( (1 - 1/3 Re Tr [U_\mu(x) U_\nu(x+\nu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x)])/c )^k \]

where the real parameters c and k are those in the definition of the power plaquette action.

Parameters:
x the coordinates of the lattice site at the start of the plaquette
mu The first plaquette direction.
nu The second plaquette direction; should be different from mu.
Returns:
The computed power plaquette term.

Definition at line 258 of file g_power_plaq.C.

References cps::Float, cps::GJP, cps::GlobalJobParameter::PowerPlaqCutoff(), cps::GlobalJobParameter::PowerPlaqExponent(), and cps::Lattice::ReTrPlaq().

Referenced by SumPowerPlaqNode().

void cps::GpowerPlaq::PowerStaple Matrix pstap,
int *  x,
int  mu
 

Computes the power-plaquette staple sum around a link.

The staple is:

\[ \sum_{\nu \neq \mu} \{ ps(x,\mu,v) [ U_\nu(x+\mu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x) ] + ps(x-\nu,\mu,v) [ U^\dagger_\nu(x+\mu-\nu) U^\dagger_\mu(x-\nu) U_\nu(x-\nu) ] \} \]

where

\[ ps(x,\mu,\nu) = \beta + k/c ((1 - ReTr[U_p(x,\mu,\nu)]/3) / c )^{k-1} \]

where the real parameters $\beta$, c and k are those in the definition of the power plaquette action and $ U_p $ is the standard plaquette.

Definition at line 366 of file g_power_plaq.C.

References cps::GlobalJobParameter::Beta(), cps::CBUF_MODE2, cps::CBUF_MODE4, cps::Matrix::Dagger(), cps::Float, cps::Verbose::Func(), cps::Lattice::GaugeField(), cps::Lattice::GetLinkOld(), cps::getMinusData(), cps::GJP, cps::Lattice::GsiteOffset(), cps::IFloat, MATRIX_SIZE, cps::mDotMEqual(), cps::moveMem(), cps::GlobalJobParameter::PowerPlaqCutoff(), cps::GlobalJobParameter::PowerPlaqExponent(), cps::Matrix::ReTr(), cps::setCbufCntrlReg(), cps::vecAddEquVec(), cps::vecTimesEquFloat(), and cps::VRB.

Referenced by GforceSite().

Float cps::GpowerPlaq::SumPowerPlaq void   )  const
 

Calculates the global sum of the power plaquette term.

At each site x and different directions mu and nu, the power plaquette is

\[ \{ (1 - 1/3 Re Tr [U_\mu(x) U_\nu(x+\nu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x)])/c \}^k \]

where the real parameters c and k are those in the definition of the power plaquette action. This computes the sum of the power plaquette over all lattice sites x and all six $ \mu-\nu $ planes.

Returns:
The globally summed power plaquette term.

Definition at line 334 of file g_power_plaq.C.

References cps::Float, cps::Verbose::Func(), cps::glb_sum(), SumPowerPlaqNode(), and cps::VRB.

Float cps::GpowerPlaq::SumPowerPlaqNode void   )  const
 

Calculates the local sum of the power plaquette term.

At each site x and different directions mu and nu, the power plaquette is

\[ ( (1 - 1/3 Re Tr [U_\mu(x) U_\nu(x+\nu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x)])/c )^k \]

where the real parameters c and k are those in the definition of the power plaquette action. This computes the sum of the power plaquette over all local lattice sites x and all six $ \mu-\nu $ planes.

Returns:
The locally summed power plaquette term.

Definition at line 291 of file g_power_plaq.C.

References cps::Float, cps::Verbose::Func(), PowerPlaq(), and cps::VRB.

Referenced by GhamiltonNode(), and SumPowerPlaq().


The documentation for this class was generated from the following files:
Generated on Sat Oct 10 14:12:12 2009 for Columbia Physics System by  doxygen 1.3.9.1