Grid 0.7.0
DWFSlowFermion< Impl > Class Template Referenceabstract

#include <DWFSlow.h>

Inheritance diagram for DWFSlowFermion< Impl >:
FermionOperator< Impl > CheckerBoardedSparseMatrixBase< Impl::FermionField > SparseMatrixBase< Impl::FermionField >

Public Member Functions

 INHERIT_IMPL_TYPES (Impl)
GridBaseGaugeGrid (void)
GridBaseGaugeRedBlackGrid (void)
GridBaseFermionGrid (void)
GridBaseFermionRedBlackGrid (void)
FermionField & tmp (void)
virtual void M (const FermionField &in, FermionField &out)
virtual void Mdag (const FermionField &in, FermionField &out)
void Meooe (const FermionField &in, FermionField &out)
void MeooeDag (const FermionField &in, FermionField &out)
virtual void Mooee (const FermionField &in, FermionField &out)
virtual void MooeeDag (const FermionField &in, FermionField &out)
virtual void MooeeInv (const FermionField &in, FermionField &out)
virtual void MooeeInvDag (const FermionField &in, FermionField &out)
virtual void MomentumSpacePropagator (FermionField &out, const FermionField &in, RealD _mass, std::vector< double > twist)
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 DhopDirAll (const FermionField &in, std::vector< FermionField > &out)
void DhopDirCalc (const FermionField &in, FermionField &out, int dirdisp, int gamma, int dag)
void DhopDirU (const FermionField &in, const GaugeLinkField &U5e, const GaugeLinkField &U5o, FermionField &out, int mu, int dag)
void Dhop5 (const FermionField &in, FermionField &out, ComplexField &massE, ComplexField &massO, int dag)
 DWFSlowFermion (GaugeField &_Umu, GridCartesian &Fgrid, GridRedBlackCartesian &Hgrid, RealD _mass, RealD _M5)
void ImportGauge (const GaugeField &_Umu4)
virtual RealD Mass (void)
virtual int isTrivialEE (void)
void ContractConservedCurrent (PropagatorField &q_in_1, PropagatorField &q_in_2, PropagatorField &q_out, PropagatorField &phys_src, Current curr_type, unsigned int mu)
void SeqConservedCurrent (PropagatorField &q_in, PropagatorField &q_out, PropagatorField &phys_src, Current curr_type, unsigned int mu, unsigned int tmin, unsigned int tmax, ComplexField &lattice_cmplx)
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 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 M5
int Ls
GridBase_grid4
GridBase_grid
GridBase_cbgrid4
GridBase_cbgrid
std::vector< GaugeLinkField > Umu
std::vector< GaugeLinkField > UmuEven
std::vector< GaugeLinkField > UmuOdd
ComplexField MassField
ComplexField MassFieldEven
ComplexField MassFieldOdd

Detailed Description

template<class Impl>
class DWFSlowFermion< Impl >

Definition at line 34 of file DWFSlow.h.

Constructor & Destructor Documentation

◆ DWFSlowFermion()

template<class Impl>
DWFSlowFermion< Impl >::DWFSlowFermion ( GaugeField & _Umu,
GridCartesian & Fgrid,
GridRedBlackCartesian & Hgrid,
RealD _mass,
RealD _M5 )
inline

Definition at line 197 of file DWFSlow.h.

Member Function Documentation

◆ INHERIT_IMPL_TYPES()

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

◆ GaugeGrid()

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

Implements FermionOperator< Impl >.

Definition at line 42 of file DWFSlow.h.

◆ GaugeRedBlackGrid()

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

Implements FermionOperator< Impl >.

Definition at line 43 of file DWFSlow.h.

◆ FermionGrid()

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

Implements FermionOperator< Impl >.

Definition at line 44 of file DWFSlow.h.

◆ FermionRedBlackGrid()

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

Implements FermionOperator< Impl >.

Definition at line 45 of file DWFSlow.h.

◆ tmp()

◆ M() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 54 of file DWFSlow.h.

◆ Mdag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 61 of file DWFSlow.h.

◆ Meooe() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 72 of file DWFSlow.h.

◆ MeooeDag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 80 of file DWFSlow.h.

◆ Mooee() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 90 of file DWFSlow.h.

◆ MooeeDag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 94 of file DWFSlow.h.

◆ MooeeInv() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 98 of file DWFSlow.h.

◆ MooeeInvDag() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 102 of file DWFSlow.h.

◆ MomentumSpacePropagator()

template<class Impl>
virtual void DWFSlowFermion< Impl >::MomentumSpacePropagator ( FermionField & out,
const FermionField & in,
RealD _mass,
std::vector< double > twist )
inlinevirtual

Reimplemented from FermionOperator< Impl >.

Definition at line 107 of file DWFSlow.h.

◆ DhopDeriv()

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

Implements FermionOperator< Impl >.

