Grid 0.7.0
ImprovedStaggeredFermion< Impl > Class Template Referenceabstract

#include <ImprovedStaggeredFermion.h>

Inheritance diagram for ImprovedStaggeredFermion< Impl >:
StaggeredKernels< Impl > ImprovedStaggeredFermionStatic 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 MeooeDag (const FermionField &in, FermionField &out)
void Mooee (const FermionField &in, FermionField &out)
void MooeeDag (const FermionField &in, FermionField &out)
void MooeeInv (const FermionField &in, FermionField &out)
void MooeeInvDag (const FermionField &in, FermionField &out)
void DhopDeriv (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
void DhopDerivOE (GaugeField &mat, const FermionField &U, const FermionField &V, int dag)
void DhopDerivEO (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 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 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 DhopInternalSerialComms (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)
 ImprovedStaggeredFermion (GaugeField &_Uthin, GaugeField &_Ufat, GridCartesian &Fgrid, GridRedBlackCartesian &Hgrid, RealD _mass, RealD _c1, RealD _c2, RealD _u0, const ImplParams &p=ImplParams())
 ImprovedStaggeredFermion (GridCartesian &Fgrid, GridRedBlackCartesian &Hgrid, RealD _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 &srct, 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
RealD mass
RealD u0
RealD c1
RealD c2
GridBase_grid
GridBase_cbgrid
StencilImpl Stencil
StencilImpl StencilEven
StencilImpl StencilOdd
DoubledGaugeField Umu
DoubledGaugeField UmuEven
DoubledGaugeField UmuOdd
DoubledGaugeField UUUmu
DoubledGaugeField UUUmuEven
DoubledGaugeField UUUmuOdd

Static Public Attributes

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

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 ImprovedStaggeredFermion< Impl >

Definition at line 42 of file ImprovedStaggeredFermion.h.

Member Typedef Documentation

◆ Kernels

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

Definition at line 45 of file ImprovedStaggeredFermion.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

◆ ImprovedStaggeredFermion() [1/2]

template<class Impl>
ImprovedStaggeredFermion< Impl >::ImprovedStaggeredFermion ( GaugeField & _Uthin,
GaugeField & _Ufat,
GridCartesian & Fgrid,
GridRedBlackCartesian & Hgrid,
RealD _mass,
RealD _c1,
RealD _c2,
RealD _u0,
const ImplParams & p = ImplParams() )

◆ ImprovedStaggeredFermion() [2/2]

template<class Impl>
ImprovedStaggeredFermion< Impl >::ImprovedStaggeredFermion ( GridCartesian & Fgrid,
GridRedBlackCartesian & Hgrid,
RealD _mass,
RealD _c1 = 1.0,
RealD _c2 = 1.0,
RealD _u0 = 1.0,
const ImplParams & p = ImplParams() )

Member Function Documentation

◆ INHERIT_IMPL_TYPES()

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

◆ tmp()

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

Implements FermionOperator< Impl >.

Definition at line 48 of file ImprovedStaggeredFermion.h.

◆ GaugeGrid()

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

Implements FermionOperator< Impl >.

Definition at line 53 of file ImprovedStaggeredFermion.h.

Referenced by ImportGauge(), and ImportGaugeSimple().

◆ GaugeRedBlackGrid()

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

Implements FermionOperator< Impl >.

Definition at line 54 of file ImprovedStaggeredFermion.h.

◆ FermionGrid()

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

Implements FermionOperator< Impl >.

Definition at line 55 of file ImprovedStaggeredFermion.h.

◆ FermionRedBlackGrid()

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

Implements FermionOperator< Impl >.

Definition at line 56 of file ImprovedStaggeredFermion.h.

◆ M() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 172 of file ImprovedStaggeredFermionImplementation.h.

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

◆ Mdag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 180 of file ImprovedStaggeredFermionImplementation.h.

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

◆ Meooe() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 188 of file ImprovedStaggeredFermionImplementation.h.

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

◆ MeooeDag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 197 of file ImprovedStaggeredFermionImplementation.h.

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

◆ Mooee() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 207 of file ImprovedStaggeredFermionImplementation.h.

References mass.

Referenced by MooeeDag().

◆ MooeeDag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 215 of file ImprovedStaggeredFermionImplementation.h.

References Mooee().

◆ MooeeInv() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 222 of file ImprovedStaggeredFermionImplementation.h.

References mass.

Referenced by MooeeInvDag().

◆ MooeeInvDag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 229 of file ImprovedStaggeredFermionImplementation.h.

References MooeeInv().

◆ DhopDeriv()

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

◆ DhopDerivOE()

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

◆ DhopDerivEO()

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

◆ Dhop()

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

Implements FermionOperator< Impl >.

Definition at line 333 of file ImprovedStaggeredFermionImplementation.h.

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

Referenced by M(), and Mdag().

◆ DhopOE()

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

◆ DhopEO()

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

◆ Mdir() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 368 of file ImprovedStaggeredFermionImplementation.h.

References DhopDir().

◆ MdirAll() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 373 of file ImprovedStaggeredFermionImplementation.h.

◆ DhopDir()

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

Implements FermionOperator< Impl >.

Definition at line 379 of file ImprovedStaggeredFermionImplementation.h.

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

Referenced by Mdir().

◆ DerivInternal()

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

◆ DhopInternal()

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

◆ DhopInternalSerialComms()

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

◆ DhopInternalOverlappedComms()

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

Definition at line 407 of file ImprovedStaggeredFermionImplementation.h.

References StaggeredKernels< Impl >::DhopImproved(), and U.

Referenced by DhopInternal().

◆ ImportGauge() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 128 of file ImprovedStaggeredFermion.h.

Referenced by ImprovedStaggeredFermion().

◆ ImportGauge() [2/2]

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

◆ ImportGaugeSimple() [1/2]

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

◆ ImportGaugeSimple() [2/2]

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

Definition at line 118 of file ImprovedStaggeredFermionImplementation.h.

References CopyGaugeCheckerboards(), Umu, and UUUmu.

◆ GetU()

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

Definition at line 132 of file ImprovedStaggeredFermion.h.

◆ GetUUU()

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

Definition at line 133 of file ImprovedStaggeredFermion.h.

◆ CopyGaugeCheckerboards()

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

◆ isTrivialEE()

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

◆ Mass()

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

◆ SloppyComms()

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

Definition at line 157 of file ImprovedStaggeredFermion.h.

◆ ContractConservedCurrent()

template<class Impl>
void ImprovedStaggeredFermion< 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 469 of file ImprovedStaggeredFermionImplementation.h.

◆ SeqConservedCurrent()

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

Reimplemented from FermionOperator< Impl >.

Definition at line 480 of file ImprovedStaggeredFermionImplementation.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 ImprovedStaggeredFermion< Impl >::_tmp

Definition at line 47 of file ImprovedStaggeredFermion.h.

Referenced by ImprovedStaggeredFermion().

◆ mass

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

Definition at line 145 of file ImprovedStaggeredFermion.h.

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

◆ u0

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

Definition at line 146 of file ImprovedStaggeredFermion.h.

Referenced by ImportGauge(), and ImprovedStaggeredFermion().

◆ c1

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

Definition at line 147 of file ImprovedStaggeredFermion.h.

Referenced by ImportGauge(), and ImprovedStaggeredFermion().

◆ c2

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

Definition at line 148 of file ImprovedStaggeredFermion.h.

Referenced by ImportGauge(), and ImprovedStaggeredFermion().

◆ _grid

template<class Impl>
GridBase* ImprovedStaggeredFermion< Impl >::_grid

Definition at line 150 of file ImprovedStaggeredFermion.h.

Referenced by Dhop(), DhopDeriv(), and ImprovedStaggeredFermion().

◆ _cbgrid

template<class Impl>
GridBase* ImprovedStaggeredFermion< Impl >::_cbgrid

◆ Stencil

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

Definition at line 154 of file ImprovedStaggeredFermion.h.

Referenced by Dhop(), DhopDeriv(), DhopDir(), and ImprovedStaggeredFermion().

◆ StencilEven

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

Definition at line 155 of file ImprovedStaggeredFermion.h.

Referenced by DhopDerivOE(), DhopOE(), and ImprovedStaggeredFermion().

◆ StencilOdd

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

Definition at line 156 of file ImprovedStaggeredFermion.h.

Referenced by DhopDerivEO(), DhopEO(), and ImprovedStaggeredFermion().

◆ Umu

◆ UmuEven

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

◆ UmuOdd

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

◆ UUUmu

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

◆ UUUmuEven

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

◆ UUUmuOdd

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

◆ Opt

int StaggeredKernelsStatic::Opt
staticinherited

◆ Comms

◆ directions

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

◆ displacements

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

◆ npoint

const int ImprovedStaggeredFermionStatic::npoint
staticinherited

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