mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-19 16:27:05 +01:00
Started a tidy up in the HMC sector. Now comfortable with the two level integrators;
to a little figure out what Guido had done & why -- but there is a neat saving of force evaluations across the nesting time boundary making use of linearity of the leapP in dt. I cleaned up the printing, reduced the volume of code, in the process sharing printing between all integrators. Placed an assert that the total integration time for all integrators must match at end of trajectory. Have now verified e-dH = 1 for nested integrators in Wilson/Wilson runs with both Omelyan and with Leapfrog so substantial confidence gained.
This commit is contained in:
@ -16,7 +16,9 @@ int main (int argc, char ** argv)
|
||||
GridCartesian Fine(latt_size,simd_layout,mpi_layout);
|
||||
GridRedBlackCartesian RBFine(latt_size,simd_layout,mpi_layout);
|
||||
GridParallelRNG pRNG(&Fine);
|
||||
pRNG.SeedRandomDevice();
|
||||
|
||||
std::vector<int> seeds({5,6,7,8});
|
||||
pRNG.SeedFixedIntegers(seeds);
|
||||
LatticeLorentzColourMatrix U(&Fine);
|
||||
|
||||
SU3::HotConfiguration(pRNG, U);
|
||||
@ -28,14 +30,16 @@ int main (int argc, char ** argv)
|
||||
WilsonFermionR FermOp(U,Fine,RBFine,mass);
|
||||
|
||||
ConjugateGradient<LatticeFermion> CG(1.0e-8,10000);
|
||||
ConjugateGradient<LatticeFermion> CGmd(1.0e-6,10000);
|
||||
|
||||
TwoFlavourPseudoFermionAction<WilsonImplR> WilsonNf2(FermOp,CG,CG);
|
||||
|
||||
//Collect actions
|
||||
ActionLevel Level1;
|
||||
ActionLevel Level1(1);
|
||||
ActionLevel Level2(4);
|
||||
Level1.push_back(&WilsonNf2);
|
||||
Level1.push_back(&Waction);
|
||||
// Level1.push_back(&Waction);
|
||||
|
||||
ActionSet FullSet;
|
||||
FullSet.push_back(Level1);
|
||||
// FullSet.push_back(Level2);
|
||||
|
Reference in New Issue
Block a user