tCheck if some output VTK file exist before writing all again - sphere - GPU-ba… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit c9b37d904623542765501b38f1d70f86951140d0 | |
parent 500151199d40152b6de6a8c894a3c268b2f1a047 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Mon, 2 Sep 2019 10:06:07 +0200 | |
Check if some output VTK file exist before writing all again | |
Diffstat: | |
M python/sphere.py | 51 ++++++++++++++++++++---------… | |
1 file changed, 33 insertions(+), 18 deletions(-) | |
--- | |
diff --git a/python/sphere.py b/python/sphere.py | |
t@@ -1,5 +1,6 @@ | |
#!/usr/bin/env python | |
import math | |
+import os | |
import numpy | |
try: | |
import matplotlib | |
t@@ -1613,21 +1614,37 @@ class sim: | |
:param forces: Write contact force files (slow) (default=False) | |
:type forces: bool | |
''' | |
- lastfile=status(self.sid) | |
- sb=sim(fluid=self.fluid) | |
+ lastfile = status(self.sid) | |
+ sb = sim(fluid=self.fluid) | |
for i in range(lastfile+1): | |
- fn="../output/{0}.output{1:0=5}.bin".format(self.sid, i) | |
- sb.sid=self.sid + ".{:0=5}".format(i) | |
+ fn = "../output/{0}.output{1:0=5}.bin".format(self.sid, i) | |
+ | |
+ # check if output VTK file exists and if it is newer than spherebin | |
+ fn_vtk = "../output/{0}.{1:0=5}.vtu".format(self.sid, i) | |
+ if os.path.isfile(fn_vtk) and \ | |
+ (os.path.getmtime(fn) < os.path.getmtime(fn_vtk)): | |
+ if verbose: | |
+ print('skipping ' + fn_vtk + | |
+ ': file exists and is newer than ' + fn) | |
+ if self.fluid: | |
+ fn_vtk = "../output/fluid-{0}.{1:0=5}.vti".format( | |
+ self.sid, i) | |
+ if os.path.isfile(fn_vtk) and \ | |
+ (os.path.getmtime(fn) < os.path.getmtime(fn_vtk)): | |
+ if verbose: | |
+ print('skipping ' + fn_vtk + | |
+ ': file exists and is newer than ' + fn) | |
+ continue | |
+ else: | |
+ continue | |
+ | |
+ sb.sid = self.sid + ".{:0=5}".format(i) | |
sb.readbin(fn, verbose=False) | |
if sb.np > 0: | |
- if i == 0: | |
- sb.writeVTK(verbose=verbose) | |
- if forces: | |
- sb.findContactStresses() | |
- sb.writeVTKforces(verbose=verbose) | |
- elif i == lastfile: | |
- if verbose: | |
- print("\tto") | |
+ if i == 0 or i == lastfile: | |
+ if i == lastfile: | |
+ if verbose: | |
+ print("\tto") | |
sb.writeVTK(verbose=verbose) | |
if forces: | |
sb.findContactStresses() | |
t@@ -1638,12 +1655,10 @@ class sim: | |
sb.findContactStresses() | |
sb.writeVTKforces(verbose=False) | |
if self.fluid: | |
- if i == 0: | |
- sb.writeFluidVTK(verbose=verbose, | |
- cell_centered=cell_centered) | |
- elif (i == lastfile): | |
- if verbose: | |
- print("\tto") | |
+ if i == 0 or i == lastfile: | |
+ if i == lastfile: | |
+ if verbose: | |
+ print("\tto") | |
sb.writeFluidVTK(verbose=verbose, | |
cell_centered=cell_centered) | |
else: |