16 namespace PlaqGaugeActEnv
47 XMLReader paramtop(xml_in, path);
56 XMLReader coefftop(paramtop,
"coeffs");
57 for(
int i=0;
i <
Nd; ++
i)
59 std::ostringstream os;
60 os <<
"elem[" <<
i+1 <<
"]";
63 read(coefftop, os.str(), cc);
70 QDPIO::cerr <<
"Error reading XML: " << e << std::endl;
101 Real coeff_t = coeff;
102 Real coeff_s = coeff;
107 coeff_t *= aniso.
xi_0;
108 coeff_s /= aniso.
xi_0;
119 if(
mu == t_dir ||
nu == t_dir )
153 if(
mu == t_dir ||
nu == t_dir )
188 int mu,
int cb)
const
192 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
195 LatticeColorMatrix tmp1,
tmp2;
196 LatticeColorMatrix u_nu_mu;
200 if(
nu ==
mu )
continue;
234 int mu,
int cb,
int t_dir)
const
239 if(
mu == t_dir )
return;
241 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
245 if( (
nu !=
mu) && (
nu != t_dir) )
250 u_mu_staple[rb[
cb]]+=
255 u_mu_staple[rb[
cb]]+=
277 int mu,
int cb,
int t_dir)
const
284 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
289 bool doit_mu_is_time;
290 bool doit_nu_is_time;
292 doit_mu_is_time = (
mu == t_dir ) && (
nu != t_dir);
293 doit_nu_is_time = (
nu == t_dir ) && (
mu != t_dir);
295 if( doit_mu_is_time || doit_nu_is_time )
299 u_mu_staple[rb[
cb]]+=
304 u_mu_staple[rb[
cb]]+=
334 LatticeColorMatrix tmp_0;
335 LatticeColorMatrix
tmp_1;
336 LatticeColorMatrix
tmp_2;
338 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
346 for(
int cb=0;
cb < 2;
cb++)
363 ds_u[
mu] *= Real(-1)/(Real(2*Nc));
370 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
374 LatticeColorMatrix
G;
379 LatticeColorMatrix up_staple;
380 LatticeColorMatrix down_staple;
382 LatticeColorMatrix
tmp_1;
383 LatticeColorMatrix
tmp_2;
400 ds_u[
mu] *= Real(-
param.coeff)/(Real(2*Nc));
421 LatticeColorMatrix tmp_0;
422 LatticeColorMatrix
tmp_1;
423 LatticeColorMatrix
tmp_2;
425 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
434 if( (
mu != t_dir) && (
nu != t_dir) )
436 for(
int cb=0;
cb < 2;
cb++)
454 ds_u[
mu] *= Real(-1)/(Real(2*Nc));
475 LatticeColorMatrix tmp_0;
476 LatticeColorMatrix
tmp_1;
477 LatticeColorMatrix
tmp_2;
479 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
488 if( (
mu == t_dir) || (
nu == t_dir) )
490 for(
int cb=0;
cb < 2;
cb++)
508 ds_u[
mu] *= Real(-1)/(Real(2*Nc));
540 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
575 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
585 if( (
nu != t_dir) && (
mu != t_dir) )
613 const multi1d<LatticeColorMatrix>&
u =
state->getLinks();
623 if( (
nu == t_dir) || (
mu == t_dir) )
Primary include file for CHROMA library code.
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 init(const Real &coeff, const AnisoParam_t &aniso)
Hide assignment.
void derivSpatial(multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state, int t_dir) const
compute spatial dS/dU given a time direction
void derivTemporal(multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state, int t_dir) const
compute spatial dS/dU given a time direction
void staple(LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb) const
Compute staple.
Double S(const Handle< GaugeState< P, Q > > &state) const
Compute the actions.
Double spatialS(const Handle< GaugeState< P, Q > > &state, int t_dir) const
Compute the spatial part of the action given a time direction.
void deriv(multi1d< LatticeColorMatrix > &result, const Handle< GaugeState< P, Q > > &state) const
Compute dS/dU.
void stapleTemporal(LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb, int t_dir) const
Compute staple.
Double temporalS(const Handle< GaugeState< P, Q > > &state, int t_dir) const
Compute the temporal part of the action given a time direction.
void stapleSpatial(LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb, int t_dir) const
Compute staple.
All gauge create-state method.
Gauge create state factory.
Fermion action factories.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
Handle< CreateGaugeState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > reader(XMLReader &xml_in, const std::string &path)
Helper function for the CreateGaugeState readers.
GaugeAction< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createGaugeAct(XMLReader &xml, const std::string &path)
static bool registered
Local registration flag.
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
Parameters for anisotropy.
PlaqGaugeActParams()
Base Constructor.