Grid 0.7.0
WilsonImpl< S, Representation, Options > Class Template Reference

#include <WilsonImpl.h>

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

Public Types

typedef PeriodicGaugeImpl< GaugeImplTypes< S, Dimension > > Gimpl
typedef Options::_Coeff_t Coeff_t
typedef Options::template PrecisionMapper< Simd >::LowerPrecVector SimdL
template<typename vtype>
using iImplSpinor
template<typename vtype>
using iImplPropagator
template<typename vtype>
using iImplHalfSpinor
template<typename vtype>
using iImplHalfCommSpinor
template<typename vtype>
using iImplDoubledGaugeField
typedef iImplSpinor< SimdSiteSpinor
typedef iImplPropagator< SimdSitePropagator
typedef iImplHalfSpinor< SimdSiteHalfSpinor
typedef iImplHalfCommSpinor< SimdLSiteHalfCommSpinor
typedef iImplDoubledGaugeField< SimdSiteDoubledGaugeField
typedef Lattice< SiteSpinorFermionField
typedef Lattice< SitePropagatorPropagatorField
typedef Lattice< SiteDoubledGaugeFieldDoubledGaugeField
typedef WilsonCompressor< SiteHalfCommSpinor, SiteHalfSpinor, SiteSpinorCompressor
typedef WilsonImplParams ImplParams
typedef WilsonStencil< SiteSpinor, SiteHalfSpinor, ImplParamsStencilImpl
typedef const 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

 INHERIT_GIMPL_TYPES (Gimpl)
constexpr bool is_fundamental () const
 WilsonImpl (const ImplParams &p=ImplParams())
template<class _SpinorField>
void multLinkField (_SpinorField &out, const DoubledGaugeField &Umu, const _SpinorField &phi, int mu)
void DoubleStore (GridBase *GaugeGrid, DoubledGaugeField &Uds, const GaugeField &Umu)
void InsertForce4D (GaugeField &mat, FermionField &Btilde, FermionField &A, int mu)
void outerProductImpl (PropagatorField &mat, const FermionField &B, const FermionField &A)
void TraceSpinImpl (GaugeLinkField &mat, PropagatorField &P)
void extractLinkField (std::vector< GaugeLinkField > &mat, DoubledGaugeField &Uds)
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 multLink (_Spinor &phi, const SiteDoubledGaugeField &U, const _Spinor &chi, int mu, StencilEntry *SE, StencilView &St)
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 bool isGparity
static const int Nhcs
static const int num_colours

Detailed Description

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
class WilsonImpl< S, Representation, Options >

Definition at line 38 of file WilsonImpl.h.

Member Typedef Documentation

◆ Gimpl

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef PeriodicGaugeImpl<GaugeImplTypes<S, Dimension > > WilsonImpl< S, Representation, Options >::Gimpl

Definition at line 47 of file WilsonImpl.h.

◆ Coeff_t

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef Options::_Coeff_t WilsonImpl< S, Representation, Options >::Coeff_t

Definition at line 53 of file WilsonImpl.h.

◆ SimdL

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef Options::template PrecisionMapper<Simd>::LowerPrecVector WilsonImpl< S, Representation, Options >::SimdL

Definition at line 54 of file WilsonImpl.h.

◆ iImplSpinor

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
template<typename vtype>
using WilsonImpl< S, Representation, Options >::iImplSpinor

Definition at line 56 of file WilsonImpl.h.

◆ iImplPropagator

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
template<typename vtype>
using WilsonImpl< S, Representation, Options >::iImplPropagator

Definition at line 57 of file WilsonImpl.h.

◆ iImplHalfSpinor

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
template<typename vtype>
using WilsonImpl< S, Representation, Options >::iImplHalfSpinor

Definition at line 58 of file WilsonImpl.h.

◆ iImplHalfCommSpinor

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
template<typename vtype>
using WilsonImpl< S, Representation, Options >::iImplHalfCommSpinor

Definition at line 59 of file WilsonImpl.h.

◆ iImplDoubledGaugeField

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
template<typename vtype>
using WilsonImpl< S, Representation, Options >::iImplDoubledGaugeField

Definition at line 60 of file WilsonImpl.h.

◆ SiteSpinor

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef iImplSpinor<Simd> WilsonImpl< S, Representation, Options >::SiteSpinor

Definition at line 62 of file WilsonImpl.h.

◆ SitePropagator

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef iImplPropagator<Simd> WilsonImpl< S, Representation, Options >::SitePropagator

Definition at line 63 of file WilsonImpl.h.

◆ SiteHalfSpinor

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef iImplHalfSpinor<Simd> WilsonImpl< S, Representation, Options >::SiteHalfSpinor

Definition at line 64 of file WilsonImpl.h.

◆ SiteHalfCommSpinor

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef iImplHalfCommSpinor<SimdL> WilsonImpl< S, Representation, Options >::SiteHalfCommSpinor

