15 namespace SFPlaqPlusTwoPlaqGaugeActEnv
48 XMLReader paramtop(xml_in, path);
57 QDPIO::cerr <<
"Error reading XML: " << e << std::endl;
74 LatticeBoolean lbtest =
false;
77 lbtest |= (litmp == 0);
85 LatticeReal weight = where(lbtest, Real(0.5), Real(1));
104 multi2d<LatticeReal> plaq_site;
145 site_act.resize(
Nd,
Nd);
150 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
163 site_act[
mu][
nu] *= Real(1) / Real(Nc);
166 site_act[
nu][
mu] = site_act[
mu][
nu];
179 int mu,
int cb)
const
181 QDPIO::cerr << __func__ <<
": staple not possible\n";
193 multi1d<LatticeColorMatrix> deriv_fun;
197 multi1d<LatticeColorMatrix> deriv_two;
220 LatticeColorMatrix tmp_0;
221 LatticeColorMatrix
tmp_1;
222 LatticeColorMatrix
tmp_2;
224 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
231 LatticeColorMatrix
G;
236 if (
mu ==
nu)
continue;
242 LatticeColorMatrix down_staple = adj(
tmp_1)*adj(
u[
mu])*
u[
nu];
255 ds_u[
mu] *= Real(1)/(Real(2*Nc));
273 multi2d<LatticeReal> plaq_site;
277 LatticeColorMatrix tmp_0;
278 LatticeColorMatrix
tmp_1;
279 LatticeColorMatrix
tmp_2;
281 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
288 LatticeColorMatrix
G;
293 if (
mu ==
nu)
continue;
299 LatticeColorMatrix down_staple = adj(
tmp_1)*adj(
u[
mu])*
u[
nu];
315 ds_u[
mu] *= Real(1)/(Real(2*Nc));
Primary include file for CHROMA library code.
Create a gauge connection state.
Abstract base class for gauge actions.
virtual const GaugeBC< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > & getGaugeBC() const
Return the gauge BC object for this action.
virtual void zero(P &ds_u) const =0
Zero some gauge-like field in place on the masked links.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
void deriv(multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state) const
Compute dS/dU.
void derivPlaqTwo(multi1d< LatticeColorMatrix > &ds_u, const Handle< GaugeState< P, Q > > &state) const
Compute dS/dU.
multi2d< LatticeReal > plaq_weight
void staple(LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb) const
Compute staple.
void derivPlaqFun(multi1d< LatticeColorMatrix > &ds_u, const Handle< GaugeState< P, Q > > &state) const
Compute dS/dU.
GaugeAct(Handle< CreateGaugeState< P, Q > > cgs_, const Params &p)
void siteAction(multi2d< LatticeReal > &site_act, const Handle< GaugeState< P, Q > > &state) const
Compute the site-level action.
Double S(const Handle< GaugeState< P, Q > > &state) const
Compute the actions.
All gauge create-state method.
Gauge create state factory.
Fermion action factories.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createGaugeAct(XMLReader &xml, const std::string &path)
static bool registered
Local registration flag.
const std::string name
Name to be used.
Handle< CreateGaugeState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > reader(XMLReader &xml_in, const std::string &path)
Helper function for the CreateGaugeState readers.
bool registerAll()
Register all the factories.
multi1d< LatticeColorMatrix > G
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
FloatingPoint< double > Double
Plaquette plus two-plaquette (plaquette squared) gauge action.
Params()
Base Constructor.