15 create(state_, Mass_, aniso);
34 if (
fbc.operator->() == 0)
36 QDPIO::cerr <<
"KleinGordonLinOp: error - fbc is null" << std::endl;
48 for(
int mu=0;
mu <
u.size(); ++
mu)
61 const LatticeStaggeredFermion&
psi,
66 LatticeStaggeredFermion
tmp; moveToFastMemoryHint(
tmp);
87 const LatticeStaggeredFermion&
chi,
88 const LatticeStaggeredFermion&
psi,
95 multi1d<Real> anisoWeights(
Nd);
107 anisoWeights[
mu] *= ff;
120 ds_u[
mu] = mhalf * anisoWeights[
mu] * traceSpin(outerProduct(shift(
psi,
FORWARD,
mu),
chi));
128 ds_u[
mu] = mhalf * anisoWeights[
mu] * traceSpin(outerProduct(shift(
psi,
FORWARD,
mu),
chi));
146 unsigned long site_flops = 294;
147 return site_flops*(Layout::sitesOnNode());
Primary include file for CHROMA library code.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
Handle< FermBC< T, P, Q > > fbc
void operator()(T &chi, const T &psi, enum PlusMinus isign) const
Apply the operator onto a source std::vector.
const FermBC< T, P, Q > & getFermBC() const
Return the fermion BC object for this linear operator.
void deriv(multi1d< LatticeColorMatrix > &ds_u, const T &chi, const T &psi, enum PlusMinus isign) const
Derivative of unpreconditioned operator.
void create(Handle< FermState< T, P, Q > > fs, const Real &Mass_, const AnisoParam_t &aniso)
Creation routine with Anisotropy.
KleinGordonLinOp()
Partial constructor - Must use create later.
unsigned long nFlops() const
Return flops performed by the operator()
multi1d< LatticeColorMatrix > u
Asqtad Staggered-Dirac operator.
QDP_error_exit("too many BiCG iterations", n_count, rsd_sq, cp, c, re_rvr, im_rvr, re_a, im_a, re_b, im_b)
multi1d< LatticeFermion > chi(Ncb)
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
Parameters for anisotropy.