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

Unpreconditioned Clover-Dirac operator. More...

#include <unprec_clover_linop_w.h>

Inheritance diagram for Chroma::UnprecCloverLinOp:
Chroma::UnprecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::LinearOperator< LatticeFermion >

Public Types

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

Public Member Functions

 UnprecCloverLinOp ()
 Partial constructor. More...
 
 UnprecCloverLinOp (Handle< FermState< T, P, Q > > fs, const CloverFermActParams &param_)
 Full constructor. More...
 
 ~UnprecCloverLinOp ()
 Destructor is automatic. More...
 
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator. More...
 
void create (Handle< FermState< T, P, Q > > fs, const CloverFermActParams &param_)
 Creation routine. More...
 
void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Derivative of unpreconditioned Clover dM/dU. More...
 
unsigned long nFlops () const
 Return flops performed by the operator() More...
 
- Public Member Functions inherited from Chroma::UnprecLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~UnprecLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
const Subset & subset () const
 Only defined on the entire lattice. More...
 
- Public Member Functions inherited from Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~DiffLinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, const Real &epsilon) const
 Apply the derivative of the operator onto a source std::vector to some precision. More...
 
virtual void derivMultipole (multi1d< LatticeColorMatrix > &ds_u, const multi1d< LatticeFermion > &chi, const multi1d< LatticeFermion > &psi, enum PlusMinus isign) const
 Return the force for multiple poles. More...
 
- Public Member Functions inherited from Chroma::LinearOperator< LatticeFermion >
virtual ~LinearOperator ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 

Private Attributes

CloverFermActParams param
 
WilsonDslash D
 
CloverTerm A
 

Detailed Description

Unpreconditioned Clover-Dirac operator.

This routine is specific to Wilson fermions!

Definition at line 23 of file unprec_clover_linop_w.h.

Member Typedef Documentation

◆ P

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

Definition at line 29 of file unprec_clover_linop_w.h.

◆ Q

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

Definition at line 30 of file unprec_clover_linop_w.h.

◆ T

typedef LatticeFermion Chroma::UnprecCloverLinOp::T

Definition at line 28 of file unprec_clover_linop_w.h.

Constructor & Destructor Documentation

◆ UnprecCloverLinOp() [1/2]

Chroma::UnprecCloverLinOp::UnprecCloverLinOp ( )
inline

Partial constructor.

Definition at line 33 of file unprec_clover_linop_w.h.

◆ UnprecCloverLinOp() [2/2]

Chroma::UnprecCloverLinOp::UnprecCloverLinOp ( Handle< FermState< T, P, Q > >  fs,
const CloverFermActParams param_ 
)
inline

Full constructor.

Definition at line 36 of file unprec_clover_linop_w.h.

References create().

◆ ~UnprecCloverLinOp()

Chroma::UnprecCloverLinOp::~UnprecCloverLinOp ( )
inline

Destructor is automatic.

Definition at line 41 of file unprec_clover_linop_w.h.

Member Function Documentation

◆ create()

void Chroma::UnprecCloverLinOp::create ( Handle< FermState< T, P, Q > >  fs,
const CloverFermActParams param_ 
)

Creation routine.

Creation routine with Anisotropy.

Parameters
fsgauge field (Read)
param_parameters (Read)

Definition at line 17 of file unprec_clover_linop_w.cc.

References Chroma::A().

Referenced by UnprecCloverLinOp().

◆ deriv()

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

Derivative of unpreconditioned Clover dM/dU.

Reimplemented from Chroma::DiffLinearOperator< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 57 of file unprec_clover_linop_w.cc.

References Chroma::A(), chi, Chroma::isign, mu, Nd, psi, and Chroma::zero.

◆ getFermBC()

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

◆ nFlops()

unsigned long Chroma::UnprecCloverLinOp::nFlops ( void  ) const
virtual

Return flops performed by the operator()

Reimplemented from Chroma::LinearOperator< LatticeFermion >.

Definition at line 78 of file unprec_clover_linop_w.cc.

References Chroma::A().

◆ operator()()

void Chroma::UnprecCloverLinOp::operator() ( LatticeFermion &  chi,
const LatticeFermion &  psi,
enum PlusMinus  isign 
) const
virtual

Apply the operator onto a source std::vector.

Apply unpreconditioned Clover fermion linear operator.

The operator acts on the entire lattice

Parameters
chiPseudofermion field (Write)
psiPseudofermion field (Read)
isignFlag ( PLUS | MINUS ) (Read)

Implements Chroma::LinearOperator< LatticeFermion >.

Definition at line 40 of file unprec_clover_linop_w.cc.

References Chroma::A(), chi, Chroma::isign, psi, and tmp.

Member Data Documentation

◆ A

CloverTerm Chroma::UnprecCloverLinOp::A
private

Definition at line 64 of file unprec_clover_linop_w.h.

◆ D

WilsonDslash Chroma::UnprecCloverLinOp::D
private

Definition at line 63 of file unprec_clover_linop_w.h.

Referenced by getFermBC().

◆ param

CloverFermActParams Chroma::UnprecCloverLinOp::param
private

Definition at line 62 of file unprec_clover_linop_w.h.


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