Definition at line 113 of file DWFSlow.h.

◆ DhopDerivOE()

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

Implements FermionOperator< Impl >.

Definition at line 114 of file DWFSlow.h.

◆ DhopDerivEO()

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

Implements FermionOperator< Impl >.

Definition at line 115 of file DWFSlow.h.

◆ Dhop()

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

◆ DhopOE()

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

◆ DhopEO()

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

◆ Mdir() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 150 of file DWFSlow.h.

◆ MdirAll() [1/2]

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

Implements FermionOperator< Impl >.

Definition at line 151 of file DWFSlow.h.

◆ DhopDir()

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

Implements FermionOperator< Impl >.

Definition at line 152 of file DWFSlow.h.

◆ DhopDirAll()

template<class Impl>
void DWFSlowFermion< Impl >::DhopDirAll ( const FermionField & in,
std::vector< FermionField > & out )
inline

Definition at line 153 of file DWFSlow.h.

◆ DhopDirCalc()

template<class Impl>
void DWFSlowFermion< Impl >::DhopDirCalc ( const FermionField & in,
FermionField & out,
int dirdisp,
int gamma,
int dag )
inline

Definition at line 154 of file DWFSlow.h.

◆ DhopDirU()

template<class Impl>
void DWFSlowFermion< Impl >::DhopDirU ( const FermionField & in,
const GaugeLinkField & U5e,
const GaugeLinkField & U5o,
FermionField & out,
int mu,
int dag )
inline

◆ Dhop5()

template<class Impl>
void DWFSlowFermion< Impl >::Dhop5 ( const FermionField & in,
FermionField & out,
ComplexField & massE,
ComplexField & massO,
int dag )
inline

◆ ImportGauge()

template<class Impl>
void DWFSlowFermion< Impl >::ImportGauge ( const GaugeField & _Umu4)
inlinevirtual

Implements FermionOperator< Impl >.

Definition at line 234 of file DWFSlow.h.

Referenced by DWFSlowFermion< WilsonImplF >::DWFSlowFermion().

◆ Mass()

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

Reimplemented from CheckerBoardedSparseMatrixBase< Impl::FermionField >.

Definition at line 250 of file DWFSlow.h.

◆ isTrivialEE()

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

Reimplemented from CheckerBoardedSparseMatrixBase< Impl::FermionField >.

Definition at line 251 of file DWFSlow.h.

◆ ContractConservedCurrent()

template<class Impl>
void DWFSlowFermion< Impl >::ContractConservedCurrent ( PropagatorField & q_in_1,
PropagatorField & q_in_2,
PropagatorField & q_out,
PropagatorField & phys_src,
Current curr_type,
unsigned int mu )
inlinevirtual

Reimplemented from FermionOperator< Impl >.

Definition at line 272 of file DWFSlow.h.

◆ SeqConservedCurrent()

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

Reimplemented from FermionOperator< Impl >.

Definition at line 278 of file DWFSlow.h.

◆ 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

◆ 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 DWFSlowFermion< Impl >::_tmp

Definition at line 47 of file DWFSlow.h.

◆ mass

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

Definition at line 252 of file DWFSlow.h.

◆ M5

template<class Impl>
RealD DWFSlowFermion< Impl >::M5

Definition at line 253 of file DWFSlow.h.

◆ Ls

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

Definition at line 254 of file DWFSlow.h.

◆ _grid4

template<class Impl>
GridBase* DWFSlowFermion< Impl >::_grid4

Definition at line 256 of file DWFSlow.h.

◆ _grid

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

Definition at line 257 of file DWFSlow.h.

◆ _cbgrid4

template<class Impl>
GridBase* DWFSlowFermion< Impl >::_cbgrid4

Definition at line 258 of file DWFSlow.h.

◆ _cbgrid

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

Definition at line 259 of file DWFSlow.h.

◆ Umu

template<class Impl>
std::vector<GaugeLinkField> DWFSlowFermion< Impl >::Umu

Definition at line 262 of file DWFSlow.h.

◆ UmuEven

template<class Impl>
std::vector<GaugeLinkField> DWFSlowFermion< Impl >::UmuEven

Definition at line 263 of file DWFSlow.h.

◆ UmuOdd

template<class Impl>
std::vector<GaugeLinkField> DWFSlowFermion< Impl >::UmuOdd

Definition at line 264 of file DWFSlow.h.

◆ MassField

template<class Impl>
ComplexField DWFSlowFermion< Impl >::MassField

Definition at line 265 of file DWFSlow.h.

◆ MassFieldEven

template<class Impl>
ComplexField DWFSlowFermion< Impl >::MassFieldEven

Definition at line 266 of file DWFSlow.h.

◆ MassFieldOdd

template<class Impl>
ComplexField DWFSlowFermion< Impl >::MassFieldOdd

Definition at line 267 of file DWFSlow.h.


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