Grid 0.7.0
StaggeredVec5dImpl< S, Representation > Class Template Reference

#include <StaggeredVec5dImpl.h>

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

Public Types

typedef RealD Coeff_t
typedef PeriodicGaugeImpl< GaugeImplTypes< S, Dimension > > Gimpl
template<typename vtype>
using iImplSpinor
template<typename vtype>
using iImplHalfSpinor
template<typename vtype>
using iImplDoubledGaugeField
template<typename vtype>
using iImplGaugeField
template<typename vtype>
using iImplGaugeLink
template<typename vtype>
using iImplPropagator
typedef iImplDoubledGaugeField< typename Simd::scalar_type > SiteDoubledGaugeField
typedef iImplGaugeField< typename Simd::scalar_type > SiteScalarGaugeField
typedef iImplGaugeLink< typename Simd::scalar_type > SiteScalarGaugeLink
typedef iImplPropagator< SimdSitePropagator
typedef Lattice< SiteDoubledGaugeFieldDoubledGaugeField
typedef Lattice< SitePropagatorPropagatorField
typedef iImplSpinor< SimdSiteSpinor
typedef iImplHalfSpinor< SimdSiteHalfSpinor
typedef Lattice< SiteSpinorFermionField
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
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)
 StaggeredVec5dImpl (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 ref>
static accelerator_inline void loadLinkElement (Simd &reg, ref &memory)
static accelerator_inline void multLink (SiteHalfSpinor &phi, const SiteDoubledGaugeField &U, const SiteHalfSpinor &chi, int mu)
static accelerator_inline void multLinkAdd (SiteHalfSpinor &phi, const SiteDoubledGaugeField &U, const SiteHalfSpinor &chi, int mu)
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 StaggeredVec5dImpl< S, Representation >

Definition at line 34 of file StaggeredVec5dImpl.h.

Member Typedef Documentation

◆ Coeff_t

template<class S, class Representation = FundamentalRepresentation>
typedef RealD StaggeredVec5dImpl< S, Representation >::Coeff_t

Definition at line 41 of file StaggeredVec5dImpl.h.

◆ Gimpl

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

Definition at line 42 of file StaggeredVec5dImpl.h.

◆ iImplSpinor

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

Definition at line 50 of file StaggeredVec5dImpl.h.

◆ iImplHalfSpinor

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

Definition at line 51 of file StaggeredVec5dImpl.h.

◆ iImplDoubledGaugeField

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

Definition at line 52 of file StaggeredVec5dImpl.h.

◆ iImplGaugeField

template<class S, class Representation = FundamentalRepresentation>
template<typename vtype>
using StaggeredVec5dImpl< S, Representation >::iImplGaugeField

Definition at line 53 of file StaggeredVec5dImpl.h.

◆ iImplGaugeLink

template<class S, class Representation = FundamentalRepresentation>
template<typename vtype>
using StaggeredVec5dImpl< S, Representation >::iImplGaugeLink

Definition at line 54 of file StaggeredVec5dImpl.h.

◆ iImplPropagator

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

Definition at line 55 of file StaggeredVec5dImpl.h.

◆ SiteDoubledGaugeField

template<class S, class Representation = FundamentalRepresentation>
typedef iImplDoubledGaugeField<typename Simd::scalar_type> StaggeredVec5dImpl< S, Representation >::SiteDoubledGaugeField

Definition at line 58 of file StaggeredVec5dImpl.h.

◆ SiteScalarGaugeField

template<class S, class Representation = FundamentalRepresentation>
typedef iImplGaugeField<typename Simd::scalar_type> StaggeredVec5dImpl< S, Representation >::SiteScalarGaugeField

Definition at line 59 of file StaggeredVec5dImpl.h.

◆ SiteScalarGaugeLink

template<class S, class Representation = FundamentalRepresentation>
typedef iImplGaugeLink<typename Simd::scalar_type> StaggeredVec5dImpl< S, Representation >::SiteScalarGaugeLink

Definition at line 60 of file StaggeredVec5dImpl.h.

◆ SitePropagator

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

Definition at line 61 of file StaggeredVec5dImpl.h.

◆ DoubledGaugeField

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

Definition at line 63 of file StaggeredVec5dImpl.h.

◆ PropagatorField

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

Definition at line 64 of file StaggeredVec5dImpl.h.

◆ SiteSpinor

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

Definition at line 66 of file StaggeredVec5dImpl.h.

◆ SiteHalfSpinor

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

Definition at line 67 of file StaggeredVec5dImpl.h.

◆ FermionField

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

Definition at line 70 of file StaggeredVec5dImpl.h.

◆ ImplParams

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

Definition at line 72 of file StaggeredVec5dImpl.h.

◆ Compressor

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

Definition at line 73 of file StaggeredVec5dImpl.h.

◆ StencilImpl

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

Definition at line 74 of file StaggeredVec5dImpl.h.

◆ StencilView

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

Definition at line 75 of file StaggeredVec5dImpl.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.

◆ 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

◆ StaggeredVec5dImpl()

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

Definition at line 79 of file StaggeredVec5dImpl.h.

Member Function Documentation

◆ is_fundamental()

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

Definition at line 45 of file StaggeredVec5dImpl.h.

◆ INHERIT_GIMPL_TYPES() [1/2]

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

◆ loadLinkElement()

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

Definition at line 82 of file StaggeredVec5dImpl.h.

◆ multLink()

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

Definition at line 87 of file StaggeredVec5dImpl.h.

◆ multLinkAdd()

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

Definition at line 100 of file StaggeredVec5dImpl.h.

◆ InsertGaugeField()

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

◆ DoubleStore()

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

Definition at line 118 of file StaggeredVec5dImpl.h.

◆ InsertForce4D()

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

Definition at line 178 of file StaggeredVec5dImpl.h.

◆ InsertForce5D()

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

Definition at line 182 of file StaggeredVec5dImpl.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 StaggeredVec5dImpl< S, Representation >::Dimension
static

Definition at line 38 of file StaggeredVec5dImpl.h.

◆ isFundamental

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

Definition at line 39 of file StaggeredVec5dImpl.h.

◆ LsVectorised

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

Definition at line 40 of file StaggeredVec5dImpl.h.

◆ Params

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

Definition at line 77 of file StaggeredVec5dImpl.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: