CHROMA
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members

Rect gauge action. More...

#include <rect_gaugeact.h>

Inheritance diagram for Chroma::RectGaugeAct:
Chroma::LinearGaugeAction Chroma::GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >

Public Member Functions

 RectGaugeAct (Handle< CreateGaugeState< P, Q > > cgs_, const Real &coeff_)
 Backward compatibility: More...
 
 RectGaugeAct (Handle< CreateGaugeState< P, Q > > cgs_, const Real &coeff_s_, const Real &coeff_t1_, const Real &coeff_t2_, const bool no_temporal_2link_, const AnisoParam_t &aniso_)
 General CreateGaugeState<P,Q> More...
 
 RectGaugeAct (Handle< CreateGaugeState< P, Q > > cgs_, const RectGaugeActParams &p)
 Read rectangle coefficient from a param struct. More...
 
const Set & getSet () const
 Return the set on which the gauge action is defined. More...
 
void staple (LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb) const
 Compute staple. More...
 
void deriv (multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state) const
 Compute dS/dU. More...
 
void derivSpatial (multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state) const
 compute spatial dS/dU given a time direction More...
 
void derivTemporal (multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state) const
 compute spatial dS/dU given a time direction More...
 
Double S (const Handle< GaugeState< P, Q > > &state) const
 Compute the actions. More...
 
Double spatialS (const Handle< GaugeState< P, Q > > &state) const
 Compute the spatial part of the action given a time direction. More...
 
Double temporalS (const Handle< GaugeState< P, Q > > &state) const
 Compute the temporal part of the action given a time direction. More...
 
const CreateGaugeState< P, Q > & getCreateState () const
 Produce a gauge create state object. More...
 
 ~RectGaugeAct ()
 Destructor is automatic. More...
 
const Real getCoeffS (void) const
 
const Real getCoeffT1 (void) const
 
const Real getCoeffT2 (void) const
 
bool anisoP () const
 Is anisotropy used? More...
 
const Real anisoFactor () const
 Anisotropy factor. More...
 
int tDir () const
 Anisotropic direction. More...
 
bool noTemporal21LoopsP (void) const
 
- Public Member Functions inherited from Chroma::LinearGaugeAction
virtual ~LinearGaugeAction ()
 Virtual destructor to help with cleanup;. More...
 
- Public Member Functions inherited from Chroma::GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~GaugeAction ()
 Virtual destructor to help with cleanup;. More...
 
virtual GaugeState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createState (const multi1d< LatticeColorMatrix > &q) const
 Given links, create the state. More...
 
virtual const GaugeBC< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > & getGaugeBC () const
 Return the gauge BC object for this action. More...
 

Protected Member Functions

 RectGaugeAct ()
 Partial construcor. More...
 
void operator= (const RectGaugeAct &a)
 Hide assignment. More...
 

Private Member Functions

void deriv_part (int mu, int nu, Real c_munu, multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeColorMatrix > &u) const
 
void S_part (int mu, int nu, Real c, LatticeReal &lgimp, const multi1d< LatticeColorMatrix > &u) const
 

Private Attributes

Handle< CreateGaugeState< P, Q > > cgs
 
RectGaugeActParams params
 

Additional Inherited Members

- Public Types inherited from Chroma::LinearGaugeAction
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 

Detailed Description

Rect gauge action.

The standard Rect gauge action

Definition at line 53 of file rect_gaugeact.h.

Constructor & Destructor Documentation

◆ RectGaugeAct() [1/4]

Chroma::RectGaugeAct::RectGaugeAct ( Handle< CreateGaugeState< P, Q > >  cgs_,
const Real &  coeff_ 
)

◆ RectGaugeAct() [2/4]

Chroma::RectGaugeAct::RectGaugeAct ( Handle< CreateGaugeState< P, Q > >  cgs_,
const Real &  coeff_s_,
const Real &  coeff_t1_,
const Real &  coeff_t2_,
const bool  no_temporal_2link_,
const AnisoParam_t aniso_ 
)

◆ RectGaugeAct() [3/4]

Chroma::RectGaugeAct::RectGaugeAct ( Handle< CreateGaugeState< P, Q > >  cgs_,
const RectGaugeActParams p 
)

◆ ~RectGaugeAct()

Chroma::RectGaugeAct::~RectGaugeAct ( )
inline

Destructor is automatic.

Definition at line 115 of file rect_gaugeact.h.

◆ RectGaugeAct() [4/4]

Chroma::RectGaugeAct::RectGaugeAct ( )
inlineprotected

Partial construcor.

Definition at line 134 of file rect_gaugeact.h.

Member Function Documentation

◆ anisoFactor()

const Real Chroma::RectGaugeAct::anisoFactor ( ) const
inline

Anisotropy factor.

Definition at line 126 of file rect_gaugeact.h.

References Chroma::RectGaugeActParams::aniso, params, and Chroma::AnisoParam_t::xi_0.

◆ anisoP()

bool Chroma::RectGaugeAct::anisoP ( ) const
inline

Is anisotropy used?

Definition at line 123 of file rect_gaugeact.h.