Definition at line 65 of file WilsonImpl.h.

◆ SiteDoubledGaugeField

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef iImplDoubledGaugeField<Simd> WilsonImpl< S, Representation, Options >::SiteDoubledGaugeField

Definition at line 66 of file WilsonImpl.h.

◆ FermionField

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef Lattice<SiteSpinor> WilsonImpl< S, Representation, Options >::FermionField

Definition at line 68 of file WilsonImpl.h.

◆ PropagatorField

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef Lattice<SitePropagator> WilsonImpl< S, Representation, Options >::PropagatorField

Definition at line 69 of file WilsonImpl.h.

◆ DoubledGaugeField

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef Lattice<SiteDoubledGaugeField> WilsonImpl< S, Representation, Options >::DoubledGaugeField

Definition at line 70 of file WilsonImpl.h.

◆ Compressor

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef WilsonCompressor<SiteHalfCommSpinor,SiteHalfSpinor, SiteSpinor> WilsonImpl< S, Representation, Options >::Compressor

Definition at line 72 of file WilsonImpl.h.

◆ ImplParams

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef WilsonImplParams WilsonImpl< S, Representation, Options >::ImplParams

Definition at line 73 of file WilsonImpl.h.

◆ StencilImpl

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef WilsonStencil<SiteSpinor, SiteHalfSpinor,ImplParams> WilsonImpl< S, Representation, Options >::StencilImpl

Definition at line 74 of file WilsonImpl.h.

◆ StencilView

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
typedef const StencilImpl::View_type WilsonImpl< S, Representation, Options >::StencilView

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

◆ WilsonImpl()

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

Definition at line 79 of file WilsonImpl.h.

Member Function Documentation

◆ INHERIT_GIMPL_TYPES() [1/2]

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
WilsonImpl< S, Representation, Options >::INHERIT_GIMPL_TYPES ( Gimpl )

◆ is_fundamental()

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

Definition at line 51 of file WilsonImpl.h.

◆ multLink() [1/2]

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

◆ multLink() [2/2]

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
template<class _Spinor>
accelerator_inline void WilsonImpl< S, Representation, Options >::multLink ( _Spinor & phi,
const SiteDoubledGaugeField & U,
const _Spinor & chi,
int mu,
StencilEntry * SE,
StencilView & St )
inlinestatic

Definition at line 93 of file WilsonImpl.h.

◆ multLinkField()

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
template<class _SpinorField>
void WilsonImpl< S, Representation, Options >::multLinkField ( _SpinorField & out,
const DoubledGaugeField & Umu,
const _SpinorField & phi,
int mu )
inline

Definition at line 104 of file WilsonImpl.h.

◆ loadLinkElement()

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

Definition at line 122 of file WilsonImpl.h.

◆ DoubleStore()

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
void WilsonImpl< S, Representation, Options >::DoubleStore ( GridBase * GaugeGrid,
DoubledGaugeField & Uds,
const GaugeField & Umu )
inline

Definition at line 127 of file WilsonImpl.h.

◆ InsertForce4D()

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

Definition at line 173 of file WilsonImpl.h.

◆ outerProductImpl()

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
void WilsonImpl< S, Representation, Options >::outerProductImpl ( PropagatorField & mat,
const FermionField & B,
const FermionField & A )
inline

Definition at line 179 of file WilsonImpl.h.

◆ TraceSpinImpl()

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
void WilsonImpl< S, Representation, Options >::TraceSpinImpl ( GaugeLinkField & mat,
PropagatorField & P )
inline

Definition at line 183 of file WilsonImpl.h.

◆ extractLinkField()

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
void WilsonImpl< S, Representation, Options >::extractLinkField ( std::vector< GaugeLinkField > & mat,
DoubledGaugeField & Uds )
inline

Definition at line 187 of file WilsonImpl.h.

◆ InsertForce5D()

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

Definition at line 193 of file WilsonImpl.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, class Options = CoeffReal>
const int WilsonImpl< S, Representation, Options >::Dimension
static

Definition at line 41 of file WilsonImpl.h.

◆ isFundamental

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
const bool WilsonImpl< S, Representation, Options >::isFundamental
static

Definition at line 42 of file WilsonImpl.h.

◆ LsVectorised

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
const bool WilsonImpl< S, Representation, Options >::LsVectorised
static

Definition at line 43 of file WilsonImpl.h.

◆ isGparity

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
const bool WilsonImpl< S, Representation, Options >::isGparity
static

Definition at line 44 of file WilsonImpl.h.

◆ Nhcs

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
const int WilsonImpl< S, Representation, Options >::Nhcs
static

Definition at line 45 of file WilsonImpl.h.

◆ Params

template<class S, class Representation = FundamentalRepresentation, class Options = CoeffReal>
ImplParams WilsonImpl< S, Representation, Options >::Params

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