38 void fuzwilp(
const multi1d<LatticeColorMatrix>&
u,
39 int j_decay,
int tmax,
int n_smear,
40 const Real& sm_fact,
const Real& BlkAccu,
int BlkMax,
51 multi1d<int> nrow(
Nd);
52 nrow = Layout::lattSize();
57 lengthrs = (lengthr) * (lengthr+1) / 2;
62 QDPIO::cout <<
" using lengtht = " << lengtht << std::endl;
65 multi1d<LatticeColorMatrix> u_smear(
Nd);
66 multi1d<LatticeColorMatrix> u_tmp(
Nd);
67 multi2d<LatticeColorMatrix> u_prod( (
Nd-1), lengthr);
68 LatticeColorMatrix tmp_tog;
69 LatticeColorMatrix up_t;
70 LatticeColorMatrix u_corn;
71 LatticeColorMatrix
tmp_1;
72 LatticeColorMatrix
tmp_2;
75 multi2d<Double> fuz_wlp1(lengthr, lengtht);
76 multi2d<Double> fuz_wlp2(lengthrs, lengtht);
95 QDPIO::cout <<
" j_decay = " <<
j_decay <<
"and lengthr =" << nrow[0] << std::endl;
108 for(
i = 1;
i <= ( n_smear); ++
i )
124 link /= double(Layout::vol()*
Nd*Nc);
125 QDPIO::cout <<
"Average link after smearing: " <<
link << std::endl;
141 u_prod[mum][0] = u_smear[
mu];
142 for(
r=1;
r < lengthr; ++
r)
144 tmp_tog = shift(u_prod[mum][
r-1],
FORWARD,
mu);
145 tmp_1 = u_smear[
mu] * tmp_tog ;
173 for(
t = 0;
t < ( lengtht); ++
t )
177 QDPIO::cout <<
"t= " <<
t << std::endl;
204 for(
r = 0;
r < ( lengthr); ++
r )
259 wl_trace = real(trace(
tmp_2));
260 fuz_wlp1[
r][
t] +=
sum(wl_trace);
293 for(
s = 0;
s <= (
r); ++
s )
308 u_corn = u_prod[mum][
r] * tmp_tog;
326 u_corn += u_prod[nun][
s] * tmp_tog;
415 wl_trace = real(trace(
tmp_2));
416 n =
r * (
r+1) / 2 +
s;
417 fuz_wlp2[
n][
t] +=
sum(wl_trace);
444 u_corn = u_prod[mum][
r] * adj(tmp_tog);
468 u_corn += adj(tmp_tog) *
tmp_1;
513 wl_trace = real(trace(
tmp_2));
514 n =
r * (
r+1) / 2 +
s;
515 fuz_wlp2[
n][
t] +=
sum(wl_trace);
525 ddummy = 1.0 / double (Layout::vol()*Nc*(
Nd-1)) ;
527 push(xml,
"fuz_wlp1");
528 write(xml,
"lengthr", lengthr);
530 multi1d<Real> wloopr(lengtht);
531 for(
r = 0;
r < lengthr; ++
r)
533 for(
t = 0;
t < lengtht; ++
t)
535 fuz_wlp1[
r][
t] = fuz_wlp1[
r][
t] * ddummy;
536 wloopr[
t] = fuz_wlp1[
r][
t];
539 write(xml,
"wloopr", wloopr);
543 ddummy = 1.0 / double(Layout::vol()*8*Nc*(
Nd-1)*(
Nd-2) ) ;
545 for(
t = 0;
t < ( lengtht); ++
t )
548 for(
r = 0;
r < ( lengthr); ++
r )
549 for(
s = 0;
s <= (
r); ++
s )
552 fuz_wlp2[
n][
t] = fuz_wlp2[
n][
t] * ddummy;
555 multi1d<Real> wlooprs(lengtht);
556 push(xml,
"fuz_wlp2");
557 write(xml,
"lengthr", lengthr);
560 for(
r = 0;
r < lengthr; ++
r)
563 for(
s = 0;
s <= (
r); ++
s )
567 for(
t = 0;
t < lengtht; ++
t)
568 wlooprs[
t] = fuz_wlp2[
n][
t];
569 write(xml,
"wlooprs", wlooprs);
573 QDPIO::cout <<
"fuz_wlp1 and fuz_wlp2 written to .xml file " << std::endl;
Primary include file for CHROMA library code.
Calculate ape-fuzzed Wilson loops.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
void fuzwilp(const multi1d< LatticeColorMatrix > &u, int j_decay, int tmax, int n_smear, const Real &sm_fact, const Real &BlkAccu, int BlkMax, XMLWriter &xml, const std::string &xml_group)
Calculate ape-fuzzed Wilson loops.
void APE_Smear(const multi1d< LatticeColorMatrix > &u, LatticeColorMatrix &u_smear, int mu, int bl_level, const Real &sm_fact, const Real &BlkAccu, int BlkMax, int j_decay)
Construct APE smeared links from:
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)
static multi1d< LatticeColorMatrix > u
push(xml_out,"Condensates")
multi1d< LatticeFermion > s(Ncb)
FloatingPoint< double > Double