Grid 0.7.0
Smear_Stout< Gimpl > Class Template Reference

Stout smearing of link variable. More...

#include <StoutSmearing.h>

Inheritance diagram for Smear_Stout< Gimpl >:
Smear< Gimpl >

Public Member Functions

 Smear_Stout (Smear< Gimpl > *base)
 Smear_Stout (const std::vector< double > &rho_)
 Smear_Stout (double rho=1.0, int orthogdim=-1)
 ~Smear_Stout ()
void smear (GaugeField &u_smr, const GaugeField &U) const
void derivative (GaugeField &SigmaTerm, const GaugeField &iLambda, const GaugeField &Gauge) const
void BaseSmear (GaugeField &C, const GaugeField &U) const
void exponentiate_iQ (GaugeLinkField &e_iQ, const GaugeLinkField &iQ) const
void set_uw (LatticeComplex &u, LatticeComplex &w, GaugeLinkField &iQ2, GaugeLinkField &iQ3) const
void set_fj (LatticeComplex &f0, LatticeComplex &f1, LatticeComplex &f2, const LatticeComplex &u, const LatticeComplex &w) const
LatticeComplex func_xi0 (const LatticeComplex &w) const
LatticeComplex func_xi1 (const LatticeComplex &w) const

Data Fields

const std::vector< double > SmearRho

Static Private Member Functions

static std::vector< double > rho3D (double rho, int orthogdim)

Private Attributes

int OrthogDim
const std::unique_ptr< Smear< Gimpl > > OwnedBase
const Smear< Gimpl > * SmearBase

Detailed Description

template<class Gimpl>
class Smear_Stout< Gimpl >

Stout smearing of link variable.

Definition at line 40 of file StoutSmearing.h.

Constructor & Destructor Documentation

◆ Smear_Stout() [1/3]

template<class Gimpl>
Smear_Stout< Gimpl >::Smear_Stout ( Smear< Gimpl > * base)
inline

Stout smearing with base explicitly specified

Definition at line 65 of file StoutSmearing.h.

References base, Smear_Stout(), and SmearBase.

Referenced by Smear_Stout().

◆ Smear_Stout() [2/3]

template<class Gimpl>
Smear_Stout< Gimpl >::Smear_Stout ( const std::vector< double > & rho_)
inline

Construct stout smearing object from explicitly specified rho matrix

Definition at line 70 of file StoutSmearing.h.

References GridLogDebug, Nc, OwnedBase, and SmearBase.

◆ Smear_Stout() [3/3]

template<class Gimpl>
Smear_Stout< Gimpl >::Smear_Stout ( double rho = 1.0,
int orthogdim = -1 )
inline

Default constructor. rho is constant in all directions, optionally except for orthogonal dimension

Definition at line 77 of file StoutSmearing.h.

References Nc, OrthogDim, OwnedBase, rho3D(), SmearBase, and SmearRho.

◆ ~Smear_Stout()

template<class Gimpl>
Smear_Stout< Gimpl >::~Smear_Stout ( )
inline

Definition at line 82 of file StoutSmearing.h.

Member Function Documentation

◆ rho3D()

template<class Gimpl>
std::vector< double > Smear_Stout< Gimpl >::rho3D ( double rho,
int orthogdim )
inlinestaticprivate

Definition at line 53 of file StoutSmearing.h.

References Nd.

Referenced by Smear_Stout().

◆ smear()

template<class Gimpl>
void Smear_Stout< Gimpl >::smear ( GaugeField & u_smr,
const GaugeField & U ) const
inlinevirtual

Implements Smear< Gimpl >.

Definition at line 84 of file StoutSmearing.h.

References adj(), exponentiate_iQ(), GridLogDebug, Nd, OrthogDim, peekLorentz(), pokeLorentz(), SmearBase, Ta(), and U.

◆ derivative()

template<class Gimpl>
void Smear_Stout< Gimpl >::derivative ( GaugeField & SigmaTerm,
const GaugeField & iLambda,
const GaugeField & Gauge ) const
inlinevirtual

Implements Smear< Gimpl >.

Definition at line 106 of file StoutSmearing.h.

References SmearBase.

◆ BaseSmear()

template<class Gimpl>
void Smear_Stout< Gimpl >::BaseSmear ( GaugeField & C,
const GaugeField & U ) const
inline

Definition at line 111 of file StoutSmearing.h.

References SmearBase, and U.

◆ exponentiate_iQ()

template<class Gimpl>
void Smear_Stout< Gimpl >::exponentiate_iQ ( GaugeLinkField & e_iQ,
const GaugeLinkField & iQ ) const
inline

Definition at line 117 of file StoutSmearing.h.

References set_fj(), set_uw(), and timesMinusI().

Referenced by smear().

◆ set_uw()

template<class Gimpl>
void Smear_Stout< Gimpl >::set_uw ( LatticeComplex & u,
LatticeComplex & w,
GaugeLinkField & iQ2,
GaugeLinkField & iQ3 ) const
inline

Definition at line 146 of file StoutSmearing.h.

References acos(), cos(), Lattice< vobj >::Grid(), imag(), pow(), real(), sin(), sqrt(), and trace().

Referenced by exponentiate_iQ().

◆ set_fj()

template<class Gimpl>
void Smear_Stout< Gimpl >::set_fj ( LatticeComplex & f0,
LatticeComplex & f1,
LatticeComplex & f2,
const LatticeComplex & u,
const LatticeComplex & w ) const
inline

Definition at line 168 of file StoutSmearing.h.

References cos(), func_xi0(), Lattice< vobj >::Grid(), sin(), and timesI().

Referenced by exponentiate_iQ().

◆ func_xi0()

template<class Gimpl>
LatticeComplex Smear_Stout< Gimpl >::func_xi0 ( const LatticeComplex & w) const
inline

Definition at line 198 of file StoutSmearing.h.

References sin().

Referenced by set_fj().

◆ func_xi1()

template<class Gimpl>
LatticeComplex Smear_Stout< Gimpl >::func_xi1 ( const LatticeComplex & w) const
inline

Definition at line 204 of file StoutSmearing.h.

References cos(), and sin().

Field Documentation

◆ OrthogDim

template<class Gimpl>
int Smear_Stout< Gimpl >::OrthogDim
private

Definition at line 42 of file StoutSmearing.h.

Referenced by smear(), and Smear_Stout().

◆ SmearRho

template<class Gimpl>
const std::vector<double> Smear_Stout< Gimpl >::SmearRho

Definition at line 44 of file StoutSmearing.h.

Referenced by Smear_Stout().

◆ OwnedBase

template<class Gimpl>
const std::unique_ptr<Smear<Gimpl> > Smear_Stout< Gimpl >::OwnedBase
private

Definition at line 49 of file StoutSmearing.h.

Referenced by Smear_Stout(), and Smear_Stout().

◆ SmearBase

template<class Gimpl>
const Smear<Gimpl>* Smear_Stout< Gimpl >::SmearBase
private

Definition at line 50 of file StoutSmearing.h.

Referenced by BaseSmear(), derivative(), smear(), Smear_Stout(), Smear_Stout(), and Smear_Stout().


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