Trisurf Monte Carlo simulator
Samo Penic
2016-07-11 e984829db39b2778e4f66c34524329ad09749c45
python/trisurf/trisurf.py
@@ -2,7 +2,7 @@
import xml.etree.ElementTree as ET
import base64
import zlib
import io
import sys,io
import os
from itertools import islice
import mmap
@@ -212,8 +212,40 @@
         lines=0
         f.close()
      return lines
   def tail(self,filename,n=2):
      with open(filename,'r') as myfile:
         lines=myfile.readlines()
      return [lines[len(lines)-2].replace('\n',''),lines[len(lines)-1].replace('\n','')]
   def read(self):
      try:
         lines=self.tail(self.fullname)
      except:
         return(False)
      if len(lines)<2:
         return(False)
      #print (line)
      fields=shlex.split(lines[0])
      epoch1=fields[0]
      n1=fields[1]
      fields=shlex.split(lines[1])
      epoch2=fields[0]
      n2=fields[1]
      try:
         self.dT=int(epoch2)-int(epoch1)
         self.last=n2
         #print(epoch1)
         #print(epoch2)
         #print(self.dT)
         #print(self.last)
         self.startDate=os.path.getmtime(os.path.join(self.path,'.lock'))
      except:
         return(False)
      return(True)
   def read_old(self):
      '''
      Method read() reads the statistics if it exists. It sets local variable dT storing the time differential between two intervals of simulation (outer loops). It also stores last simulation loop and the start of the run.
      '''
@@ -318,7 +350,7 @@
      return int(status)
   def isCompleted(self):
      if (int(self.tape.getValue("iterations"))==self.getLastIteration()+1):
      if int(self.tape.getValue("iterations"))+int(self.tape.getValue("inititer"))==self.getLastIteration()+1:
         return True
      else:
         return False
@@ -411,6 +443,8 @@
      for p,v in zip(prefix,variables):
         if(v=="xk0"):
            tv=str(round(float(self.tape.config[v])))
            if sys.version_info<(3,0):
               tv=str(int(float(self.tape.config[v])))
         else:
            tv=self.tape.config[v]
         maindir=maindir+p+tv
@@ -461,7 +495,7 @@
   def getLastVTU(self):
      vtuidx=self.getLastIteration()
      vtuidx=self.getLastIteration() -int(self.tape.getValue("inititer"))
      if vtuidx<0:
         return None
      else: