mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Fixing the plaquette computation
This commit is contained in:
		@@ -99,7 +99,7 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
 | 
			
		||||
 | 
			
		||||
 public:
 | 
			
		||||
  VariableWilsonGaugeAction(std::vector<RealD> bulk, std::vector<RealD> xdim,
 | 
			
		||||
                            GridBase *_grid, bool openBC = false)
 | 
			
		||||
                            GridBase *_grid)
 | 
			
		||||
      : b_bulk(bulk),
 | 
			
		||||
        b_xdim(xdim),
 | 
			
		||||
        grid(_grid),
 | 
			
		||||
@@ -130,11 +130,6 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
 | 
			
		||||
      beta_xdim = where(coor == tau, temp, beta_xdim);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!openBC) {
 | 
			
		||||
      temp = b_xdim[Nex - 1];
 | 
			
		||||
      beta_xdim = where(coor == Nex - 1, temp, beta_xdim);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    beta_xdim_shifted = Cshift(beta_xdim, Ndim - 1, -1);
 | 
			
		||||
 | 
			
		||||
    beta_bulk = zero;
 | 
			
		||||
@@ -143,8 +138,7 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
 | 
			
		||||
      beta_bulk = where(coor == tau, temp, beta_bulk);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    std::cout << beta_xdim << std::endl;
 | 
			
		||||
    std::cout << beta_xdim_shifted << std::endl;
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  virtual void refresh(const GaugeField &U,
 | 
			
		||||
@@ -180,6 +174,7 @@ class VariableWilsonGaugeAction : public Action<typename Gimpl::GaugeField> {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    double faces = (1.0 * (Nd - 1) * (Nd - 2)) / 2.0;
 | 
			
		||||
    SumdirPlaq *= OneOnNc / (RealD(bulk_volume) * faces);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -170,6 +170,7 @@ class SU {
 | 
			
		||||
    ta()()(i2, i1) = 1.0;
 | 
			
		||||
    ta = ta * 0.5;
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  template <class cplx>
 | 
			
		||||
  static void generatorSigmaX(int su2Index, iSUnMatrix<cplx> &ta) {
 | 
			
		||||
    ta = zero;
 | 
			
		||||
@@ -194,6 +195,8 @@ class SU {
 | 
			
		||||
    ta = ta * nrm;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  ////////////////////////////////////////////////////////////////////////
 | 
			
		||||
  // Map a su2 subgroup number to the pair of rows that are non zero
 | 
			
		||||
  ////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 
 | 
			
		||||
@@ -54,9 +54,21 @@ public:
 | 
			
		||||
    // resolution throughout the usage in this file, and rather defeats the
 | 
			
		||||
    // purpose of deriving
 | 
			
		||||
    // from Gimpl.
 | 
			
		||||
    /*
 | 
			
		||||
    plaq = Gimpl::CovShiftBackward(
 | 
			
		||||
        U[mu], mu, Gimpl::CovShiftBackward(
 | 
			
		||||
                       U[nu], nu, Gimpl::CovShiftForward(U[mu], mu, U[nu])));
 | 
			
		||||
                       */
 | 
			
		||||
    // _
 | 
			
		||||
    //|< _|
 | 
			
		||||
    plaq = Gimpl::CovShiftForward(U[mu],mu,
 | 
			
		||||
           Gimpl::CovShiftForward(U[nu],nu,
 | 
			
		||||
           Gimpl::CovShiftBackward(U[mu],mu,
 | 
			
		||||
           Gimpl::CovShiftIdentityBackward(U[nu], nu))));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  //////////////////////////////////////////////////
 | 
			
		||||
  // trace of directed plaquette oriented in mu,nu plane
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user