          lfd=0 ;
          ind=ind+1;
       }
+      simState.iterationNum++;
    }
 
    stopTime = time(0);

      // END DEBUG

      std::size_t iterationsUntilLog = simState.iterationNum % (LF * lfint) + 1;
      if(iterationsUntilLog < static_cast<std::size_t>(50.0 / D_DELT))
      {
         phiAvg.addPhi(dev_phi);
      }

      if (lfd >= LF) 
      {
         iterationTimer.stop();
         processingStream[0].synchronize();

#endif
            options.getRestartDir() != "" ? true : false);
         lfdint = lfdint + 1;
         if (ind % options.getLogInterval() == 0) 
         {
            Array2dF *phi = new Array2dF(NY, NX1);
            Array2dF *ex = new Array2dF(NY+1, NX1);
