mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts: lib/Make.inc lib/qcd/hmc/HMC.h tests/Make.inc tests/Test_hmc_WilsonFermionGauge.cc
This commit is contained in:
		@@ -31,15 +31,16 @@ int main (int argc, char ** argv)
 | 
			
		||||
  ConjugateGradient<LatticeFermion>  CGmd(1.0e-6,10000);
 | 
			
		||||
  
 | 
			
		||||
  TwoFlavourPseudoFermionAction<LatticeLorentzColourMatrix, LatticeColourMatrix,LatticeFermion> 
 | 
			
		||||
    Pseudofermion(FermOp,CGmd,CG,Fine);
 | 
			
		||||
 | 
			
		||||
    WilsonNf2(FermOp,CG,CG,Fine);
 | 
			
		||||
  
 | 
			
		||||
  //Collect actions
 | 
			
		||||
  ActionLevel Level1;
 | 
			
		||||
  Level1.push_back(&Waction);
 | 
			
		||||
  Level1.push_back(&Pseudofermion);
 | 
			
		||||
  Level1.push_back(&WilsonNf2);
 | 
			
		||||
  ActionLevel Level2(3);
 | 
			
		||||
  Level2.push_back(&Waction);
 | 
			
		||||
  ActionSet FullSet;
 | 
			
		||||
  FullSet.push_back(Level1);
 | 
			
		||||
  FullSet.push_back(Level2);
 | 
			
		||||
 | 
			
		||||
  // Create integrator
 | 
			
		||||
  typedef MinimumNorm2  IntegratorAlgorithm;// change here to change the algorithm
 | 
			
		||||
 
 | 
			
		||||
@@ -24,13 +24,13 @@ int main (int argc, char ** argv)
 | 
			
		||||
  GridCartesian           Fine(latt_size,simd_layout,mpi_layout);
 | 
			
		||||
  GridParallelRNG  pRNG(&Fine);
 | 
			
		||||
  pRNG.SeedRandomDevice();
 | 
			
		||||
  LatticeLorentzColourMatrix     U(&Fine);
 | 
			
		||||
  LatticeGaugeField U(&Fine);
 | 
			
		||||
 | 
			
		||||
  SU3::HotConfiguration(pRNG, U);
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
  // simplify template declaration? Strip the lorentz from the second template
 | 
			
		||||
  WilsonGaugeAction<LatticeLorentzColourMatrix, LatticeColourMatrix> Waction(6.0);
 | 
			
		||||
  WilsonGaugeAction<LatticeGaugeField, LatticeColourMatrix> Waction(6.0);
 | 
			
		||||
 | 
			
		||||
  //Collect actions
 | 
			
		||||
  ActionLevel Level1;
 | 
			
		||||
@@ -39,10 +39,9 @@ int main (int argc, char ** argv)
 | 
			
		||||
  FullSet.push_back(Level1);
 | 
			
		||||
 | 
			
		||||
  // Create integrator
 | 
			
		||||
  typedef MinimumNorm2  IntegratorAlgorithm;// change here to change the algorithm
 | 
			
		||||
  typedef MinimumNorm2  IntegratorAlgorithm;// change here to modify the algorithm
 | 
			
		||||
  IntegratorParameters MDpar(12,5,1.0);
 | 
			
		||||
  std::vector<int> rel ={1};
 | 
			
		||||
  Integrator<IntegratorAlgorithm> MDynamics(&Fine,MDpar, FullSet,rel);
 | 
			
		||||
  Integrator<IntegratorAlgorithm> MDynamics(&Fine,MDpar, FullSet);
 | 
			
		||||
 | 
			
		||||
  // Create HMC
 | 
			
		||||
  HMCparameters HMCpar;
 | 
			
		||||
 
 | 
			
		||||
