diff --git a/HMC/Mobius2f_DDHMC.cc b/HMC/Mobius2f_DDHMC.cc index ebd99f26..7815c25a 100644 --- a/HMC/Mobius2f_DDHMC.cc +++ b/HMC/Mobius2f_DDHMC.cc @@ -28,7 +28,7 @@ directory /* END LEGAL */ #include #include -#include +#include #include #include @@ -81,12 +81,12 @@ int main(int argc, char **argv) { MD.trajL = 1.0; HMCparameters HMCparams; - HMCparams.StartTrajectory = 0; + HMCparams.StartTrajectory = 114; HMCparams.Trajectories = 1000; - HMCparams.NoMetropolisUntil= 10; + 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); @@ -106,9 +106,10 @@ int main(int argc, char **argv) { TheHMC.Resources.SetRNGSeeds(RNGpar); // Momentum Dirichlet - Coordinate Block({8,8,8,4}); + Coordinate Block({16,16,16,4}); - TheHMC.Resources.SetMomentumFilter(new DDHMCFilter(Block,0)); + // TheHMC.Resources.SetMomentumFilter(new DirichletFilter(Block)); + TheHMC.Resources.SetMomentumFilter(new DDHMCFilter(Block,1)); // Construct observables // here there is too much indirection typedef PlaquetteMod PlaqObs; @@ -182,11 +183,11 @@ int main(int argc, char **argv) { // into single op for any operator pair. // Same issue prevents using MxPCG in the Heatbath step ////////////////////////////////////////////////////////////// - std::vector Numerators; - std::vector Denominators; std::vector PeriNumerators; std::vector PeriDenominators; + std::vector DNumerators; + std::vector DDenominators; std::vector DirichletNumerators; std::vector DirichletDenominators; @@ -201,11 +202,11 @@ int main(int argc, char **argv) { PeriNumerators.push_back (new FermionAction(U,*FGrid,*FrbGrid,*GridPtr,*GridRBPtr,light_num[h],M5,b,c, Params)); PeriDenominators.push_back(new FermionAction(U,*FGrid,*FrbGrid,*GridPtr,*GridRBPtr,light_den[h],M5,b,c, Params)); - Numerators.push_back (new FermionAction(U,*FGrid,*FrbGrid,*GridPtr,*GridRBPtr,light_num[h],M5,b,c, Params)); - Denominators.push_back(new FermionAction(U,*FGrid,*FrbGrid,*GridPtr,*GridRBPtr,light_den[h],M5,b,c, Params)); + DNumerators.push_back (new FermionAction(U,*FGrid,*FrbGrid,*GridPtr,*GridRBPtr,light_num[h],M5,b,c, Params)); + DDenominators.push_back(new FermionAction(U,*FGrid,*FrbGrid,*GridPtr,*GridRBPtr,light_den[h],M5,b,c, Params)); - DirichletNumerators.push_back (new DirichletFermion(*Numerators[h],Block)); - DirichletDenominators.push_back(new DirichletFermion(*Denominators[h],Block)); + DirichletNumerators.push_back (new DirichletFermion(*DNumerators[h],Block)); + DirichletDenominators.push_back(new DirichletFermion(*DDenominators[h],Block)); BoundaryNumerators.push_back (new SchurFactoredFermionOperator (*PeriNumerators[h],