Grid 0.7.0
StaggeredImpl< S, Representation > Class Template Reference

#include <StaggeredImpl.h>

Inheritance diagram for StaggeredImpl< S, Representation >:
PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > > GaugeImplTypes< S, FundamentalRepresentation::Dimension >

Public Types

typedef RealD _Coeff_t
typedef PeriodicGaugeImpl< GaugeImplTypes< S, Dimension > > Gimpl
typedef _Coeff_t Coeff_t
template<typename vtype>
using iImplSpinor
template<typename vtype>
using iImplHalfSpinor
template<typename vtype>
using iImplDoubledGaugeField
template<typename vtype>
using iImplPropagator
typedef iImplSpinor< SimdSiteSpinor
typedef iImplHalfSpinor< SimdSiteHalfSpinor
typedef iImplDoubledGaugeField< SimdSiteDoubledGaugeField
typedef iImplPropagator< SimdSitePropagator
typedef Lattice< SiteSpinorFermionField
typedef Lattice< SiteDoubledGaugeFieldDoubledGaugeField
typedef Lattice< SitePropagatorPropagatorField
typedef StaggeredImplParams ImplParams
typedef SimpleCompressor< SiteSpinorCompressor
typedef CartesianStencil< SiteSpinor, SiteSpinor, ImplParamsStencilImpl
typedef StencilImpl::View_type StencilView
typedef S Simd
typedef Simd::scalar_type scalar_type
typedef scalar_type Scalar
using iImplScalar
using iImplGaugeLink
using iImplGaugeField
typedef iImplScalar< SimdSiteComplex
typedef iImplGaugeLink< SimdSiteLink
typedef iImplGaugeField< SimdSiteField
typedef Lattice< SiteComplexComplexField
typedef Lattice< SiteLinkLinkField
typedef Lattice< SiteFieldField

Public Member Functions

constexpr bool is_fundamental () const
 INHERIT_GIMPL_TYPES (Gimpl)
 StaggeredImpl (const ImplParams &p=ImplParams())
void InsertGaugeField (DoubledGaugeField &U_ds, const GaugeLinkField &U, int mu)
void DoubleStore (GridBase *GaugeGrid, DoubledGaugeField &UUUds, DoubledGaugeField &Uds, const GaugeField &Uthin, const GaugeField &Ufat)
void InsertForce4D (GaugeField &mat, FermionField &Btilde, FermionField &A, int mu)
void InsertForce5D (GaugeField &mat, FermionField &Btilde, FermionField &Atilde, int mu)
 INHERIT_GIMPL_TYPES (GaugeImplTypes< S, FundamentalRepresentation::Dimension >)

Static Public Member Functions

