Trisurf Monte Carlo simulator
Samo Penic
2016-04-07 b122c46c95b96febda4ebf3c8ddfa79998d599f9
python/trisurf/trisurf.py
@@ -12,7 +12,7 @@
import psutil
import time
import datetime
from subprocess import call, Popen
# Process status
TS_NOLOCK=0 # lock file does not exist
@@ -246,8 +246,10 @@
   '''
   Class Runner consists of a single running or terminated instance of the trisurf. It manages starting, stopping, verifying the running process and printing the reports of the configured instances.
   '''
   def __init__(self, subdir='run0', tape='', snapshot=''):
   def __init__(self, subdir='run0', tape='', snapshot='', runArgs=[]):
      self.subdir=subdir
      self.runArgs=runArgs
      self.fromSnapshot=False
      if(tape!=''):
         self.initFromTape(tape)
      if(snapshot!=''):
@@ -265,7 +267,8 @@
      except:
         print("Error reading snapshot file")
         exit(1)
      self.fromSnapshot=True
      self.snapshotFile=snapshotfile
      root = tree.getroot()
      tapetxt=root.find('tape')
      version=root.find('trisurfversion')
@@ -303,8 +306,15 @@
      if(self.getStatus()==0):
         self.Dir=Directory(maindir=self.maindir,simdir=self.subdir)
         self.Dir.makeifnotexist()
#         self.Dir.goto()
         cwd=Directory(maindir=os.getcwd())
         self.Dir.goto()
         print("Starting trisurf-ng executable at "+self.Dir.fullpath()+"\n")
         if(self.fromSnapshot==True):
            params=["trisurf", "--restore-from-vtk",self.snapshotFile]+self.runArgs
         else:
            params=["trisurf"]+self.runArgs
         Popen (params, stdout=False)
         cwd.goto()
      else:
         print("Process already running. Not starting\n")
      return