diff --git a/Grid/qcd/action/momentum/DDHMCfilter.h b/Grid/qcd/action/momentum/DDHMCfilter.h index db2ac156..e4772039 100644 --- a/Grid/qcd/action/momentum/DDHMCfilter.h +++ b/Grid/qcd/action/momentum/DDHMCfilter.h @@ -58,6 +58,7 @@ struct DDHMCFilter: public MomentumFilterBase GridBase *grid = P.Grid(); LatticeColourMatrix zz(grid); zz = Zero(); + MomentaField zzz(grid); zzz = Zero(); //////////////////////////////////////////////////// // Zero strictly links crossing between domains @@ -72,7 +73,7 @@ struct DDHMCFilter: public MomentumFilterBase for(int mu=0;mu0) ) { - +#if 0 LatticeCoordinate(coor,mu); auto P_mu = PeekIndex(P, mu); P_mu = where(mod(coor,Block[mu])==Integer(Block[mu]-1),zz,P_mu); @@ -86,6 +87,16 @@ struct DDHMCFilter: public MomentumFilterBase PokeIndex(P, P_nu, nu); } } +#else + LatticeCoordinate(coor,mu); + P = where(mod(coor,Block[mu])==Integer(Block[mu]-2),zzz,P); //width 4 + P = where(mod(coor,Block[mu])==Integer(Block[mu]-1),zzz,P); //width 2 + P = where(mod(coor,Block[mu])==Integer(0),zzz,P); //width 2 + auto P_mu = PeekIndex(P,mu); + P = where(mod(coor,Block[mu])==Integer(1),zzz,P); //width 4 + PokeIndex(P, P_mu, mu); +#endif + }