Trisurf Monte Carlo simulator
Samo Penic
2016-07-07 d6583ebf40c9e99bfbec3652f8ef8639160f5fb6
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"))+1
      if vtuidx<0:
         return None
      else: