CHROMA
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members

Unpreconditioned domain-wall Dirac operator. More...

#include <unprec_nef_linop_array_w.h>

Inheritance diagram for Chroma::UnprecNEFDWLinOpArray:
Chroma::UnprecDWLikeLinOpBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::UnprecLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperatorArray< T, P, Q > Chroma::LinearOperatorArray< T >

Public Types

typedef LatticeFermion T
 
typedef multi1d< LatticeColorMatrix > P
 
typedef multi1d< LatticeColorMatrix > Q
 

Public Member Functions

 UnprecNEFDWLinOpArray (Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const multi1d< Real > &b5_, const multi1d< Real > &c5_, const Real &m_q_, int N5_)
 Full constructor. More...
 
void create (Handle< FermState< T, P, Q > > fs, const Real &WilsonMass_, const multi1d< Real > &b5_, const multi1d< Real > &c5_, const Real &m_q_, int N5_)
 Creation routine. More...
 
int size () const
 Length of DW flavor index/space. More...
 
 ~UnprecNEFDWLinOpArray ()
 Destructor is automatic. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
const Subset & subset () const
 Only defined on the entire lattice. More...
 
void operator() (multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
void Dminus (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, int s5) const
 Apply the Dminus operator on a lattice fermion. See my notes ;-) More...
 
void deriv (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Derivative. More...
 
- Public Member Functions inherited from Chroma::UnprecLinearOperatorArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~UnprecLinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
const Subset & subset () const
 Only defined on the entire lattice. More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperatorArray< T, P, Q >
virtual ~DiffLinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (P &ds_u, const multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. More...
 
- Public Member Functions inherited from Chroma::LinearOperatorArray< T >
virtual ~LinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 
virtual unsigned long nFlops () const
 

Protected Member Functions

 UnprecNEFDWLinOpArray ()
 Partial constructor. More...
 
void operator= (const UnprecNEFDWLinOpArray &)
 Hide =. More...
 

Private Attributes

Real WilsonMass
 
multi1d< Real > b5
 
multi1d< Real > c5
 
Real m_q
 
int N5
 
WilsonDslash D
 
Handle< FermBC< T, P, Q > > fbc
 
multi1d< Real > fb5
 
multi1d< Real > fc5
 

Detailed Description

Unpreconditioned domain-wall Dirac operator.

This routine is specific to Wilson fermions!

Definition at line 22 of file unprec_nef_linop_array_w.h.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::UnprecNEFDWLinOpArray::P

Definition at line 28 of file unprec_nef_linop_array_w.h.

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::UnprecNEFDWLinOpArray::Q

Definition at line 29 of file unprec_nef_linop_array_w.h.

◆ T

typedef LatticeFermion Chroma::UnprecNEFDWLinOpArray::T

Definition at line 27 of file unprec_nef_linop_array_w.h.

Constructor & Destructor Documentation

◆ UnprecNEFDWLinOpArray() [1/2]

Chroma::UnprecNEFDWLinOpArray::UnprecNEFDWLinOpArray ( Handle< FermState< T, P, Q > >  fs,
const Real &  WilsonMass_,
const multi1d< Real > &  b5_,
const multi1d< Real > &  c5_,
const Real &  m_q_,
int  N5_ 
)
inline

Full constructor.

Set b5 = 1.0 and c5=0.0 to get Shamir DWF with a5=1. Set b5 = 1.0 and c5=1.0 to get Borichi DWF.

Definition at line 36 of file unprec_nef_linop_array_w.h.

References create().

◆ ~UnprecNEFDWLinOpArray()

Chroma::UnprecNEFDWLinOpArray::~UnprecNEFDWLinOpArray ( )
inline

Destructor is automatic.

Definition at line 52 of file unprec_nef_linop_array_w.h.

◆ UnprecNEFDWLinOpArray() [2/2]

Chroma::UnprecNEFDWLinOpArray::UnprecNEFDWLinOpArray ( )
inlineprotected

Partial constructor.

Definition at line 78 of file unprec_nef_linop_array_w.h.

Member Function Documentation

◆ deriv()

void Chroma::UnprecNEFDWLinOpArray::deriv ( multi1d< LatticeColorMatrix > &  ds_u,
const multi1d< LatticeFermion > &  chi,
const multi1d< LatticeFermion > &  psi,
enum PlusMinus  isign 
) const
virtual

Derivative.

Reimplemented from Chroma::DiffLinearOperatorArray< T, P, Q >.

Definition at line 150 of file unprec_nef_linop_array_w.cc.

References chi, END_CODE, Chroma::isign, m, Chroma::MINUS, n, N5, Nd, Chroma::PLUS, psi, START_CODE, tmp, and Chroma::zero.

◆ Dminus()

void Chroma::UnprecNEFDWLinOpArray::Dminus ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign,
int  s5 
) const
virtual

Apply the Dminus operator on a lattice fermion. See my notes ;-)

Implements Chroma::UnprecDWLikeLinOpBaseArray< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 134 of file unprec_nef_linop_array_w.cc.

References chi, Chroma::isign, and psi.

◆ getFermBC()

const FermBC<T,P,Q>& Chroma::UnprecNEFDWLinOpArray::getFermBC ( ) const
inlinevirtual

Return the fermion BC object for this linear operator.

Implements Chroma::DiffLinearOperatorArray< T, P, Q >.

Definition at line 55 of file unprec_nef_linop_array_w.h.

References fbc.

◆ operator=()

void Chroma::UnprecNEFDWLinOpArray::operator= ( const UnprecNEFDWLinOpArray )
inlineprotected

Hide =.

Definition at line 80 of file unprec_nef_linop_array_w.h.

◆ size()

int Chroma::UnprecNEFDWLinOpArray::size ( void  ) const
inlinevirtual

◆ subset()

const Subset& Chroma::UnprecNEFDWLinOpArray::subset ( void  ) const
inlinevirtual

Only defined on the entire lattice.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 58 of file unprec_nef_linop_array_w.h.

Member Data Documentation

◆ b5

multi1d<Real> Chroma::UnprecNEFDWLinOpArray::b5
private

Definition at line 84 of file unprec_nef_linop_array_w.h.

◆ c5

multi1d<Real> Chroma::UnprecNEFDWLinOpArray::c5
private

Definition at line 85 of file unprec_nef_linop_array_w.h.

◆ D

WilsonDslash Chroma::UnprecNEFDWLinOpArray::D
private

Definition at line 88 of file unprec_nef_linop_array_w.h.

◆ fb5

multi1d<Real> Chroma::UnprecNEFDWLinOpArray::fb5
private

Definition at line 91 of file unprec_nef_linop_array_w.h.

◆ fbc

Handle< FermBC<T,P,Q> > Chroma::UnprecNEFDWLinOpArray::fbc
private

Definition at line 89 of file unprec_nef_linop_array_w.h.

Referenced by getFermBC().

◆ fc5

multi1d<Real> Chroma::UnprecNEFDWLinOpArray::fc5
private

Definition at line 92 of file unprec_nef_linop_array_w.h.

◆ m_q

Real Chroma::UnprecNEFDWLinOpArray::m_q
private

Definition at line 86 of file unprec_nef_linop_array_w.h.

◆ N5

int Chroma::UnprecNEFDWLinOpArray::N5
private

Definition at line 87 of file unprec_nef_linop_array_w.h.

Referenced by size().

◆ WilsonMass

Real Chroma::UnprecNEFDWLinOpArray::WilsonMass
private

Definition at line 83 of file unprec_nef_linop_array_w.h.


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