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

cps::GimprRect Class Reference
[Gauge Actions]

A class implementing a lattice with the plaquette + rectangle gauge action. More...

#include <lattice.h>

Inherits cps::Lattice.

Inherited by cps::GimprRectFasqtad, cps::GimprRectFclover, cps::GimprRectFdwf, cps::GimprRectFmdwf, cps::GimprRectFnone, cps::GimprRectFp4, cps::GimprRectFstag, cps::GimprRectFwilson, and cps::GimprRectFwilsonTm.

List of all members.

Public Member Functions

 GimprRect ()
virtual ~GimprRect ()
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 AllStaple (Matrix &stap, const int *x, int mu)
 Computes sum of the plaquette and rectangle staples around a link.


Detailed Description

A class implementing a lattice with the plaquette + rectangle gauge action.

The action is

\[ -\frac{1}{3}\beta \sum_x \sum_\mu \sum_{\nu\neq\mu}[ (1-8 c_1) U_\mu(x) U_\nu(x+\nu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x) +c_1 U_\mu(x) U_\mu(x+\mu) U_\nu(x+2\mu) U^\dagger_\mu(x+\mu+\nu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x) ] \]

Definition at line 1294 of file lattice.h.


Constructor & Destructor Documentation

cps::GimprRect::GimprRect  ) 
 

Definition at line 75 of file g_impr_rect.C.

References cps::GlobalJobParameter::Beta(), cps::GlobalJobParameter::C1(), cps::Verbose::Func(), cps::GJP, cps::VRB, cps::Verbose::Warn(), and cps::GlobalJobParameter::XiBare().

cps::GimprRect::~GimprRect  )  [virtual]
 

Definition at line 96 of file g_impr_rect.C.

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


Member Function Documentation

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

Computes sum of the plaquette and rectangle staples around a link.

The sum of the staples around the link $ U_\mu(x) $ is:

\[ (1-8c_1)\sum_{\nu \neq \mu}[ U_\nu(x+\mu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x) + U^\dagger_\nu(x+\mu-\nu) U^\dagger_\mu(x-\nu) U_\nu(x-\nu)] \]

\[ + c_1\sum_{\nu \neq \mu}\left[\right. U_\mu(x+\mu) U_\nu(x+2\mu) U^\dagger_\mu(x+\mu+\nu) U^\dagger_\mu(x+\nu) U^\dagger_\nu(x) \]

\[ + U_\mu(x+\mu) U^\dagger_\nu(x+2\mu-\nu) U^\dagger_\mu(x+\mu-\nu) U^\dagger_\mu(x-\nu) U_\nu(x-\nu) \]

\[ + U_\nu(x+\mu) U^\dagger_\mu(x+\nu) U^\dagger_\mu(x-\mu+\nu) U^\dagger_\nu(x-\mu) U_\mu(x-\mu) \]

\[ + U^\dagger_\nu(x+\mu-\nu) U^\dagger_\mu(x-\nu) U^\dagger_\mu(x-\mu-\nu) U_\nu(x-\mu-\nu) U_\mu(x-\mu) \]

\[ + U_\nu(x+\mu) U_\nu(x+\mu+\nu) U^\dagger_\mu(x+2\nu) U^\dagger_\nu(x+\nu) U^\dagger_\nu(x) \]

\[ + U^\dagger_\nu(x+\mu-\nu) U^\dagger_\nu(x+\mu-2\nu) U^\dagger_\mu(x-2\nu) U_\nu(x-2\nu) U_\nu(x-\nu) \left.\right] \]

Parameters:
x The coordinates of the lattice site
mu The link direction
stap The computed staple sum.

Implements cps::Lattice.

Definition at line 261 of file g_impr_rect.C.

References cps::Lattice::BufferedRectStaple(), cps::Lattice::BufferedStaple(), cps::GlobalJobParameter::C1(), cps::Verbose::Func(), cps::GJP, cps::IFloat, MATRIX_SIZE, cps::vecAddEquVec(), cps::vecTimesEquFloat(), and cps::VRB.

ForceArg cps::GimprRect::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 65 of file g_impr_rect_force.C.

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

void cps::GimprRect::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 198 of file g_impr_rect.C.

References cps::Verbose::Func(), cps::IFloat, MATRIX_SIZE, cps::Lattice::RectStaple(), cps::Lattice::Staple(), cps::vecAddEquVec(), cps::vecTimesEquFloat(), and cps::VRB.

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

Returns the type of gauge action.

Implements cps::Lattice.

Definition at line 107 of file g_impr_rect.C.

References cps::GclassType.

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

Calculates the gauge force at site x and direction mu.

Definition at line 118 of file g_impr_rect.C.

References cps::Matrix::Dagger(), cps::Float, cps::Lattice::GaugeField(), cps::Lattice::GsiteOffset(), cps::IFloat, MATRIX_SIZE, cps::mDotMEqual(), cps::mDotMPlus(), cps::moveMem(), cps::Lattice::RectStaple(), cps::setCbufCntrlReg(), cps::Lattice::Staple(), cps::Matrix::TrLessAntiHermMatrix(), and cps::vecTimesEquFloat().

Referenced by EvolveMomGforce().

Float cps::GimprRect::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 182 of file g_impr_rect.C.

References cps::Float, cps::Verbose::Func(), cps::Lattice::SumReTrPlaqNode(), cps::Lattice::SumReTrRectNode(), and cps::VRB.


The documentation for this class was generated from the following files:
Generated on Sat Jan 5 23:34:11 2013 for Columbia Physics System by  doxygen 1.3.9.1