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

#include <plaq_gaugeact.h>

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

Public Member Functions

 PlaqGaugeAct (Handle< CreateGaugeState< P, Q > > cgs_, const Real &coeff, const AnisoParam_t &aniso)
 General CreateGaugeState<P,Q> More...
 
 PlaqGaugeAct (Handle< CreateGaugeState< P, Q > > cgs_, const Real &coeff_s, const Real &coeff_t, const AnisoParam_t &aniso)
 General CreateGaugeState<P,Q> More...
 
 PlaqGaugeAct (Handle< CreateGaugeState< P, Q > > cgs_, const PlaqGaugeActParams &p)
 Read coeff 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 stapleSpatial (LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb, int t_dir) const
 Compute staple. More...
 
void stapleTemporal (LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb, int t_dir) 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, int t_dir) const
 compute spatial dS/dU given a time direction More...
 
void derivTemporal (multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state, int t_dir) const
 compute spatial dS/dU given a time direction More...
 
const CreateGaugeState< P, Q > & getCreateState () const
 Produce a gauge create state object. More...
 
Double S (const Handle< GaugeState< P, Q > > &state) const
 Compute the actions. More...
 
Double spatialS (const Handle< GaugeState< P, Q > > &state, int t_dir) const
 Compute the spatial part of the action given a time direction. More...
 
Double temporalS (const Handle< GaugeState< P, Q > > &state, int t_dir) const
 Compute the temporal part of the action given a time direction. More...
 
 ~PlaqGaugeAct ()
 Destructor is automatic. More...
 
- 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

 PlaqGaugeAct ()
 
void operator= (const PlaqGaugeAct &a)
 
void init (const Real &coeff, const AnisoParam_t &aniso)
 Hide assignment. More...
 
void init (const Real &coeff_s, const Real &coeff_t, const AnisoParam_t &aniso)
 Internal initializer for non-general input. More...
 

Private Attributes

Handle< CreateGaugeState< P, Q > > cgs
 
PlaqGaugeActParams param
 

Additional Inherited Members

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

Detailed Description

*&;/ void write(XMLWriter& xml, const std::string& path, const PlaqGaugeActParams& param);

