CHROMA
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Chroma::StoutGaugeState< P, Q > Class Template Reference

Stout version of GaugeState. More...

#include <stout_gaugestate.h>

Inheritance diagram for Chroma::StoutGaugeState< P, Q >:
Chroma::GaugeState< P, Q > Chroma::ConnectState< P, Q >

Public Member Functions

 StoutGaugeState (Handle< GaugeBC< P, Q > > gbc_, const StoutFermStateParams &p_, const Q &q_)
 Full constructor. More...
 
const GaugeBC< P, Q > & getBC () const
 Return the gauge BC object for this state. More...
 
virtual ~StoutGaugeState ()
 Destructor. More...
 
const QgetLinks () const
 Return the link fields needed in constructing linear operators. More...
 
const QgetThinLinks () const
 
void fatForceToThin (const P &F_fat, P &F_thin) const
 
void deriv (P &F) const
 
void create (Handle< GaugeBC< P, Q > > gbc_, const StoutFermStateParams &p_, const Q &u_)
 
- Public Member Functions inherited from Chroma::GaugeState< P, Q >
virtual ~GaugeState ()
 Virtual destructor to help with cleanup;. More...
 
- Public Member Functions inherited from Chroma::ConnectState< P, Q >
virtual ~ConnectState ()
 Virtual destructor to help with cleanup;. More...
 

Private Member Functions

 StoutGaugeState ()
 
void operator= (const StoutGaugeState &)
 

Private Attributes

Handle< GaugeBC< P, Q > > gbc
 
multi1d< Qsmeared_links
 
StoutFermStateParams params
 

Detailed Description

template<typename P, typename Q>
class Chroma::StoutGaugeState< P, Q >

Stout version of GaugeState.

Only needs to hold a gauge field and gauge bc

Definition at line 34 of file stout_gaugestate.h.

Constructor & Destructor Documentation

◆ StoutGaugeState() [1/2]

template<typename P , typename Q >
Chroma::StoutGaugeState< P, Q >::StoutGaugeState ( Handle< GaugeBC< P, Q > >  gbc_,
const StoutFermStateParams p_,
const Q q_ 
)
inline

Full constructor.

Definition at line 38 of file stout_gaugestate.h.

References Chroma::StoutGaugeState< P, Q >::create(), Chroma::END_CODE(), and Chroma::START_CODE().

◆ ~StoutGaugeState()

template<typename P , typename Q >
virtual Chroma::StoutGaugeState< P, Q >::~StoutGaugeState ( )
inlinevirtual

Destructor.

Definition at line 51 of file stout_gaugestate.h.

◆ StoutGaugeState() [2/2]

template<typename P , typename Q >
Chroma::StoutGaugeState< P, Q >::StoutGaugeState ( )
inlineprivate

Definition at line 160 of file stout_gaugestate.h.

Member Function Documentation

◆ create()

template<typename P , typename Q >
void Chroma::StoutGaugeState< P, Q >::create ( Handle< GaugeBC< P, Q > >  gbc_,
const StoutFermStateParams p_,
const Q u_ 
)
inline

◆ deriv()

template<typename P , typename Q >
void Chroma::StoutGaugeState< P, Q >::deriv ( P F) const
inlinevirtual

A virtual function to get the derivative of the state. This is useful for things like fat link states, where the derivative of the state with respect to the thin links is complicated. The default implementation just multiplies the accumulated force by the (thin) links, which works because $\dot{U} = \pi U$ and the pi momenta get factored out this function modifies the force term

Reimplemented from Chroma::ConnectState< P, Q >.

Definition at line 97 of file stout_gaugestate.h.

References Chroma::END_CODE(), F, Chroma::StoutGaugeState< P, Q >::fatForceToThin(), mu, Nd, Chroma::StoutGaugeState< P, Q >::smeared_links, and Chroma::START_CODE().

◆ fatForceToThin()

template<typename P , typename Q >
void Chroma::StoutGaugeState< P, Q >::fatForceToThin ( const P F_fat,
P F_thin 
) const
inline

◆ getBC()

template<typename P , typename Q >
const GaugeBC<P,Q>& Chroma::StoutGaugeState< P, Q >::getBC ( ) const
inlinevirtual

Return the gauge BC object for this state.

Implements Chroma::GaugeState< P, Q >.

Definition at line 48 of file stout_gaugestate.h.

References Chroma::StoutGaugeState< P, Q >::gbc.

◆ getLinks()

template<typename P , typename Q >
const Q& Chroma::StoutGaugeState< P, Q >::getLinks ( ) const
inlinevirtual

Return the link fields needed in constructing linear operators.

Implements Chroma::ConnectState< P, Q >.

Definition at line 54 of file stout_gaugestate.h.

References Chroma::StoutFermStateParams::n_smear, Chroma::StoutGaugeState< P, Q >::params, and Chroma::StoutGaugeState< P, Q >::smeared_links.

◆ getThinLinks()

template<typename P , typename Q >
const Q& Chroma::StoutGaugeState< P, Q >::getThinLinks ( ) const
inline

Definition at line 58 of file stout_gaugestate.h.

References Chroma::StoutGaugeState< P, Q >::smeared_links.

◆ operator=()

template<typename P , typename Q >
void Chroma::StoutGaugeState< P, Q >::operator= ( const StoutGaugeState< P, Q > &  )
inlineprivate

Definition at line 161 of file stout_gaugestate.h.

Member Data Documentation

◆ gbc

template<typename P , typename Q >
Handle< GaugeBC<P,Q> > Chroma::StoutGaugeState< P, Q >::gbc
private

◆ params

template<typename P , typename Q >
StoutFermStateParams Chroma::StoutGaugeState< P, Q >::params
private

◆ smeared_links

template<typename P , typename Q >
multi1d<Q> Chroma::StoutGaugeState< P, Q >::smeared_links
private

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