From 0d80eeb545e4bfdf6fdbbeb145033ea6ef60a694 Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Thu, 3 Mar 2022 16:56:02 -0500 Subject: [PATCH] small DDHMC update --- Grid/qcd/action/filters/DDHMCFilter.h | 11 +++++++++++ HMC/Mobius2p1f_DD_RHMC.cc | 10 +++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Grid/qcd/action/filters/DDHMCFilter.h b/Grid/qcd/action/filters/DDHMCFilter.h index 294a8d23..366b18e8 100644 --- a/Grid/qcd/action/filters/DDHMCFilter.h +++ b/Grid/qcd/action/filters/DDHMCFilter.h @@ -80,6 +80,17 @@ struct DDHMCFilter: public MomentumFilterBase U_mu = where(mod(coor,B1)==Integer(B1-3),zzz_mu,U_mu); PokeIndex(U, U_mu, mu); } + if ( Width==3) { + U = where(mod(coor,B1)==Integer(B1-3),zzz,U); + U = where(mod(coor,B1)==Integer(B1-2),zzz,U); + U = where(mod(coor,B1)==Integer(B1-1),zzz,U); + U = where(mod(coor,B1)==Integer(0) ,zzz,U); + U = where(mod(coor,B1)==Integer(1) ,zzz,U); + U = where(mod(coor,B1)==Integer(2) ,zzz,U); + auto U_mu = PeekIndex(U,mu); + U_mu = where(mod(coor,B1)==Integer(B1-4),zzz_mu,U_mu); + PokeIndex(U, U_mu, mu); + } } } diff --git a/HMC/Mobius2p1f_DD_RHMC.cc b/HMC/Mobius2p1f_DD_RHMC.cc index eb9ea9cb..a41972c2 100644 --- a/HMC/Mobius2p1f_DD_RHMC.cc +++ b/HMC/Mobius2p1f_DD_RHMC.cc @@ -50,16 +50,16 @@ int main(int argc, char **argv) { // MD.name = std::string("Force Gradient"); typedef GenericHMCRunner HMCWrapper; MD.name = std::string("MinimumNorm2"); - MD.MDsteps = 10; + MD.MDsteps = 4; MD.trajL = 1.0; HMCparameters HMCparams; - HMCparams.StartTrajectory = 0; + HMCparams.StartTrajectory = 8; HMCparams.Trajectories = 200; HMCparams.NoMetropolisUntil= 0; // "[HotStart, ColdStart, TepidStart, CheckpointStart]\n"; - HMCparams.StartingType =std::string("ColdStart"); - // HMCparams.StartingType =std::string("CheckpointStart"); + // HMCparams.StartingType =std::string("ColdStart"); + HMCparams.StartingType =std::string("CheckpointStart"); HMCparams.MD = MD; HMCWrapper TheHMC(HMCparams); @@ -159,7 +159,7 @@ int main(int argc, char **argv) { //////////////////////////////////// ActionLevel Level1(1); ActionLevel Level2(2); - ActionLevel Level3(4); + ActionLevel Level3(8); //////////////////////////////////// // Strange action