|
[Sponsors] |
July 1, 2015, 06:15 |
stuck: Text file busy
|
#1 |
New Member
Chris Coutinho
Join Date: Jan 2015
Location: Netherlands
Posts: 28
Rep Power: 11 |
Hello Foamers,
I have successfully used pyFoam in the past to plot residuals during runs, but now that I have upgraded to OF2.4.x there seems to be a compatibility issue. PyFoam just hangs at the first timestep. Running the case without pyFoam does not produce the error, so I don't think it has to do with my /system/ files, but I have attached them nonetheless. The command I am running is: Code:
decomposePar -force -cellDist mpiexec -np 4 renumberMesh -overwrite -parallel pyFoamPlotRunner.py mpiexec -np 4 simpleFoam -parallel Code:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.4.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.4.x-664271ec09a7 Exec : simpleFoam -parallel Date : Jun 30 2015 Time : 20:42:07 Host : "linux-8o2d.site" PID : 8243 Case : /home/chris/Dropbox/REDstack/spacerCFD/spacerCFD_2D/spacer2d-mapped nProcs : 4 Slaves : 3 ( "linux-8o2d.site.8244" "linux-8o2d.site.8245" "linux-8o2d.site.8246" ) Pstream initialized with: floatTransfer : 0 nProcsSimpleSum : 0 commsType : nonBlocking polling iterations : 0 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Allowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting incompressible transport model Newtonian Selecting RAS turbulence model laminar No finite volume options present SIMPLE: convergence criteria field p tolerance 1e-05 field U tolerance 1e-05 Starting time loop Time = 1 Traceback (most recent call last): File "/usr/bin/pyFoamPlotRunner.py", line 4, in <module> __import__('pkg_resources').run_script('PyFoam==0.6.4', 'pyFoamPlotRunner.py') File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 534, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 1438, in run_script execfile(script_filename, namespace, namespace) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/EGG-INFO/scripts/pyFoamPlotRunner.py", line 5, in <module> PlotRunner() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Applications/PlotRunner.py", line 59, in __init__ **kwargs) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Applications/PyFoamApplication.py", line 356, in __init__ result=self.run() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Applications/PlotRunner.py", line 142, in run run.start() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Execution/BasicRunner.py", line 363, in start self.lineHandle(line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Execution/GnuplotRunner.py", line 179, in lineHandle GnuplotCommon.lineHandle(self,line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Execution/AnalyzedCommon.py", line 84, in lineHandle self.analyzer.analyzeLine(line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/LogAnalysis/FoamLogAnalyzer.py", line 138, in analyzeLine self.analyzers[nm].doAnalysis(line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/LogAnalysis/TimeLineAnalyzer.py", line 43, in doAnalysis self.notifyNewTime(m) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/LogAnalysis/TimeLineAnalyzer.py", line 32, in notifyNewTime self.notify(float(m.group(2))) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/LogAnalysis/LogLineAnalyzer.py", line 65, in notify f(*data) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/LogAnalysis/FoamLogAnalyzer.py", line 84, in setTime listener.timeChanged() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Execution/StepAnalyzedCommon.py", line 39, in timeChanged self.picklePlots() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.4-py2.7.egg/PyFoam/Execution/AnalyzedCommon.py", line 334, in picklePlots move(pickleFile+".tmp",pickleFile) File "/usr/lib64/python2.7/shutil.py", line 303, in move os.unlink(src) OSError: [Errno 26] Text file busy: './Gnuplotting.analyzed/pickledPlots.tmp' |
|
July 6, 2015, 05:57 |
|
#2 |
New Member
Chris Coutinho
Join Date: Jan 2015
Location: Netherlands
Posts: 28
Rep Power: 11 |
Howdy Foamers,
I have not been able to solve my problem yet, but I did some further reading and came to two possible sources of error. -- First off, it looks like I had not installed PyFoam since I switch from python 2 to python 3. Oops. -- Second, I was not correctly operating PyFoam in parallel correctly. I should have actually used the command Code:
pyFoamPlotRunner.py --procnr=4 simpleFoam |
|
October 19, 2016, 08:22 |
|
#3 |
Member
Join Date: Mar 2014
Posts: 39
Rep Power: 12 |
Hey foamers,
I just finished the installation of PyFoam and unfortunately have equivalent problems when running the PyFoamRunner. I am doing a single core simulation of OF´s damBreak tutorial. OF writes the first two time directories and stucks shortly after this. My PyFoamRunner.py output following: Code:
Starting time loop Courant Number mean: 0 max: 0 Interface Courant Number mean: 0 max: 0 deltaT = 0.00119048 Time = 0.00119048 Traceback (most recent call last): File "/usr/bin/pyFoamRunner.py", line 5, in <module> pkg_resources.run_script('PyFoam==0.6.6', 'pyFoamRunner.py') File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 492, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 1350, in run_script execfile(script_filename, namespace, namespace) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/EGG-INFO/scripts/pyFoamRunner.py", line 5, in <module> Runner() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Applications/Runner.py", line 66, in __init__ **kwargs) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Applications/PyFoamApplication.py", line 426, in __init__ result=self.run() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Applications/Runner.py", line 154, in run run.start() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Execution/BasicRunner.py", line 363, in start self.lineHandle(line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Execution/AnalyzedRunner.py", line 49, in lineHandle StepAnalyzedCommon.lineHandle(self,line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Execution/AnalyzedCommon.py", line 156, in lineHandle self.analyzer.analyzeLine(line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/LogAnalysis/FoamLogAnalyzer.py", line 139, in analyzeLine self.analyzers[nm].doAnalysis(line) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/LogAnalysis/TimeLineAnalyzer.py", line 43, in doAnalysis self.notifyNewTime(m) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/LogAnalysis/TimeLineAnalyzer.py", line 32, in notifyNewTime self.notify(float(m.group(2))) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/LogAnalysis/LogLineAnalyzer.py", line 65, in notify f(*data) File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/LogAnalysis/FoamLogAnalyzer.py", line 85, in setTime listener.timeChanged() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Execution/StepAnalyzedCommon.py", line 45, in timeChanged self.picklePlots() File "/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/Execution/AnalyzedCommon.py", line 468, in picklePlots move(pickleFile+".tmp",pickleFile) File "/usr/lib64/python2.7/shutil.py", line 302, in move os.unlink(src) OSError: [Errno 26] Text file busy: './PyFoamRunner.interFoam.analyzed/pickledPlots.tmp' Code:
Machine info: Linux | localhost.localdomain | 3.19.8-100.fc20.x86_64 | #1 SMP Tue May 12 17:08:50 UTC 2015 | x86_64 | x86_64 Python version: 2.7.5 (default, Apr 10 2015, 08:09:05) [GCC 4.8.3 20140911 (Red Hat 4.8.3-7)] Python executable: /bin/python Python 2.7 is one development platform for PyFoam (along with Python 3) PYTHONPATH: /usr/lib/python2.7/site-packages:/usr/lib64/python2.7/site-packages/openmpi:/usr/lib/python2.7/site-packages: Location of this utility: /usr/bin/pyFoamVersion.py PyFoam WARNING on line 201 of file /usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/FoamInformation.py : Basedir /home/foamy/foam for fork extend does not exist or is not a directory PyFoam WARNING on line 201 of file /usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam/FoamInformation.py : Basedir /home/foamy/OpenFOAM for fork openfoamplus does not exist or is not a directory Version 3.0.x (reported as number 3.0 )Fork openfoam of the installed 1 versions: openfoam-3.0.x : /opt/OpenFOAM/OpenFOAM-3.0.x pyFoam-Version: 0.6.6 Path where PyFoam was found (PyFoam.__path__) is ['/usr/lib/python2.7/site-packages/PyFoam-0.6.6-py2.7.egg/PyFoam'] Configuration search path: [('file', '/etc/pyFoam/pyfoamrc'), ('directory', '/etc/pyFoam/pyfoamrc.d'), ('file', '/home/foamy/.pyFoam/pyfoamrc'), ('directory', '/home/foamy/.pyFoam/pyfoamrc.d')] Configuration files (used): [] Installed libraries: cython : No Not used. Maybe will by used later to spped up parts of PyFoam cProfile : Yes docutils : No Not necessary. Needed for RestructuredText to HTML conversion Gnuplot : No Not a problem. Version from ThirdParty is used hotshot : Yes line_profiler : No Not a problem. Can't profile using this library ipdb : No Not necessary. Only makes debugging more comfortable IPython : No Not necessary. But the interactive shell may be more comfortable matplotlib : No Only Gnuplot-plotting possible mercurial : No Not a problem. Used for experimental case handling pytest : No Only needed for running the unit-tests (developers only) numpy : Yes version: 1.11.2 openpyxl : No Not a problem. Only used for exporting pandas-data to Excel-files (advanced). If xlsxwriter is installed it will handle this (xlsxwriter is recommended anyway) xlsxwriter : No Not a problem. Only used for exporting pandas-data to XLSX-files (advanced). If openpyxl is installed then this module can handle that pandas : No Not a problem. Only used for handling of advanced data-handling ply : No Not a problem. Version from ThirdParty is used profile : Yes psyco : No Not a problem. Acceleration not possible PyQt4 : Yes version: 4.8.5 PyQt4.Qwt5 : No Only an alternate plotting back-end scipy : No Not yet used. Possibly use signal-fitting etc Tkinter : No Not a problem. Used for the old version of DisplayBlockmesh and some matplotlib-implementations twisted : No Not yet used. Possibly reimplement MetaServer with it vtk : No Not a problem. Only used for some utilities xlwt : No Not a problem. Only used for exporting pandas-data to Excel-files xlrd : No Not a problem. Only used for importing Excel-files to pandas-data requests : No Not a problem. Currently only needed for the blink(1)-support Library locations cProfile : /usr/lib64/python2.7/cProfile.pyc hotshot : /usr/lib64/python2.7/hotshot/__init__.pyc numpy : /usr/lib64/python2.7/site-packages/numpy/__init__.pyc profile : /usr/lib64/python2.7/profile.pyc PyQt4 : /usr/lib64/python2.7/site-packages/PyQt4/__init__.pyc Checking additional envirnoment variables Checking for PYFOAM_DIR : Location of the PyFoam-installation. Not strictly necessary PYFOAM_DIR missing from environment Checking for PYFOAM_SITE_DIR : Location of non-PyFoam-disctributions script. Set and used by some Foam-distributions PYFOAM_SITE_DIR missing from environment |
|
October 20, 2016, 07:44 |
|
#4 | |
Assistant Moderator
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51 |
Quote:
__________________
Note: I don't use "Friend"-feature on this forum out of principle. Ah. And by the way: I'm not on Facebook either. So don't be offended if I don't accept your invitation/friend request |
||
October 21, 2016, 06:06 |
|
#5 |
Member
Join Date: Mar 2014
Posts: 39
Rep Power: 12 |
Hello Mr. Gschaider,
thank you for your hint. I executed the lsof command as you suggested. The output shows that the file is in use during runtime (by my own user to be precise). I use OpenFOAM in a virtual machine which contains some shared folders to make the simulation and result files available on other machines during runtime. I assume that these shared folders are monitored the whole time to provide a rapid availability on all systems which seems to be the main problem. When I move the case directory to a local folder (not shared) and start the simulation there are no more errors and the pyFoamRunner works properly ! I´am looking forward to explore your tools. |
|
Tags |
pyfoam |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Custom Thermophysical Properties | wsmith02 | OpenFOAM | 4 | June 1, 2023 15:30 |
[swak4Foam] funkyDoCalc with OF2.3 massflow | NiFl | OpenFOAM Community Contributions | 14 | November 25, 2020 04:30 |
polynomial BC | srv537 | OpenFOAM Pre-Processing | 4 | December 3, 2016 10:07 |
[swak4Foam] Problem installing swak_2.x for OpenFoam-2.4.0 | towanda | OpenFOAM Community Contributions | 6 | September 5, 2015 22:03 |
[Other] Adding solvers from DensityBasedTurbo to foam-extend 3.0 | Seroga | OpenFOAM Community Contributions | 9 | June 12, 2015 18:18 |