References Chroma::RectGaugeActParams::aniso, Chroma::AnisoParam_t::anisoP, and params.

◆ deriv()

void Chroma::RectGaugeAct::deriv ( multi1d< LatticeColorMatrix > &  result,
const Handle< GaugeState< P, Q > > &  state 
) const
virtual

◆ deriv_part()

void Chroma::RectGaugeAct::deriv_part ( int  mu,
int  nu,
Real  c_munu,
multi1d< LatticeColorMatrix > &  ds_u,
const multi1d< LatticeColorMatrix > &  u 
) const
inlineprivate

◆ derivSpatial()

void Chroma::RectGaugeAct::derivSpatial ( multi1d< LatticeColorMatrix > &  result,
const Handle< GaugeState< P, Q > > &  state 
) const

◆ derivTemporal()

void Chroma::RectGaugeAct::derivTemporal ( multi1d< LatticeColorMatrix > &  result,
const Handle< GaugeState< P, Q > > &  state 
) const

◆ getCoeffS()

const Real Chroma::RectGaugeAct::getCoeffS ( void  ) const
inline

Definition at line 118 of file rect_gaugeact.h.

References Chroma::RectGaugeActParams::coeff_s, and params.

◆ getCoeffT1()

const Real Chroma::RectGaugeAct::getCoeffT1 ( void  ) const
inline

Definition at line 119 of file rect_gaugeact.h.

References Chroma::RectGaugeActParams::coeff_t1, and params.

◆ getCoeffT2()

const Real Chroma::RectGaugeAct::getCoeffT2 ( void  ) const
inline

Definition at line 120 of file rect_gaugeact.h.

References Chroma::RectGaugeActParams::coeff_t2, and params.

◆ getCreateState()

const CreateGaugeState<P,Q>& Chroma::RectGaugeAct::getCreateState ( ) const
inlinevirtual

Produce a gauge create state object.

Implements Chroma::GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 112 of file rect_gaugeact.h.

References cgs.

◆ getSet()

const Set& Chroma::RectGaugeAct::getSet ( void  ) const
inlinevirtual

Return the set on which the gauge action is defined.

Defined on the even-off (red/black) set

Implements Chroma::GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 75 of file rect_gaugeact.h.

◆ noTemporal21LoopsP()

bool Chroma::RectGaugeAct::noTemporal21LoopsP ( void  ) const
inline

Definition at line 130 of file rect_gaugeact.h.

References Chroma::RectGaugeActParams::no_temporal_2link, and params.

◆ operator=()

void Chroma::RectGaugeAct::operator= ( const RectGaugeAct a)
inlineprotected

Hide assignment.

Definition at line 136 of file rect_gaugeact.h.

◆ S()

Double Chroma::RectGaugeAct::S ( const Handle< GaugeState< P, Q > > &  state) const
virtual

◆ S_part()

void Chroma::RectGaugeAct::S_part ( int  mu,
int  nu,
Real  c,
LatticeReal &  lgimp,
const multi1d< LatticeColorMatrix > &  u 
) const
inlineprivate

Definition at line 581 of file rect_gaugeact.cc.

References Chroma::c, Chroma::END_CODE(), FORWARD, mu, nu, Chroma::START_CODE(), tmp2, and Chroma::u.

Referenced by S(), spatialS(), and temporalS().

◆ spatialS()

Double Chroma::RectGaugeAct::spatialS ( const Handle< GaugeState< P, Q > > &  state) const

Compute the spatial part of the action given a time direction.

Definition at line 516 of file rect_gaugeact.cc.

References Chroma::RectGaugeActParams::aniso, Chroma::c, Chroma::RectGaugeActParams::coeff_s, Chroma::END_CODE(), mu, Nd, nu, params, S_part(), Chroma::START_CODE(), Chroma::state, sum, Chroma::AnisoParam_t::t_dir, Chroma::u, and Chroma::zero.

Referenced by S().

◆ staple()

void Chroma::RectGaugeAct::staple ( LatticeColorMatrix &  u_staple,
const Handle< GaugeState< P, Q > > &  state,
int  mu,
int  cb 
) const
virtual

Compute staple.

Default version. Derived class should override this if needed.

Parameters
u_stapleresult ( Write )
stategauge field ( Read )
mudirection for staple ( Read )
cbsubset on which to compute ( Read )

Implements Chroma::LinearGaugeAction.

Definition at line 121 of file rect_gaugeact.cc.

References Chroma::END_CODE(), and Chroma::START_CODE().

◆ tDir()

int Chroma::RectGaugeAct::tDir ( ) const
inline

Anisotropic direction.

Definition at line 129 of file rect_gaugeact.h.

References Chroma::RectGaugeActParams::aniso, params, and Chroma::AnisoParam_t::t_dir.

◆ temporalS()

Double Chroma::RectGaugeAct::temporalS ( const Handle< GaugeState< P, Q > > &  state) const

Member Data Documentation

◆ cgs

Handle< CreateGaugeState<P,Q> > Chroma::RectGaugeAct::cgs
private

Definition at line 139 of file rect_gaugeact.h.

Referenced by getCreateState().

◆ params

RectGaugeActParams Chroma::RectGaugeAct::params
private

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