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

Temporal anisotropic Symanzik improved gauge action. More...

#include <aniso_sym_temporal_gaugeact.h>

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

Public Types

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

Public Member Functions

 AnisoSymTemporalGaugeAct (Handle< CreateGaugeState< P, Q > > cgs_, const AnisoSymGaugeActParams &p)
 Read beta from a param struct. More...
 
bool anisoP () const
 Is anisotropy used? More...
 
const Real anisoFactor () const
 Anisotropy factor. More...
 
int tDir () const
 Anisotropic direction. 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...
 
Double S (const Handle< GaugeState< P, Q > > &state) const
 Compute the actions. More...
 
const CreateGaugeState< P, Q > & getCreateState () const
 Produce a gauge create state object. More...
 
 ~AnisoSymTemporalGaugeAct ()
 Destructor is automatic. More...
 
const Real getBeta (void) const
 
const Real getUS (void) const
 
const Real getUT (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

void init (void)
 Private initializer. More...
 
void operator= (const AnisoSymTemporalGaugeAct &a)
 Hide assignment. More...
 

Private Attributes

const Handle< CreateGaugeState< P, Q > > cgs
 
AnisoSymGaugeActParams param
 
Real plaq_c_t
 
Real rect_c_t_2
 

Detailed Description

Temporal anisotropic Symanzik improved gauge action.

Contains space-space plaquette and space space rectangle terms only. Useful for when one wants to split the spatial and temporal parts of the general Symanzik gauge action onto different timescales in an (R)HMC simulation.

Definition at line 36 of file aniso_sym_temporal_gaugeact.h.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::AnisoSymTemporalGaugeAct::P

Definition at line 40 of file aniso_sym_temporal_gaugeact.h.

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::AnisoSymTemporalGaugeAct::Q

Definition at line 41 of file aniso_sym_temporal_gaugeact.h.

Constructor & Destructor Documentation

◆ AnisoSymTemporalGaugeAct()

Chroma::AnisoSymTemporalGaugeAct::AnisoSymTemporalGaugeAct ( Handle< CreateGaugeState< P, Q > >  cgs_,
const AnisoSymGaugeActParams p 
)
inline

Read beta from a param struct.

Definition at line 44 of file aniso_sym_temporal_gaugeact.h.

References init().

◆ ~AnisoSymTemporalGaugeAct()

Chroma::AnisoSymTemporalGaugeAct::~AnisoSymTemporalGaugeAct ( )
inline

Destructor is automatic.

Definition at line 84 of file aniso_sym_temporal_gaugeact.h.

Member Function Documentation

◆ anisoFactor()

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

Anisotropy factor.

Definition at line 52 of file aniso_sym_temporal_gaugeact.h.

References Chroma::AnisoSymGaugeActParams::aniso, param, and Chroma::AnisoParam_t::xi_0.

◆ anisoP()

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

Is anisotropy used?

Definition at line 49 of file aniso_sym_temporal_gaugeact.h.

References Chroma::AnisoSymGaugeActParams::aniso, Chroma::AnisoParam_t::anisoP, and param.

◆ deriv()

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

◆ getBeta()

const Real Chroma::AnisoSymTemporalGaugeAct::getBeta ( void  ) const
inline

Definition at line 87 of file aniso_sym_temporal_gaugeact.h.

References Chroma::AnisoSymGaugeActParams::beta, and param.

◆ getCreateState()

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

Produce a gauge create state object.

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

Definition at line 81 of file aniso_sym_temporal_gaugeact.h.

References cgs.

◆ getSet()

const Set& Chroma::AnisoSymTemporalGaugeAct::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 59 of file aniso_sym_temporal_gaugeact.h.

◆ getUS()

const Real Chroma::AnisoSymTemporalGaugeAct::getUS ( void  ) const
inline

Definition at line 89 of file aniso_sym_temporal_gaugeact.h.

References param, and Chroma::AnisoSymGaugeActParams::u_s.

◆ getUT()

const Real Chroma::AnisoSymTemporalGaugeAct::getUT ( void  ) const
inline

Definition at line 91 of file aniso_sym_temporal_gaugeact.h.

References param, and Chroma::AnisoSymGaugeActParams::u_t.

◆ init()

void Chroma::AnisoSymTemporalGaugeAct::init ( void  )
protected

◆ operator=()

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

Hide assignment.

Definition at line 98 of file aniso_sym_temporal_gaugeact.h.

◆ S()

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

◆ staple()

void Chroma::AnisoSymTemporalGaugeAct::staple ( LatticeColorMatrix &  result,
const Handle< GaugeState< P, Q > > &  state,
int  mu,
int  cb 
) const
inlinevirtual

Compute staple.

Default version. Derived class should override this if needed.

Implements Chroma::LinearGaugeAction.

Definition at line 63 of file aniso_sym_temporal_gaugeact.h.

◆ tDir()

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

Anisotropic direction.

Definition at line 55 of file aniso_sym_temporal_gaugeact.h.

References Chroma::AnisoSymGaugeActParams::aniso, param, and Chroma::AnisoParam_t::t_dir.

Member Data Documentation

◆ cgs

const Handle< CreateGaugeState<P,Q> > Chroma::AnisoSymTemporalGaugeAct::cgs
private

Definition at line 101 of file aniso_sym_temporal_gaugeact.h.

Referenced by getCreateState().

◆ param

AnisoSymGaugeActParams Chroma::AnisoSymTemporalGaugeAct::param
private

The couplings and anisotropy

Definition at line 102 of file aniso_sym_temporal_gaugeact.h.

Referenced by anisoFactor(), anisoP(), deriv(), getBeta(), getUS(), getUT(), init(), S(), and tDir().

◆ plaq_c_t

Real Chroma::AnisoSymTemporalGaugeAct::plaq_c_t
private

Temporal plaquette coupling

Definition at line 103 of file aniso_sym_temporal_gaugeact.h.

Referenced by deriv(), init(), and S().

◆ rect_c_t_2

Real Chroma::AnisoSymTemporalGaugeAct::rect_c_t_2
private

Temporal \mu x 2\nu rectangle coupling

Definition at line 104 of file aniso_sym_temporal_gaugeact.h.

Referenced by deriv(), init(), and S().


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