! Plaquette gauge action /*!

The standard Plaquette gauge action

Definition at line 49 of file plaq_gaugeact.h.

Constructor & Destructor Documentation

◆ PlaqGaugeAct() [1/4]

Chroma::PlaqGaugeAct::PlaqGaugeAct ( Handle< CreateGaugeState< P, Q > >  cgs_,
const Real &  coeff,
const AnisoParam_t aniso 
)
inline

General CreateGaugeState<P,Q>

< Supplied for callers with simple params

Definition at line 54 of file plaq_gaugeact.h.

References init().

◆ PlaqGaugeAct() [2/4]

Chroma::PlaqGaugeAct::PlaqGaugeAct ( Handle< CreateGaugeState< P, Q > >  cgs_,
const Real &  coeff_s,
const Real &  coeff_t,
const AnisoParam_t aniso 
)
inline

General CreateGaugeState<P,Q>

< Supplied for callers with simple params

Definition at line 61 of file plaq_gaugeact.h.

References init().

◆ PlaqGaugeAct() [3/4]

Chroma::PlaqGaugeAct::PlaqGaugeAct ( Handle< CreateGaugeState< P, Q > >  cgs_,
const PlaqGaugeActParams p 
)
inline

Read coeff from a param struct.

Definition at line 68 of file plaq_gaugeact.h.

◆ ~PlaqGaugeAct()

Chroma::PlaqGaugeAct::~PlaqGaugeAct ( )
inline

Destructor is automatic.

Definition at line 118 of file plaq_gaugeact.h.

◆ PlaqGaugeAct() [4/4]

Chroma::PlaqGaugeAct::PlaqGaugeAct ( )
inlineprotected

Definition at line 121 of file plaq_gaugeact.h.

Member Function Documentation

◆ deriv()

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

Compute dS/dU.

Computes the derivative of the fermionic action respect to the link field.

    |  dS

ds_u – | -— ( Write ) | dU

Parameters
ds_uresult ( Write )
stategauge field ( Read )

Reimplemented from Chroma::GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 327 of file plaq_gaugeact.cc.

References BACKWARD, Chroma::cb, Chroma::PlaqGaugeActParams::coeffs, Chroma::END_CODE(), FORWARD, Chroma::GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >::getGaugeBC(), mu, Nd, nu, param, Chroma::START_CODE(), Chroma::state, tmp_1, tmp_2, Chroma::u, Chroma::zero, and Chroma::GaugeBC< P, Q >::zero().

Referenced by main().

◆ derivSpatial()

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

◆ derivTemporal()

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

◆ getCreateState()

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

Produce a gauge create state object.

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

Definition at line 106 of file plaq_gaugeact.h.

References cgs.

◆ getSet()

const Set& Chroma::PlaqGaugeAct::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 74 of file plaq_gaugeact.h.

◆ init() [1/2]

void Chroma::PlaqGaugeAct::init ( const Real &  coeff,
const AnisoParam_t aniso 
)
protected

Hide assignment.

Internal initializer for non-general input

Definition at line 93 of file plaq_gaugeact.cc.

References Chroma::AnisoParam_t::anisoP, Chroma::PlaqGaugeActParams::coeffs, Chroma::END_CODE(), mu, Nd, nu, param, Chroma::START_CODE(), Chroma::AnisoParam_t::t_dir, Chroma::AnisoParam_t::xi_0, and Chroma::zero.

Referenced by PlaqGaugeAct().

◆ init() [2/2]

void Chroma::PlaqGaugeAct::init ( const Real &  coeff_s,
const Real &  coeff_t,
const AnisoParam_t aniso 
)
protected

◆ operator=()

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

Definition at line 122 of file plaq_gaugeact.h.

◆ S()

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

◆ spatialS()

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

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

Definition at line 567 of file plaq_gaugeact.cc.

References Chroma::PlaqGaugeActParams::coeffs, Chroma::END_CODE(), FORWARD, mu, Nd, nu, param, Chroma::START_CODE(), Chroma::state, sum, Chroma::tmp, Chroma::u, and Chroma::zero.

◆ staple()

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

Compute staple.

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

Implements Chroma::LinearGaugeAction.

Definition at line 186 of file plaq_gaugeact.cc.

References BACKWARD, Chroma::cb, Chroma::PlaqGaugeActParams::coeffs, Chroma::END_CODE(), FORWARD, mu, Nd, nu, param, Chroma::START_CODE(), Chroma::state, tmp2, Chroma::u, and Chroma::zero.

◆ stapleSpatial()

void Chroma::PlaqGaugeAct::stapleSpatial ( LatticeColorMatrix &  u_mu_staple,
const Handle< GaugeState< P, Q > > &  state,
int  mu,
int  cb,
int  t_dir 
) const

Compute staple.

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

Definition at line 232 of file plaq_gaugeact.cc.

References BACKWARD, Chroma::cb, Chroma::PlaqGaugeActParams::coeffs, Chroma::END_CODE(), FORWARD, mu, Nd, nu, param, Chroma::START_CODE(), Chroma::state, Chroma::u, and Chroma::zero.

◆ stapleTemporal()

void Chroma::PlaqGaugeAct::stapleTemporal ( LatticeColorMatrix &  u_mu_staple,
const Handle< GaugeState< P, Q > > &  state,
int  mu,
int  cb,
int  t_dir 
) const

Compute staple.

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

Definition at line 275 of file plaq_gaugeact.cc.

References BACKWARD, Chroma::cb, Chroma::PlaqGaugeActParams::coeffs, Chroma::END_CODE(), FORWARD, mu, Nd, nu, param, Chroma::START_CODE(), Chroma::state, Chroma::u, and Chroma::zero.

◆ temporalS()

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

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

Definition at line 605 of file plaq_gaugeact.cc.

References Chroma::PlaqGaugeActParams::coeffs, Chroma::END_CODE(), FORWARD, mu, Nd, nu, param, Chroma::START_CODE(), Chroma::state, sum, Chroma::tmp, Chroma::u, and Chroma::zero.

Member Data Documentation

◆ cgs

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

Create Gauge State

Definition at line 134 of file plaq_gaugeact.h.

Referenced by getCreateState().

◆ param

PlaqGaugeActParams Chroma::PlaqGaugeAct::param
private

The parameters

Definition at line 135 of file plaq_gaugeact.h.

Referenced by deriv(), derivSpatial(), derivTemporal(), init(), S(), spatialS(), staple(), stapleSpatial(), stapleTemporal(), and temporalS().


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