6 #ifndef __simple_fermbc_h__
7 #define __simple_fermbc_h__
40 template<
class T,
typename P,
typename Q>
94 for(
int m = 0;
m <
Nd; ++
m)
98 u[
m] *= where(Layout::latticeCoordinate(
m) == (Layout::lattSize()[
m]-1),
Base class for all fermion action boundary conditions.
Base class for all gauge action boundary conditions.
Class for counted reference semantics.
Concrete class for all gauge actions with simple boundary conditions.
~SimpleFermBC()
Destructor is automatic.
void modifyF(multi1d< T > &psi) const
Modify fermion fields in place.
void modifyF(T &psi, const Subset &s) const
Modify fermion fields in place under a subset.
void modifyF(multi1d< T > &psi, const Subset &s) const
Modify fermion fields in place under a subset.
SimpleFermBC(const Handle< GaugeBC< P, Q > > &gbc_, const multi1d< int > &boundary_)
Use both a Gauge BC and a boundary field.
SimpleFermBC(const SimpleFermBC &a)
Copy constructor.
Handle< GaugeBC< P, Q > > gbc
void modifyF(T &psi) const
Modify fermion fields in place.
void modify(Q &u) const
Modify U fields in place.
SimpleFermBC(const SimpleFermBCParams &p)
Only full constructor.
bool nontrivialP() const
Says if there are non-trivial BC links.
SimpleFermBC & operator=(const SimpleFermBC &a)
Assignment.
SimpleFermBC(const multi1d< int > &boundary_)
Only full constructor.
void zero(P &ds_u) const
Zero some gauge-like field in place on the masked links.
Fermion action boundary conditions.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
Class for counted reference semantics.
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::Q Q
LinOpSysSolverMGProtoClover::T T
static QDP_ColorVector * in
multi1d< LatticeFermion > s(Ncb)
Periodic gauge boundary conditions.
Simple gauge boundary conditions.
Params for simple fermbc.
multi1d< LatticeColorMatrix > P