Grid 0.7.0
ImprovedStaggeredFermion5D< Impl > Class Template Referenceabstract

#include <ImprovedStaggeredFermion5D.h>

Inheritance diagram for ImprovedStaggeredFermion5D< Impl >:
StaggeredKernels< Impl > ImprovedStaggeredFermion5DStatic FermionOperator< Impl > StaggeredKernelsStatic CheckerBoardedSparseMatrixBase< Impl::FermionField > SparseMatrixBase< Impl::FermionField >

Public Types

typedef StaggeredKernels< Impl > Kernels
typedef FermionOperator< Impl > Base
enum  { OptGeneric , OptHandUnroll , OptInlineAsm }
enum  { CommsAndCompute , CommsThenCompute }

Public Member Functions

 INHERIT_IMPL_TYPES (Impl)
FermionField & tmp (void)
GridBaseGaugeGrid (void)
GridBaseGaugeRedBlackGrid (void)
GridBaseFermionGrid (void)
GridBaseFermionRedBlackGrid (void)
void M (const FermionField &in, FermionField &out)
void Mdag (const FermionField &in, FermionField &out)
void Meooe (const FermionField &in, FermionField &out)
void Mooee (const FermionField &in, FermionField &out)
void MooeeInv (const FermionField &in, FermionField &out)
void MeooeDag (const FermionField &in, FermionField &out)
void MooeeDag (const FermionField &in, FermionField &out)
void MooeeInvDag (const FermionField &in, FermionField &out)
void Mdir (const FermionField &in, FermionField &out, int dir, int disp)
void MdirAll (const FermionField &in, std::vector< FermionField > &out)
void DhopDir (const FermionField &in, FermionField &out, int dir, int disp)
void DhopDeriv (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
void DhopDerivEO (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
void DhopDerivOE (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
void Dhop (const FermionField &in, FermionField &out, int dag)
void DhopOE (const FermionField &in, FermionField &out, int dag)
void DhopEO (const FermionField &in, FermionField &out, int dag)
void DerivInternal (StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, GaugeField &mat, const FermionField &A, const FermionField &B, int dag)
void DhopInternal (StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, const FermionField &in, FermionField &out, int dag)
void DhopInternalOverlappedComms (StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, const FermionField &in, FermionField &out, int dag)
void DhopInternalSerialComms (StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, const FermionField &in, FermionField &out, int dag)
 ImprovedStaggeredFermion5D (GaugeField &_Uthin, GaugeField &_Ufat, GridCartesian &FiveDimGrid, GridRedBlackCartesian &FiveDimRedBlackGrid, GridCartesian &FourDimGrid, GridRedBlackCartesian &FourDimRedBlackGrid, double _mass, RealD _c1, RealD _c2, RealD _u0, const ImplParams &p=ImplParams())
 ImprovedStaggeredFermion5D (GridCartesian &FiveDimGrid, GridRedBlackCartesian &FiveDimRedBlackGrid, GridCartesian &FourDimGrid, GridRedBlackCartesian &FourDimRedBlackGrid, double _mass, RealD _c1=1.0, RealD _c2=1.0, RealD _u0=1.0, const ImplParams &p=ImplParams())
void ImportGauge (const GaugeField &_Uthin)
void ImportGauge (const GaugeField &_Uthin, const GaugeField &_Ufat)
void ImportGaugeSimple (const GaugeField &_UUU, const GaugeField &_U)
void ImportGaugeSimple (const DoubledGaugeField &_UUU, const DoubledGaugeField &_U)
DoubledGaugeField & GetU (void)
DoubledGaugeField & GetUUU (void)
void CopyGaugeCheckerboards (void)
virtual int isTrivialEE (void)
virtual RealD Mass (void)
void SloppyComms (int sloppy)
void ContractConservedCurrent (PropagatorField &q_in_1, PropagatorField &q_in_2, PropagatorField &q_out, PropagatorField &src, Current curr_type, unsigned int mu)
void SeqConservedCurrent (PropagatorField &q_in, PropagatorField &q_out, PropagatorField &src, Current curr_type, unsigned int mu, unsigned int tmin, unsigned int tmax, ComplexField &lattice_cmplx)
void DhopImproved (StencilImpl &st, DoubledGaugeField &U, DoubledGaugeField &UUU, const FermionField &in, FermionField &out, int dag, int interior, int exterior)
void DhopNaive (StencilImpl &st, DoubledGaugeField &U, const FermionField &in, FermionField &out, int dag, int interior, int exterior)
void DhopDirKernel (StencilImpl &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out, int dir, int disp)
virtual void DirichletBlock (const Coordinate &_Block)
GridBaseGrid (void)
GridBaseRedBlackGrid (void)
virtual void M (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void Mdag (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void Meooe (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void MeooeDag (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void Mooee (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void MooeeDag (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void MooeeInv (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void MooeeInvDag (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void MDeriv (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
virtual void MoeDeriv (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
virtual void MeoDeriv (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
virtual void MooDeriv (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
virtual void MeeDeriv (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
virtual void Mdiag (const FermionField &in, FermionField &out)
virtual void Mdiag (const Impl::FermionField &in, Impl::FermionField &out)=0
virtual void Mdir (const Impl::FermionField &in, Impl::FermionField &out, int dir, int disp)=0
virtual void MdirAll (const Impl::FermionField &in, std::vector< Impl::FermionField > &out)=0
virtual void MomentumSpacePropagator (FermionField &out, const FermionField &in, RealD _m, std::vector< double > twist)
virtual void FreePropagator (const FermionField &in, FermionField &out, RealD mass, std::vector< Complex > boundary, std::vector< double > twist)
virtual void FreePropagator (const FermionField &in, FermionField &out, RealD mass)
virtual void ContractJ5q (FermionField &q_in, ComplexField &J5q)
virtual void ContractJ5q (PropagatorField &q_in, ComplexField &J5q)
virtual void Dminus (const FermionField &psi, FermionField &chi)
virtual void DminusDag (const FermionField &psi, FermionField &chi)
virtual void ImportPhysicalFermionSource (const FermionField &input, FermionField &imported)
virtual void ImportUnphysicalFermion (const FermionField &input, FermionField &imported)
virtual void ExportPhysicalFermionSolution (const FermionField &solution, FermionField &exported)
virtual void ExportPhysicalFermionSource (const FermionField &solution, FermionField &exported)
virtual int ConstEE (void)
virtual void MdagM (const Impl::FermionField &in, Impl::FermionField &out)
virtual void MMdag (const Impl::FermionField &in, Impl::FermionField &out)

Data Fields

FermionField _tmp
GridBase_FourDimGrid
GridBase_FourDimRedBlackGrid
GridBase_FiveDimGrid
GridBase_FiveDimRedBlackGrid
RealD mass
RealD c1
RealD c2
RealD u0
int Ls
StencilImpl Stencil
StencilImpl StencilEven
StencilImpl StencilOdd
DoubledGaugeField Umu
DoubledGaugeField UmuEven
DoubledGaugeField UmuOdd
DoubledGaugeField UUUmu
DoubledGaugeField UUUmuEven
DoubledGaugeField UUUmuOdd
const int npoint

Static Public Attributes

static int Opt
static int Comms
static const std::vector< int > directions
static const std::vector< int > displacements

Protected Member Functions

void DhopSiteAsm (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int LLs, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)
void DhopSiteAsm (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)
void DhopSiteAsm (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int sF, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)

Static Protected Member Functions

template<int Naik>
static accelerator_inline void DhopSiteGeneric (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int LLs, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)
template<int Naik>
static accelerator_inline void DhopSiteGenericInt (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int LLs, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)
template<int Naik>
static accelerator_inline void DhopSiteGenericExt (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int LLs, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)
template<int Naik>
static accelerator_inline void DhopSiteHand (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int LLs, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)
template<int Naik>
static accelerator_inline void DhopSiteHandInt (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int LLs, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)
template<int Naik>
static accelerator_inline void DhopSiteHandExt (StencilView &st, DoubledGaugeFieldView &U, DoubledGaugeFieldView &UUU, SiteSpinor *buf, int LLs, int sU, const FermionFieldView &in, FermionFieldView &out, int dag)

Detailed Description

template<class Impl>
class ImprovedStaggeredFermion5D< Impl >

Definition at line 46 of file ImprovedStaggeredFermion5D.h.

Member Typedef Documentation

◆ Kernels

template<class Impl>
typedef StaggeredKernels<Impl> ImprovedStaggeredFermion5D< Impl >::Kernels

Definition at line 50 of file ImprovedStaggeredFermion5D.h.

◆ Base

template<class Impl>
typedef FermionOperator<Impl> StaggeredKernels< Impl >::Base
inherited

Definition at line 48 of file StaggeredKernels.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
Enumerator
OptGeneric 
OptHandUnroll 
OptInlineAsm 

Definition at line 38 of file StaggeredKernels.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
CommsAndCompute 
CommsThenCompute 

Definition at line 39 of file StaggeredKernels.h.

Constructor & Destructor Documentation

◆ ImprovedStaggeredFermion5D() [1/2]

template<class Impl>
ImprovedStaggeredFermion5D< Impl >::ImprovedStaggeredFermion5D ( GaugeField & _Uthin,
GaugeField & _Ufat,
GridCartesian & FiveDimGrid,
GridRedBlackCartesian & FiveDimRedBlackGrid,
GridCartesian & FourDimGrid,
GridRedBlackCartesian & FourDimRedBlackGrid,
double _mass,
RealD _c1,
RealD _c2,
RealD _u0,
const ImplParams & p = ImplParams() )

◆ ImprovedStaggeredFermion5D() [2/2]

Member Function Documentation

◆ INHERIT_IMPL_TYPES()

template<class Impl>
ImprovedStaggeredFermion5D< Impl >::INHERIT_IMPL_TYPES ( Impl )

◆ tmp()

template<class Impl>
FermionField & ImprovedStaggeredFermion5D< Impl >::tmp ( void )
inlinevirtual

Implements FermionOperator< Impl >.

Definition at line 53 of file ImprovedStaggeredFermion5D.h.

◆ GaugeGrid()

template<class Impl>
GridBase * ImprovedStaggeredFermion5D< Impl >::GaugeGrid ( void )
inlinevirtual

Implements FermionOperator< Impl >.

Definition at line 58 of file ImprovedStaggeredFermion5D.h.

Referenced by ImportGauge().

◆ GaugeRedBlackGrid()

template<class Impl>
GridBase * ImprovedStaggeredFermion5D< Impl >::GaugeRedBlackGrid ( void )
inlinevirtual

Implements FermionOperator< Impl >.

Definition at line 59 of file ImprovedStaggeredFermion5D.h.

◆ FermionGrid()

template<class Impl>
GridBase * ImprovedStaggeredFermion5D< Impl >::FermionGrid ( void )
inlinevirtual

Implements FermionOperator< Impl >.

Definition at line 60 of file ImprovedStaggeredFermion5D.h.

Referenced by Dhop().

◆ FermionRedBlackGrid()

template<class Impl>
GridBase * ImprovedStaggeredFermion5D< Impl >::FermionRedBlackGrid ( void )
inlinevirtual

Implements FermionOperator< Impl >.

Definition at line 61 of file ImprovedStaggeredFermion5D.h.

Referenced by DhopEO(), and DhopOE().

◆ M() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::M ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 396 of file ImprovedStaggeredFermion5DImplementation.h.

References axpy(), DaggerNo, Dhop(), and mass.

◆ Mdag() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::Mdag ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 404 of file ImprovedStaggeredFermion5DImplementation.h.

References axpy(), DaggerYes, Dhop(), and mass.

◆ Meooe() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::Meooe ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 412 of file ImprovedStaggeredFermion5DImplementation.h.

References DaggerNo, DhopEO(), DhopOE(), and Odd.

◆ Mooee() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::Mooee ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 431 of file ImprovedStaggeredFermion5DImplementation.h.

References mass.

Referenced by MooeeDag().

◆ MooeeInv() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::MooeeInv ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 446 of file ImprovedStaggeredFermion5DImplementation.h.

References mass.

Referenced by MooeeInvDag().

◆ MeooeDag() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::MeooeDag ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 421 of file ImprovedStaggeredFermion5DImplementation.h.

References DaggerYes, DhopEO(), DhopOE(), and Odd.

◆ MooeeDag() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::MooeeDag ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 439 of file ImprovedStaggeredFermion5DImplementation.h.

References Mooee().

◆ MooeeInvDag() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::MooeeInvDag ( const FermionField & in,
FermionField & out )
virtual

Implements FermionOperator< Impl >.

Definition at line 453 of file ImprovedStaggeredFermion5DImplementation.h.

References MooeeInv().

◆ Mdir() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::Mdir ( const FermionField & in,
FermionField & out,
int dir,
int disp )
virtual

Implements FermionOperator< Impl >.

Definition at line 386 of file ImprovedStaggeredFermion5DImplementation.h.

References DhopDir().

◆ MdirAll() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::MdirAll ( const FermionField & in,
std::vector< FermionField > & out )
virtual

◆ DhopDir()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopDir ( const FermionField & in,
FermionField & out,
int dir,
int disp )
virtual

Implements FermionOperator< Impl >.

Definition at line 215 of file ImprovedStaggeredFermion5DImplementation.h.

References autoView, CpuRead, CpuWrite, Stencil, thread_for, Umu, and UUUmu.

Referenced by Mdir().

◆ DhopDeriv()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopDeriv ( GaugeField & mat,
const FermionField & U,
const FermionField & V,
int dag )
virtual

Implements FermionOperator< Impl >.

Definition at line 249 of file ImprovedStaggeredFermion5DImplementation.h.

References B.

◆ DhopDerivEO()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopDerivEO ( GaugeField & mat,
const FermionField & U,
const FermionField & V,
int dag )
virtual

Implements FermionOperator< Impl >.

Definition at line 258 of file ImprovedStaggeredFermion5DImplementation.h.

References B.

◆ DhopDerivOE()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopDerivOE ( GaugeField & mat,
const FermionField & U,
const FermionField & V,
int dag )
virtual

Implements FermionOperator< Impl >.

Definition at line 268 of file ImprovedStaggeredFermion5DImplementation.h.

References B.

◆ Dhop()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::Dhop ( const FermionField & in,
FermionField & out,
int dag )
virtual

Implements FermionOperator< Impl >.

Definition at line 372 of file ImprovedStaggeredFermion5DImplementation.h.

References conformable(), DhopInternal(), FermionGrid(), Stencil, Umu, and UUUmu.

Referenced by M(), and Mdag().

◆ DhopOE()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopOE ( const FermionField & in,
FermionField & out,
int dag )
virtual

◆ DhopEO()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopEO ( const FermionField & in,
FermionField & out,
int dag )
virtual

◆ DerivInternal()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DerivInternal ( StencilImpl & st,
DoubledGaugeField & U,
DoubledGaugeField & UUU,
GaugeField & mat,
const FermionField & A,
const FermionField & B,
int dag )

Definition at line 236 of file ImprovedStaggeredFermion5DImplementation.h.

References B, and U.

◆ DhopInternal()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopInternal ( StencilImpl & st,
DoubledGaugeField & U,
DoubledGaugeField & UUU,
const FermionField & in,
FermionField & out,
int dag )

◆ DhopInternalOverlappedComms()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopInternalOverlappedComms ( StencilImpl & st,
DoubledGaugeField & U,
DoubledGaugeField & UUU,
const FermionField & in,
FermionField & out,
int dag )

◆ DhopInternalSerialComms()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::DhopInternalSerialComms ( StencilImpl & st,
DoubledGaugeField & U,
DoubledGaugeField & UUU,
const FermionField & in,
FermionField & out,
int dag )

◆ ImportGauge() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::ImportGauge ( const GaugeField & _Uthin)
inlinevirtual

Implements FermionOperator< Impl >.

Definition at line 149 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D().

◆ ImportGauge() [2/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::ImportGauge ( const GaugeField & _Uthin,
const GaugeField & _Ufat )

◆ ImportGaugeSimple() [1/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::ImportGaugeSimple ( const GaugeField & _UUU,
const GaugeField & _U )

◆ ImportGaugeSimple() [2/2]

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::ImportGaugeSimple ( const DoubledGaugeField & _UUU,
const DoubledGaugeField & _U )

Definition at line 175 of file ImprovedStaggeredFermion5DImplementation.h.

References CopyGaugeCheckerboards(), Umu, and UUUmu.

◆ GetU()

template<class Impl>
DoubledGaugeField & ImprovedStaggeredFermion5D< Impl >::GetU ( void )
inline

Definition at line 155 of file ImprovedStaggeredFermion5D.h.

◆ GetUUU()

template<class Impl>
DoubledGaugeField & ImprovedStaggeredFermion5D< Impl >::GetUUU ( void )
inline

Definition at line 156 of file ImprovedStaggeredFermion5D.h.

◆ CopyGaugeCheckerboards()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::CopyGaugeCheckerboards ( void )

◆ isTrivialEE()

template<class Impl>
virtual int ImprovedStaggeredFermion5D< Impl >::isTrivialEE ( void )
inlinevirtual

◆ Mass()

template<class Impl>
virtual RealD ImprovedStaggeredFermion5D< Impl >::Mass ( void )
inlinevirtual

◆ SloppyComms()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::SloppyComms ( int sloppy)
inline

Definition at line 182 of file ImprovedStaggeredFermion5D.h.

◆ ContractConservedCurrent()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::ContractConservedCurrent ( PropagatorField & q_in_1,
PropagatorField & q_in_2,
PropagatorField & q_out,
PropagatorField & src,
Current curr_type,
unsigned int mu )
virtual

Reimplemented from FermionOperator< Impl >.

Definition at line 463 of file ImprovedStaggeredFermion5DImplementation.h.

◆ SeqConservedCurrent()

template<class Impl>
void ImprovedStaggeredFermion5D< Impl >::SeqConservedCurrent ( PropagatorField & q_in,
PropagatorField & q_out,
PropagatorField & src,
Current curr_type,
unsigned int mu,
unsigned int tmin,
unsigned int tmax,
ComplexField & lattice_cmplx )
virtual

Reimplemented from FermionOperator< Impl >.

Definition at line 474 of file ImprovedStaggeredFermion5DImplementation.h.

◆ DhopImproved()

◆ DhopNaive()

◆ DhopDirKernel()

template<class Impl>
void StaggeredKernels< Impl >::DhopDirKernel ( StencilImpl & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int sF,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dir,
int disp )
inherited

Definition at line 230 of file StaggeredKernelsImplementation.h.

References U.

◆ DhopSiteGeneric()

template<class Impl>
template<int Naik>
accelerator_inline void StaggeredKernels< Impl >::DhopSiteGeneric ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int LLs,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
staticprotectedinherited

Definition at line 75 of file StaggeredKernelsImplementation.h.

References U.

Referenced by DhopImproved(), and DhopNaive().

◆ DhopSiteGenericInt()

template<class Impl>
template<int Naik>
accelerator_inline void StaggeredKernels< Impl >::DhopSiteGenericInt ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int LLs,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
staticprotectedinherited

◆ DhopSiteGenericExt()

template<class Impl>
template<int Naik>
accelerator_inline void StaggeredKernels< Impl >::DhopSiteGenericExt ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int LLs,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
staticprotectedinherited

◆ DhopSiteHand()

template<class Impl>
template<int Naik>
accelerator_inline void StaggeredKernels< Impl >::DhopSiteHand ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int LLs,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
staticprotectedinherited

◆ DhopSiteHandInt()

template<class Impl>
template<int Naik>
accelerator_inline void StaggeredKernels< Impl >::DhopSiteHandInt ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int LLs,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
staticprotectedinherited

◆ DhopSiteHandExt()

template<class Impl>
template<int Naik>
accelerator_inline void StaggeredKernels< Impl >::DhopSiteHandExt ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int LLs,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
staticprotectedinherited

◆ DhopSiteAsm() [1/3]

template<class Impl>
void StaggeredKernels< Impl >::DhopSiteAsm ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int LLs,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
protectedinherited

Definition at line 621 of file StaggeredKernelsAsm.h.

References U.

Referenced by DhopImproved().

◆ DhopSiteAsm() [2/3]

void StaggeredKernels< StaggeredImplF >::DhopSiteAsm ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int sF,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
protectedinherited

Definition at line 828 of file StaggeredKernelsAsm.h.

References LOAD_CHIa, MULT_ADD_XYZT, MULT_XYZT, nREDUCEa, PERMUTE01, PERMUTE23, PREPARE, ptype, REDUCEa, Tm, Tp, U, Xm, Xp, Ym, Yp, Zm, and Zp.

◆ DhopSiteAsm() [3/3]

void StaggeredKernels< StaggeredImplD >::DhopSiteAsm ( StencilView & st,
DoubledGaugeFieldView & U,
DoubledGaugeFieldView & UUU,
SiteSpinor * buf,
int sF,
int sU,
const FermionFieldView & in,
FermionFieldView & out,
int dag )
protectedinherited

Definition at line 897 of file StaggeredKernelsAsm.h.

References LOAD_CHIa, MULT_ADD_XYZT, MULT_XYZT, nREDUCEa, PERMUTE01, PERMUTE23, PREPARE, ptype, REDUCEa, Tm, Tp, U, Xm, Xp, Ym, Yp, Zm, and Zp.

◆ DirichletBlock()

template<class Impl>
virtual void FermionOperator< Impl >::DirichletBlock ( const Coordinate & _Block)
inlinevirtualinherited

◆ Grid()

template<class Impl>
GridBase * FermionOperator< Impl >::Grid ( void )
inlinevirtualinherited

Implements SparseMatrixBase< Impl::FermionField >.

Definition at line 54 of file FermionOperator.h.

References FermionGrid().

◆ RedBlackGrid()

template<class Impl>
GridBase * FermionOperator< Impl >::RedBlackGrid ( void )
inlinevirtualinherited

◆ M() [2/2]

virtual void SparseMatrixBase< Impl::FermionField >::M ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ Mdag() [2/2]

virtual void SparseMatrixBase< Impl::FermionField >::Mdag ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ Meooe() [2/2]

virtual void CheckerBoardedSparseMatrixBase< Impl::FermionField >::Meooe ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ MeooeDag() [2/2]

virtual void CheckerBoardedSparseMatrixBase< Impl::FermionField >::MeooeDag ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ Mooee() [2/2]

virtual void CheckerBoardedSparseMatrixBase< Impl::FermionField >::Mooee ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ MooeeDag() [2/2]

virtual void CheckerBoardedSparseMatrixBase< Impl::FermionField >::MooeeDag ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ MooeeInv() [2/2]

virtual void CheckerBoardedSparseMatrixBase< Impl::FermionField >::MooeeInv ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ MooeeInvDag() [2/2]

virtual void CheckerBoardedSparseMatrixBase< Impl::FermionField >::MooeeInvDag ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ MDeriv()

◆ MoeDeriv()

template<class Impl>
virtual void FermionOperator< Impl >::MoeDeriv ( GaugeField & mat,
const FermionField & U,
const FermionField & V,
int dag )
inlinevirtualinherited

◆ MeoDeriv()

template<class Impl>
virtual void FermionOperator< Impl >::MeoDeriv ( GaugeField & mat,
const FermionField & U,
const FermionField & V,
int dag )
inlinevirtualinherited

◆ MooDeriv()

◆ MeeDeriv()

◆ Mdiag() [1/2]

template<class Impl>
virtual void FermionOperator< Impl >::Mdiag ( const FermionField & in,
FermionField & out )
inlinevirtualinherited

Definition at line 91 of file FermionOperator.h.

References Mooee().

◆ Mdiag() [2/2]

virtual void SparseMatrixBase< Impl::FermionField >::Mdiag ( const Impl::FermionField & in,
Impl::FermionField & out )
pure virtualinherited

◆ Mdir() [2/2]

virtual void SparseMatrixBase< Impl::FermionField >::Mdir ( const Impl::FermionField & in,
Impl::FermionField & out,
int dir,
int disp )
pure virtualinherited

◆ MdirAll() [2/2]

virtual void SparseMatrixBase< Impl::FermionField >::MdirAll ( const Impl::FermionField & in,
std::vector< Impl::FermionField > & out )
pure virtualinherited

◆ MomentumSpacePropagator()

template<class Impl>
virtual void FermionOperator< Impl >::MomentumSpacePropagator ( FermionField & out,
const FermionField & in,
RealD _m,
std::vector< double > twist )
inlinevirtualinherited

Reimplemented in DWFSlowFermion< Impl >, DWFSlowFermion< WilsonImplD >, DWFSlowFermion< WilsonImplF >, OverlapWilsonCayleyTanhFermion< Impl >, OverlapWilsonCayleyTanhFermion< WilsonImplD >, OverlapWilsonCayleyTanhFermion< WilsonImplD2 >, OverlapWilsonCayleyTanhFermion< WilsonImplF >, OverlapWilsonCayleyZolotarevFermion< Impl >, OverlapWilsonCayleyZolotarevFermion< WilsonImplD >, OverlapWilsonCayleyZolotarevFermion< WilsonImplD2 >, OverlapWilsonCayleyZolotarevFermion< WilsonImplF >, OverlapWilsonContFracTanhFermion< Impl >, OverlapWilsonContFracTanhFermion< WilsonImplD >, OverlapWilsonContFracTanhFermion< WilsonImplD2 >, OverlapWilsonContFracTanhFermion< WilsonImplF >, OverlapWilsonContFracZolotarevFermion< Impl >, OverlapWilsonContFracZolotarevFermion< WilsonImplD >, OverlapWilsonContFracZolotarevFermion< WilsonImplD2 >, OverlapWilsonContFracZolotarevFermion< WilsonImplF >, OverlapWilsonPartialFractionTanhFermion< Impl >, OverlapWilsonPartialFractionTanhFermion< WilsonImplD >, OverlapWilsonPartialFractionTanhFermion< WilsonImplD2 >, OverlapWilsonPartialFractionTanhFermion< WilsonImplF >, OverlapWilsonPartialFractionZolotarevFermion< Impl >, OverlapWilsonPartialFractionZolotarevFermion< WilsonImplD >, OverlapWilsonPartialFractionZolotarevFermion< WilsonImplD2 >, OverlapWilsonPartialFractionZolotarevFermion< WilsonImplF >, WilsonFermion< Impl >, WilsonFermion< GparityWilsonImplD >, WilsonFermion< GparityWilsonImplF >, WilsonFermion< SpWilsonImplD >, WilsonFermion< SpWilsonImplF >, WilsonFermion< SpWilsonTwoIndexAntiSymmetricImplD >, WilsonFermion< SpWilsonTwoIndexAntiSymmetricImplF >, WilsonFermion< SpWilsonTwoIndexSymmetricImplD >, WilsonFermion< SpWilsonTwoIndexSymmetricImplF >, WilsonFermion< WilsonAdjImplD >, WilsonFermion< WilsonAdjImplF >, WilsonFermion< WilsonImplD >, WilsonFermion< WilsonImplD2 >, WilsonFermion< WilsonImplF >, WilsonFermion< WilsonTwoIndexAntiSymmetricImplD >, WilsonFermion< WilsonTwoIndexAntiSymmetricImplF >, WilsonFermion< WilsonTwoIndexSymmetricImplD >, and WilsonFermion< WilsonTwoIndexSymmetricImplF >.

Definition at line 96 of file FermionOperator.h.

Referenced by FreePropagator().

◆ FreePropagator() [1/2]

◆ FreePropagator() [2/2]

◆ ContractJ5q() [1/2]

template<class Impl>
virtual void FermionOperator< Impl >::ContractJ5q ( FermionField & q_in,
ComplexField & J5q )
inlinevirtualinherited

Reimplemented in CayleyFermion5D< Impl >.

Definition at line 168 of file FermionOperator.h.

◆ ContractJ5q() [2/2]

template<class Impl>
virtual void FermionOperator< Impl >::ContractJ5q ( PropagatorField & q_in,
ComplexField & J5q )
inlinevirtualinherited

Reimplemented in CayleyFermion5D< Impl >.

Definition at line 169 of file FermionOperator.h.

◆ Dminus()

template<class Impl>
virtual void FermionOperator< Impl >::Dminus ( const FermionField & psi,
FermionField & chi )
inlinevirtualinherited

◆ DminusDag()

template<class Impl>
virtual void FermionOperator< Impl >::DminusDag ( const FermionField & psi,
FermionField & chi )
inlinevirtualinherited

◆ ImportPhysicalFermionSource()

template<class Impl>
virtual void FermionOperator< Impl >::ImportPhysicalFermionSource ( const FermionField & input,
FermionField & imported )
inlinevirtualinherited

◆ ImportUnphysicalFermion()

template<class Impl>
virtual void FermionOperator< Impl >::ImportUnphysicalFermion ( const FermionField & input,
FermionField & imported )
inlinevirtualinherited

◆ ExportPhysicalFermionSolution()

template<class Impl>
virtual void FermionOperator< Impl >::ExportPhysicalFermionSolution ( const FermionField & solution,
FermionField & exported )
inlinevirtualinherited

◆ ExportPhysicalFermionSource()

template<class Impl>
virtual void FermionOperator< Impl >::ExportPhysicalFermionSource ( const FermionField & solution,
FermionField & exported )
inlinevirtualinherited

◆ ConstEE()

◆ MdagM()

virtual void SparseMatrixBase< Impl::FermionField >::MdagM ( const Impl::FermionField & in,
Impl::FermionField & out )
inlinevirtualinherited

Definition at line 43 of file SparseMatrix.h.

◆ MMdag()

virtual void SparseMatrixBase< Impl::FermionField >::MMdag ( const Impl::FermionField & in,
Impl::FermionField & out )
inlinevirtualinherited

Definition at line 48 of file SparseMatrix.h.

Field Documentation

◆ _tmp

template<class Impl>
FermionField ImprovedStaggeredFermion5D< Impl >::_tmp

Definition at line 52 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D().

◆ _FourDimGrid

template<class Impl>
GridBase* ImprovedStaggeredFermion5D< Impl >::_FourDimGrid

Definition at line 167 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D().

◆ _FourDimRedBlackGrid

template<class Impl>
GridBase* ImprovedStaggeredFermion5D< Impl >::_FourDimRedBlackGrid

Definition at line 168 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D().

◆ _FiveDimGrid

template<class Impl>
GridBase* ImprovedStaggeredFermion5D< Impl >::_FiveDimGrid

Definition at line 169 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D().

◆ _FiveDimRedBlackGrid

template<class Impl>
GridBase* ImprovedStaggeredFermion5D< Impl >::_FiveDimRedBlackGrid

Definition at line 170 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D().

◆ mass

template<class Impl>
RealD ImprovedStaggeredFermion5D< Impl >::mass

Definition at line 172 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D(), M(), Mdag(), Mooee(), and MooeeInv().

◆ c1

template<class Impl>
RealD ImprovedStaggeredFermion5D< Impl >::c1

Definition at line 173 of file ImprovedStaggeredFermion5D.h.

Referenced by ImportGauge(), and ImprovedStaggeredFermion5D().

◆ c2

template<class Impl>
RealD ImprovedStaggeredFermion5D< Impl >::c2

Definition at line 174 of file ImprovedStaggeredFermion5D.h.

Referenced by ImportGauge(), and ImprovedStaggeredFermion5D().

◆ u0

template<class Impl>
RealD ImprovedStaggeredFermion5D< Impl >::u0

Definition at line 175 of file ImprovedStaggeredFermion5D.h.

Referenced by ImportGauge(), and ImprovedStaggeredFermion5D().

◆ Ls

template<class Impl>
int ImprovedStaggeredFermion5D< Impl >::Ls

Definition at line 176 of file ImprovedStaggeredFermion5D.h.

Referenced by ImprovedStaggeredFermion5D().

◆ Stencil

template<class Impl>
StencilImpl ImprovedStaggeredFermion5D< Impl >::Stencil

Definition at line 179 of file ImprovedStaggeredFermion5D.h.

Referenced by Dhop(), DhopDir(), and ImprovedStaggeredFermion5D().

◆ StencilEven

template<class Impl>
StencilImpl ImprovedStaggeredFermion5D< Impl >::StencilEven

Definition at line 180 of file ImprovedStaggeredFermion5D.h.

Referenced by DhopOE(), and ImprovedStaggeredFermion5D().

◆ StencilOdd

template<class Impl>
StencilImpl ImprovedStaggeredFermion5D< Impl >::StencilOdd

Definition at line 181 of file ImprovedStaggeredFermion5D.h.

Referenced by DhopEO(), and ImprovedStaggeredFermion5D().

◆ Umu

◆ UmuEven

template<class Impl>
DoubledGaugeField ImprovedStaggeredFermion5D< Impl >::UmuEven

◆ UmuOdd

template<class Impl>
DoubledGaugeField ImprovedStaggeredFermion5D< Impl >::UmuOdd

◆ UUUmu

template<class Impl>
DoubledGaugeField ImprovedStaggeredFermion5D< Impl >::UUUmu

◆ UUUmuEven

template<class Impl>
DoubledGaugeField ImprovedStaggeredFermion5D< Impl >::UUUmuEven

◆ UUUmuOdd

template<class Impl>
DoubledGaugeField ImprovedStaggeredFermion5D< Impl >::UUUmuOdd

◆ Opt

int StaggeredKernelsStatic::Opt
staticinherited

◆ Comms

◆ directions

const std::vector< int > ImprovedStaggeredFermion5DStatic::directions
staticinherited

◆ displacements

const std::vector< int > ImprovedStaggeredFermion5DStatic::displacements
staticinherited

◆ npoint

const int ImprovedStaggeredFermion5DStatic::npoint
inherited

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