Chroma::UnprecCloverLinOp Class Reference
[Fermion linear operators]

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< T, P, Q > Chroma::LinearOperator< T > List of all members.

Public Types

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

Public Member Functions

 UnprecCloverLinOp ()
 Partial constructor.
 UnprecCloverLinOp (Handle< FermState< T, P, Q > > fs, const CloverFermActParams &param_)
 Full constructor.
 ~UnprecCloverLinOp ()
 Destructor is automatic.
const FermBC< T, P, Q > & getFermBC () const
 Return the fermion BC object for this linear operator.
void create (Handle< FermState< T, P, Q > > fs, const CloverFermActParams &param_)
 Creation routine with Anisotropy.
void operator() (LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Apply unpreconditioned Clover fermion linear operator.
void deriv (multi1d< LatticeColorMatrix > &ds_u, const LatticeFermion &chi, const LatticeFermion &psi, enum PlusMinus isign) const
 Derivative of unpreconditioned Clover dM/dU.
unsigned long nFlops () const
 Return flops performed by the operator().

Private Attributes

CloverFermActParams param
WilsonDslash D
CloverTerm A

Detailed Description

Unpreconditioned Clover-Dirac operator.

This routine is specific to Wilson fermions!

Definition at line 24 of file unprec_clover_linop_w.h.


Member Typedef Documentation

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

Definition at line 30 of file unprec_clover_linop_w.h.

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

Definition at line 31 of file unprec_clover_linop_w.h.

typedef LatticeFermion Chroma::UnprecCloverLinOp::T

Definition at line 29 of file unprec_clover_linop_w.h.


Constructor & Destructor Documentation

Chroma::UnprecCloverLinOp::UnprecCloverLinOp (  )  [inline]

Partial constructor.

Definition at line 34 of file unprec_clover_linop_w.h.

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

Full constructor.

Definition at line 37 of file unprec_clover_linop_w.h.

References create().

Chroma::UnprecCloverLinOp::~UnprecCloverLinOp (  )  [inline]

Destructor is automatic.

Definition at line 42 of file unprec_clover_linop_w.h.


Member Function Documentation

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

Creation routine with Anisotropy.

Parameters:
fs gauge field (Read)
param_ parameters (Read)

Definition at line 18 of file unprec_clover_linop_w.cc.

References A, Chroma::CloverFermActParams::anisoParam, Chroma::QDPWilsonDslashT< T, P, Q >::create(), Chroma::QDPCloverTermT< T, U >::create(), D, and param.

Referenced by UnprecCloverLinOp().

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

Derivative of unpreconditioned Clover dM/dU.

Definition at line 58 of file unprec_clover_linop_w.cc.

References A, D, Chroma::WilsonDslashBase< T, P, Q >::deriv(), Chroma::CloverTermBase< T, U >::deriv(), and getFermBC().

const FermBC<T,P,Q>& Chroma::UnprecCloverLinOp::getFermBC (  )  const [inline, virtual]

Return the fermion BC object for this linear operator.

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

Definition at line 45 of file unprec_clover_linop_w.h.

References D, and Chroma::QDPWilsonDslashT< T, P, Q >::getFermBC().

Referenced by deriv(), and operator()().

unsigned long Chroma::UnprecCloverLinOp::nFlops (  )  const [virtual]

Return flops performed by the operator().

Reimplemented from Chroma::LinearOperator< T >.

Definition at line 79 of file unprec_clover_linop_w.cc.

References A, D, Chroma::CloverTermBase< T, U >::nFlops(), and Chroma::WilsonDslashBase< T, P, Q >::nFlops().

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

Apply unpreconditioned Clover fermion linear operator.

The operator acts on the entire lattice

Parameters:
chi Pseudofermion field (Write)
psi Pseudofermion field (Read)
isign Flag ( PLUS | MINUS ) (Read)

Definition at line 41 of file unprec_clover_linop_w.cc.

References A, D, and getFermBC().


Member Data Documentation

CloverTerm Chroma::UnprecCloverLinOp::A [private]

Definition at line 65 of file unprec_clover_linop_w.h.

Referenced by create(), deriv(), nFlops(), and operator()().

WilsonDslash Chroma::UnprecCloverLinOp::D [private]

Definition at line 64 of file unprec_clover_linop_w.h.

Referenced by create(), deriv(), getFermBC(), nFlops(), and operator()().

CloverFermActParams Chroma::UnprecCloverLinOp::param [private]

Definition at line 63 of file unprec_clover_linop_w.h.

Referenced by create().


The documentation for this class was generated from the following files:
Generated on Sun Nov 22 04:40:12 2009 for CHROMA by  doxygen 1.4.7