template<class _Spinor>
static accelerator_inline void multLink (_Spinor &phi, const SiteDoubledGaugeField &U, const _Spinor &chi, int mu)
template<class _Spinor>
static accelerator_inline void multLinkAdd (_Spinor &phi, const SiteDoubledGaugeField &U, const _Spinor &chi, int mu)
template<class ref>
static accelerator_inline void loadLinkElement (Simd &reg, ref &memory)
static Lattice< covariant > CovShiftForward (const GaugeLinkField &Link, int mu, const Lattice< covariant > &field)
static Lattice< covariant > CovShiftBackward (const GaugeLinkField &Link, int mu, const Lattice< covariant > &field)
static GaugeLinkField CovShiftIdentityBackward (const GaugeLinkField &Link, int mu)
static GaugeLinkField CovShiftIdentityForward (const GaugeLinkField &Link, int mu)
static GaugeLinkField ShiftStaple (const GaugeLinkField &Link, int mu)
static GaugeLinkField CshiftLink (const GaugeLinkField &Link, int mu, int shift)
static bool isPeriodicGaugeField (void)
static void AddLink (Field &U, LinkField &W, int mu)
static void generate_momenta (Field &P, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
static Field projectForce (Field &P)
static void update_field (Field &P, Field &U, double ep)
static RealD FieldSquareNorm (Field &U)
static void Project (Field &U)
static void HotConfiguration (GridParallelRNG &pRNG, Field &U)
static void TepidConfiguration (GridParallelRNG &pRNG, Field &U)
static void ColdConfiguration (GridParallelRNG &pRNG, Field &U)

Data Fields

ImplParams Params

Static Public Attributes

static const int Dimension
static const bool isFundamental
static const bool LsVectorised
static const int num_colours

Detailed Description

template<class S, class Representation = FundamentalRepresentation>
class StaggeredImpl< S, Representation >

Definition at line 34 of file StaggeredImpl.h.

Member Typedef Documentation

◆ _Coeff_t

template<class S, class Representation = FundamentalRepresentation>
typedef RealD StaggeredImpl< S, Representation >::_Coeff_t

Definition at line 39 of file StaggeredImpl.h.

◆ Gimpl

template<class S, class Representation = FundamentalRepresentation>
typedef PeriodicGaugeImpl<GaugeImplTypes<S, Dimension > > StaggeredImpl< S, Representation >::Gimpl

Definition at line 43 of file StaggeredImpl.h.

◆ Coeff_t

template<class S, class Representation = FundamentalRepresentation>
typedef _Coeff_t StaggeredImpl< S, Representation >::Coeff_t

Definition at line 48 of file StaggeredImpl.h.

◆ iImplSpinor

template<class S, class Representation = FundamentalRepresentation>
template<typename vtype>
using StaggeredImpl< S, Representation >::iImplSpinor

Definition at line 52 of file StaggeredImpl.h.

◆ iImplHalfSpinor

template<class S, class Representation = FundamentalRepresentation>
template<typename vtype>
using StaggeredImpl< S, Representation >::iImplHalfSpinor

Definition at line 53 of file StaggeredImpl.h.

◆ iImplDoubledGaugeField

template<class S, class Representation = FundamentalRepresentation>
template<typename vtype>
using StaggeredImpl< S, Representation >::iImplDoubledGaugeField

Definition at line 54 of file StaggeredImpl.h.

◆ iImplPropagator

template<class S, class Representation = FundamentalRepresentation>
template<typename vtype>
using StaggeredImpl< S, Representation >::iImplPropagator

Definition at line 55 of file StaggeredImpl.h.

◆ SiteSpinor

template<class S, class Representation = FundamentalRepresentation>
typedef iImplSpinor<Simd> StaggeredImpl< S, Representation >::SiteSpinor

Definition at line 57 of file StaggeredImpl.h.

◆ SiteHalfSpinor

template<class S, class Representation = FundamentalRepresentation>
typedef iImplHalfSpinor<Simd> StaggeredImpl< S, Representation >::SiteHalfSpinor

Definition at line 58 of file StaggeredImpl.h.

◆ SiteDoubledGaugeField

template<class S, class Representation = FundamentalRepresentation>
typedef iImplDoubledGaugeField<Simd> StaggeredImpl< S, Representation >::SiteDoubledGaugeField

Definition at line 59 of file StaggeredImpl.h.

◆ SitePropagator

template<class S, class Representation = FundamentalRepresentation>
typedef iImplPropagator<Simd> StaggeredImpl< S, Representation >::SitePropagator

Definition at line 60 of file StaggeredImpl.h.

◆ FermionField

template<class S, class Representation = FundamentalRepresentation>
typedef Lattice<SiteSpinor> StaggeredImpl< S, Representation >::FermionField

Definition at line 62 of file StaggeredImpl.h.

◆ DoubledGaugeField

template<class S, class Representation = FundamentalRepresentation>
typedef Lattice<SiteDoubledGaugeField> StaggeredImpl< S, Representation >::DoubledGaugeField

Definition at line 63 of file StaggeredImpl.h.

◆ PropagatorField

template<class S, class Representation = FundamentalRepresentation>
typedef Lattice<SitePropagator> StaggeredImpl< S, Representation >::PropagatorField

Definition at line 64 of file StaggeredImpl.h.

◆ ImplParams

template<class S, class Representation = FundamentalRepresentation>
typedef StaggeredImplParams StaggeredImpl< S, Representation >::ImplParams

Definition at line 66 of file StaggeredImpl.h.

◆ Compressor

template<class S, class Representation = FundamentalRepresentation>
typedef SimpleCompressor<SiteSpinor> StaggeredImpl< S, Representation >::Compressor

Definition at line 67 of file StaggeredImpl.h.

◆ StencilImpl

template<class S, class Representation = FundamentalRepresentation>
typedef CartesianStencil<SiteSpinor, SiteSpinor, ImplParams> StaggeredImpl< S, Representation >::StencilImpl

Definition at line 68 of file StaggeredImpl.h.

◆ StencilView

template<class S, class Representation = FundamentalRepresentation>
typedef StencilImpl::View_type StaggeredImpl< S, Representation >::StencilView

Definition at line 69 of file StaggeredImpl.h.

◆ Simd

typedef S GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::Simd
inherited

Definition at line 66 of file GaugeImplTypes.h.

◆ scalar_type

typedef Simd::scalar_type GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::scalar_type
inherited

Definition at line 67 of file GaugeImplTypes.h.

◆ Scalar

typedef scalar_type GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::Scalar
inherited

Definition at line 68 of file GaugeImplTypes.h.

◆ iImplScalar

using GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::iImplScalar
inherited

Definition at line 69 of file GaugeImplTypes.h.

◆ iImplGaugeLink

using GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::iImplGaugeLink
inherited

Definition at line 70 of file GaugeImplTypes.h.

◆ iImplGaugeField

using GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::iImplGaugeField
inherited

Definition at line 71 of file GaugeImplTypes.h.

◆ SiteComplex

typedef iImplScalar<Simd> GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::SiteComplex
inherited

Definition at line 73 of file GaugeImplTypes.h.

◆ SiteLink

typedef iImplGaugeLink<Simd> GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::SiteLink
inherited

Definition at line 74 of file GaugeImplTypes.h.

◆ SiteField

typedef iImplGaugeField<Simd> GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::SiteField
inherited

Definition at line 75 of file GaugeImplTypes.h.

◆ ComplexField

typedef Lattice<SiteComplex> GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::ComplexField
inherited

Definition at line 77 of file GaugeImplTypes.h.

◆ LinkField

typedef Lattice<SiteLink> GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::LinkField
inherited

Definition at line 78 of file GaugeImplTypes.h.

◆ Field

typedef Lattice<SiteField> GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::Field
inherited

Definition at line 79 of file GaugeImplTypes.h.

Constructor & Destructor Documentation

◆ StaggeredImpl()

template<class S, class Representation = FundamentalRepresentation>
StaggeredImpl< S, Representation >::StaggeredImpl ( const ImplParams & p = ImplParams())
inline

Definition at line 73 of file StaggeredImpl.h.

Member Function Documentation

◆ is_fundamental()

template<class S, class Representation = FundamentalRepresentation>
bool StaggeredImpl< S, Representation >::is_fundamental ( ) const
inlineconstexpr

Definition at line 46 of file StaggeredImpl.h.

◆ INHERIT_GIMPL_TYPES() [1/2]

template<class S, class Representation = FundamentalRepresentation>
StaggeredImpl< S, Representation >::INHERIT_GIMPL_TYPES ( Gimpl )

◆ multLink()

template<class S, class Representation = FundamentalRepresentation>
template<class _Spinor>
accelerator_inline void StaggeredImpl< S, Representation >::multLink ( _Spinor & phi,
const SiteDoubledGaugeField & U,
const _Spinor & chi,
int mu )
inlinestatic

Definition at line 76 of file StaggeredImpl.h.

◆ multLinkAdd()

template<class S, class Representation = FundamentalRepresentation>
template<class _Spinor>
accelerator_inline void StaggeredImpl< S, Representation >::multLinkAdd ( _Spinor & phi,
const SiteDoubledGaugeField & U,
const _Spinor & chi,
int mu )
inlinestatic

Definition at line 85 of file StaggeredImpl.h.

◆ loadLinkElement()

template<class S, class Representation = FundamentalRepresentation>
template<class ref>
accelerator_inline void StaggeredImpl< S, Representation >::loadLinkElement ( Simd & reg,
ref & memory )
inlinestatic

Definition at line 95 of file StaggeredImpl.h.

◆ InsertGaugeField()

template<class S, class Representation = FundamentalRepresentation>
void StaggeredImpl< S, Representation >::InsertGaugeField ( DoubledGaugeField & U_ds,
const GaugeLinkField & U,
int mu )
inline

◆ DoubleStore()

template<class S, class Representation = FundamentalRepresentation>
void StaggeredImpl< S, Representation >::DoubleStore ( GridBase * GaugeGrid,
DoubledGaugeField & UUUds,
DoubledGaugeField & Uds,
const GaugeField & Uthin,
const GaugeField & Ufat )
inline

Definition at line 105 of file StaggeredImpl.h.

◆ InsertForce4D()

template<class S, class Representation = FundamentalRepresentation>
void StaggeredImpl< S, Representation >::InsertForce4D ( GaugeField & mat,
FermionField & Btilde,
FermionField & A,
int mu )
inline

Definition at line 164 of file StaggeredImpl.h.

◆ InsertForce5D()

template<class S, class Representation = FundamentalRepresentation>
void StaggeredImpl< S, Representation >::InsertForce5D ( GaugeField & mat,
FermionField & Btilde,
FermionField & Atilde,
int mu )
inline

Definition at line 170 of file StaggeredImpl.h.

◆ INHERIT_GIMPL_TYPES() [2/2]

◆ CovShiftForward()

Lattice< covariant > PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > >::CovShiftForward ( const GaugeLinkField & Link,
int mu,
const Lattice< covariant > & field )
inlinestaticinherited

Definition at line 49 of file GaugeImplementations.h.

◆ CovShiftBackward()

Lattice< covariant > PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > >::CovShiftBackward ( const GaugeLinkField & Link,
int mu,
const Lattice< covariant > & field )
inlinestaticinherited

Definition at line 56 of file GaugeImplementations.h.

◆ CovShiftIdentityBackward()

GaugeLinkField PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > >::CovShiftIdentityBackward ( const GaugeLinkField & Link,
int mu )
inlinestaticinherited

Definition at line 61 of file GaugeImplementations.h.

◆ CovShiftIdentityForward()

GaugeLinkField PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > >::CovShiftIdentityForward ( const GaugeLinkField & Link,
int mu )
inlinestaticinherited

Definition at line 65 of file GaugeImplementations.h.

◆ ShiftStaple()

GaugeLinkField PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > >::ShiftStaple ( const GaugeLinkField & Link,
int mu )
inlinestaticinherited

Definition at line 68 of file GaugeImplementations.h.

◆ CshiftLink()

GaugeLinkField PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > >::CshiftLink ( const GaugeLinkField & Link,
int mu,
int shift )
inlinestaticinherited

Definition at line 73 of file GaugeImplementations.h.

◆ isPeriodicGaugeField()

bool PeriodicGaugeImpl< GaugeImplTypes< S, FundamentalRepresentation::Dimension > >::isPeriodicGaugeField ( void )
inlinestaticinherited

Definition at line 77 of file GaugeImplementations.h.

◆ AddLink()

void GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::AddLink ( Field & U,
LinkField & W,
int mu )
inlinestaticinherited

Definition at line 88 of file GaugeImplTypes.h.

◆ generate_momenta()

void GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::generate_momenta ( Field & P,
GridSerialRNG & sRNG,
GridParallelRNG & pRNG )
inlinestaticinherited

Definition at line 99 of file GaugeImplTypes.h.

◆ projectForce()

Field GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::projectForce ( Field & P)
inlinestaticinherited

Definition at line 129 of file GaugeImplTypes.h.

◆ update_field()

void GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::update_field ( Field & P,
Field & U,
double ep )
inlinestaticinherited

Definition at line 135 of file GaugeImplTypes.h.

◆ FieldSquareNorm()

RealD GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::FieldSquareNorm ( Field & U)
inlinestaticinherited

Definition at line 152 of file GaugeImplTypes.h.

◆ Project()

void GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::Project ( Field & U)
inlinestaticinherited

Definition at line 163 of file GaugeImplTypes.h.

◆ HotConfiguration()

void GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::HotConfiguration ( GridParallelRNG & pRNG,
Field & U )
inlinestaticinherited

Definition at line 167 of file GaugeImplTypes.h.

◆ TepidConfiguration()

void GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::TepidConfiguration ( GridParallelRNG & pRNG,
Field & U )
inlinestaticinherited

Definition at line 171 of file GaugeImplTypes.h.

◆ ColdConfiguration()

void GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::ColdConfiguration ( GridParallelRNG & pRNG,
Field & U )
inlinestaticinherited

Definition at line 175 of file GaugeImplTypes.h.

Field Documentation

◆ Dimension

template<class S, class Representation = FundamentalRepresentation>
const int StaggeredImpl< S, Representation >::Dimension
static

Definition at line 40 of file StaggeredImpl.h.

◆ isFundamental

template<class S, class Representation = FundamentalRepresentation>
const bool StaggeredImpl< S, Representation >::isFundamental
static

Definition at line 41 of file StaggeredImpl.h.

◆ LsVectorised

template<class S, class Representation = FundamentalRepresentation>
const bool StaggeredImpl< S, Representation >::LsVectorised
static

Definition at line 42 of file StaggeredImpl.h.

◆ Params

template<class S, class Representation = FundamentalRepresentation>
ImplParams StaggeredImpl< S, Representation >::Params

Definition at line 71 of file StaggeredImpl.h.

◆ num_colours

const int GaugeImplTypes< S, Nrepresentation, 12, SU<Nc> >::num_colours
staticinherited

Definition at line 179 of file GaugeImplTypes.h.


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