From c1504d4d71afcd0764bfbb51578ebed556f36aec Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Tue, 21 Feb 2017 08:54:27 +0000 Subject: [PATCH] Added analysis options and analysis decorator --- trisurf/trisurf.py | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 44 insertions(+), 1 deletions(-) diff --git a/trisurf/trisurf.py b/trisurf/trisurf.py index e386595..3a052fc 100644 --- a/trisurf/trisurf.py +++ b/trisurf/trisurf.py @@ -20,6 +20,9 @@ TS_RUNNING=2 # process is running TS_COMPLETED=3 #simulation is completed +#namespace variable. Seems the best place to put the variable in :) +_analysis_list={} + class FileContent: ''' Class is helpful for reading and writting the specific files. @@ -258,6 +261,35 @@ fields=shlex.split(lines[1]) epoch2=fields[0] return (fields[1]) + + def getColumn(self,n=0): + lines=self.readText().splitlines() + col=[] + name=lines[0].split()[n] + for line in lines: + col.append(line.split()[n]) + return col[2:],name + + def getTable(self): + lines=self.readText().splitlines() + keys=lines[0].split() + table={} + def num(s): + try: + return int(s) + except ValueError: + return float(s) + for key in keys: + table[key]=[] + for line in lines: + fields=line.split() + for i in range(0,len(keys)): + try: + value=num(fields[i]) + table[keys[i]].append(value) + except: + pass + return table def readText(self): @@ -487,13 +519,24 @@ self.Comment.writefile(data,mode=mode) - def getLastVTU(self): + def getLastVTUold(self): vtuidx=self.getLastIteration()-int(self.Tape.getValue("inititer")) if vtuidx<0: return None else: return 'timestep_{:06d}.vtu'.format(vtuidx) + def getLastVTU(self): + flist=[] + for file in os.listdir(self.Dir.fullpath()): + if file.endswith(".vtu"): + flist.append(file) + flist.sort() + if(len(flist)==0): + return(-1) + else: + return(flist[-1]) + def __str__(self): if(self.getStatus()==0): str=" not running." -- Gitblit v1.9.3