]> git.treefish.org Git - phys/heatbath.git/blobdiff - sim-nor.hpp
Initializing fields to 1 for all algorithms.
[phys/heatbath.git] / sim-nor.hpp
index 7bb4a7c8fa8adb868c5c9755096ca5f48c07f158..a15547b911415d8a2e64961e1f0e5258db5e20cb 100644 (file)
@@ -21,15 +21,10 @@ public:
 private:
   void _makeSweep();
   void _newParas();
-
   gsl_rng* rangsl;
-
   neigh *nb;
-
   int updatePhi (const int& x);
-
   double M;
-
   double SofPhi(const int& x, const complex<double>& phix);
   double rhoPhi(const int& x, const complex<double>& phixCandidate);
 };
@@ -50,14 +45,18 @@ sim::sim(o815 *_O815) : o815::sim( _O815,
 }
 
 void sim::_makeSweep() {  
-  for (int ix = 0; ix < LSIZE2; ix++)
-    updatePhi(ix);
+  for (int ichecker=0; ichecker<2; ichecker++)
+    for (int it=0; it<O815->comargs.lsize[0]; it++)
+      for (int iy=(it+ichecker)%2; iy<O815->comargs.lsize[1]; iy+=2)
+       updatePhi( it*O815->comargs.lsize[1] + iy );
 }
 
 void sim::_newParas() {
   M = pow( (*O815->paraQ)["mass"], 2 ) + 4;
   *log << "SIM: Resetting fields." << endl << flush;
-  memset(conf, 0, sizeof(siteconf)*LSIZE2);
+
+  for (int ix=0; ix<LSIZE2; ix++)
+    conf[ix].phi = 1;
 }
 
 int sim::updatePhi(const int& x) {