mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 14:04:32 +00:00 
			
		
		
		
	Bug in two flav pseudofermion corrected to reimport gauge field upon rejection.
exp(-DeltaH) = 1 now, and plaquette is sensible. Will reproduce an old Wilson Gauge Wilson Fermion SCRI plaquette with precision in mass matching shortly.
This commit is contained in:
		@@ -144,6 +144,7 @@ namespace Grid{
 | 
			
		||||
 | 
			
		||||
	gaussian(pRNG,eta);
 | 
			
		||||
 | 
			
		||||
	FermOp.ImportGauge(U);
 | 
			
		||||
	FermOp.Mdag(eta,Phi);
 | 
			
		||||
 | 
			
		||||
	Phi=Phi*scale;
 | 
			
		||||
 
 | 
			
		||||
@@ -94,6 +94,7 @@ namespace Grid{
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      void evolve(LatticeLorentzColourMatrix& Uin){
 | 
			
		||||
 | 
			
		||||
	Real DeltaH;
 | 
			
		||||
	
 | 
			
		||||
	// Thermalizations
 | 
			
		||||
@@ -106,14 +107,16 @@ namespace Grid{
 | 
			
		||||
 | 
			
		||||
	// Actual updates (evolve a copy Ucopy then copy back eventually)
 | 
			
		||||
	LatticeLorentzColourMatrix Ucopy(Uin._grid);
 | 
			
		||||
	for(int iter=Params.StartingConfig; 
 | 
			
		||||
	    iter < Params.Nsweeps+Params.StartingConfig; ++iter){
 | 
			
		||||
	for(int iter=Params.StartingConfig; iter < Params.Nsweeps+Params.StartingConfig; ++iter){
 | 
			
		||||
 | 
			
		||||
	  std::cout<<GridLogMessage << "-- # Sweep = "<< iter <<  "\n";
 | 
			
		||||
	  
 | 
			
		||||
	  Ucopy = Uin;
 | 
			
		||||
 | 
			
		||||
	  DeltaH = evolve_step(Ucopy);
 | 
			
		||||
		
 | 
			
		||||
	  if(metropolis_test(DeltaH)) Uin = Ucopy;
 | 
			
		||||
 | 
			
		||||
	  //need sync? // Query Guido on this comment
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -60,10 +60,10 @@ namespace Grid{
 | 
			
		||||
      
 | 
			
		||||
      IntegratorPolicy TheIntegrator;// contains parameters too
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      void update_P(LatticeLorentzColourMatrix&U, int level,double ep){
 | 
			
		||||
	for(int a=0; a<as[level].size(); ++a){
 | 
			
		||||
	  LatticeLorentzColourMatrix force(U._grid);
 | 
			
		||||
 | 
			
		||||
	  as[level].at(a)->deriv(U,force);
 | 
			
		||||
 | 
			
		||||
	  Complex dSdt=0.0;
 | 
			
		||||
 
 | 
			
		||||
@@ -41,8 +41,9 @@ int main (int argc, char ** argv)
 | 
			
		||||
  FullSet.push_back(Level1);
 | 
			
		||||
 | 
			
		||||
  // Create integrator
 | 
			
		||||
  typedef LeapFrog  IntegratorAlgorithm;// change here to change the algorithm
 | 
			
		||||
  IntegratorParameters MDpar(12,40,1.0);
 | 
			
		||||
  typedef MinimumNorm2  IntegratorAlgorithm;// change here to change the algorithm
 | 
			
		||||
  //  typedef LeapFrog  IntegratorAlgorithm;// change here to change the algorithm
 | 
			
		||||
  IntegratorParameters MDpar(12,20,1.0);
 | 
			
		||||
  std::vector<int> rel ={1};
 | 
			
		||||
  Integrator<IntegratorAlgorithm> MDynamics(&Fine,MDpar, FullSet,rel);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user