@@ -194,9 +194,34 @@ int main (int argc, char ** argv)
 | 
			
		||||
  // Insist that operations on random scalars gives
 | 
			
		||||
  // identical results to on vectors.
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "==================================="<<  std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "Testing vComplexF "<<std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "==================================="<<  std::endl;
 | 
			
		||||
  std::cout << GridLogMessage <<"==================================="<<  std::endl;
 | 
			
		||||
  std::cout << GridLogMessage <<"Testing vRealF "<<std::endl;
 | 
			
		||||
  std::cout << GridLogMessage <<"==================================="<<  std::endl;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  Tester<RealF,vRealF>(funcPlus());
 | 
			
		||||
  Tester<RealF,vRealF>(funcMinus());
 | 
			
		||||
  Tester<RealF,vRealF>(funcTimes());
 | 
			
		||||
  Tester<RealF,vRealF>(funcAdj());
 | 
			
		||||
  Tester<RealF,vRealF>(funcConj());
 | 
			
		||||
  Tester<RealF,vRealF>(funcInnerProduct());
 | 
			
		||||
  ReductionTester<RealF,RealF,vRealF>(funcReduce());
 | 
			
		||||
 | 
			
		||||
  std::cout << GridLogMessage <<"==================================="<<  std::endl;
 | 
			
		||||
  std::cout << GridLogMessage <<"Testing vRealD "<<std::endl;
 | 
			
		||||
  std::cout << GridLogMessage <<"==================================="<<  std::endl;
 | 
			
		||||
 | 
			
		||||
  Tester<RealD,vRealD>(funcPlus());
 | 
			
		||||
  Tester<RealD,vRealD>(funcMinus());
 | 
			
		||||
  Tester<RealD,vRealD>(funcTimes());
 | 
			
		||||
  Tester<RealD,vRealD>(funcAdj());
 | 
			
		||||
  Tester<RealD,vRealD>(funcConj());
 | 
			
		||||
  Tester<RealD,vRealD>(funcInnerProduct());
 | 
			
		||||
  ReductionTester<RealD,RealD,vRealD>(funcReduce());
 | 
			
		||||
 | 
			
		||||
  std::cout << GridLogMessage <<"==================================="<<  std::endl;
 | 
			
		||||
  std::cout << GridLogMessage <<"Testing vComplexF "<<std::endl;
 | 
			
		||||
  std::cout << GridLogMessage <<"==================================="<<  std::endl;
 | 
			
		||||
 | 
			
		||||
  Tester<ComplexF,vComplexF>(funcTimesI());
 | 
			
		||||
  Tester<ComplexF,vComplexF>(funcTimesMinusI());
 | 
			
		||||
@@ -223,30 +248,5 @@ int main (int argc, char ** argv)
 | 
			
		||||
  Tester<ComplexD,vComplexD>(funcInnerProduct());
 | 
			
		||||
  ReductionTester<ComplexD,ComplexD,vComplexD>(funcReduce());
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "==================================="<<  std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "Testing vRealF "<<std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "==================================="<<  std::endl;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  Tester<RealF,vRealF>(funcPlus());
 | 
			
		||||
  Tester<RealF,vRealF>(funcMinus());
 | 
			
		||||
  Tester<RealF,vRealF>(funcTimes());
 | 
			
		||||
  Tester<RealF,vRealF>(funcAdj());
 | 
			
		||||
  Tester<RealF,vRealF>(funcConj());
 | 
			
		||||
  Tester<RealF,vRealF>(funcInnerProduct());
 | 
			
		||||
  ReductionTester<RealF,RealF,vRealF>(funcReduce());
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "==================================="<<  std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "Testing vRealD "<<std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "==================================="<<  std::endl;
 | 
			
		||||
 | 
			
		||||
  Tester<RealD,vRealD>(funcPlus());
 | 
			
		||||
  Tester<RealD,vRealD>(funcMinus());
 | 
			
		||||
  Tester<RealD,vRealD>(funcTimes());
 | 
			
		||||
  Tester<RealD,vRealD>(funcAdj());
 | 
			
		||||
  Tester<RealD,vRealD>(funcConj());
 | 
			
		||||
  Tester<RealD,vRealD>(funcInnerProduct());
 | 
			
		||||
  ReductionTester<RealD,RealD,vRealD>(funcReduce());
 | 
			
		||||
 | 
			
		||||
  Grid_finalize();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user