|
[Sponsors] |
Problems with reconstructParMesh and reconstructPar in 15 |
![]() |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
![]() |
![]() |
#1 |
Member
Edin Berberovic
Join Date: Mar 2009
Posts: 31
Rep Power: 17 ![]() |
Dear all,
I have a problem in reconstructing a decomposed case of interDyMFoam solver. I calculated the tutorial case damBreakWithObstacle using 4 processors on a 64-bit machine. When doing reconstructParMesh, the mesh seems to be reconstructed, but I always get the following warning, e.g. for reconstructParMesh -time 0.02: --> FOAM Warning : From function boundBox::boundBox(const pointField& points) in file meshes/boundBox/boundBox.C at line 52 Cannot find bounding box for zero sized pointField, returning zero Since the mesh seems to be reconstructed, I wonder what this warning is about? The real problem starts afterwards. When I issue e.g. reconstructPar -time 0.02, I get the following: Create time Create mesh for time = 0.02 Time = 0.02 #0 Foam::error::printStack(Foam: ![]() #1 Foam::sigSegv::sigSegvHandler(int) in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/lib/linux64GccDPOpt/libOpenFOAM.so" #2 ?? in "/lib64/libc.so.6" #3 Foam::objectRegistry::checkOut(Foam::regIOobject&) const in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/lib/linux64GccDPOpt/libOpenFOAM.so" #4 Foam::regIOobject::checkOut() in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/lib/linux64GccDPOpt/libOpenFOAM.so" #5 Foam::regIOobject::~regIOobject() in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/lib/linux64GccDPOpt/libOpenFOAM.so" #6 Foam::IOList<int>::~IOList() in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/applications/bin/linux64GccDPOpt/rec onstructPar" #7 Foam::processorMeshes::read() in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/applications/bin/linux64GccDPOpt/rec onstructPar" #8 Foam::processorMeshes::readUpdate() in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/applications/bin/linux64GccDPOpt/rec onstructPar" #9 main in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/applications/bin/linux64GccDPOpt/rec onstructPar" #10 __libc_start_main in "/lib64/libc.so.6" #11 Foam::regIOobject::readIfModified() in "/home/eberberovic/OpenFOAM/OpenFOAM-1.5_64/applications/bin/linux64GccDPOpt/rec onstructPar" ./reconstruct: line 4: 19180 Segmentation fault reconstructPar -time 0.02 So I am not able to do the reconstruction of the case. I am asking for help as a not really experienced user. Does anyone know why this happens? Thanks a lot in advance. |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Member
florian
Join Date: Mar 2009
Location: Mannheim - Vincennes - Valenciennes, Deutchland - France
Posts: 34
Rep Power: 17 ![]() |
Hi
I use a lot reconstructParMesh, but I've never seen this error. I know that there is a option call 'nozero' and which is not documented. Usage: reconstructParMesh [-noZero] [-region region name] [-fullMatch] [-mergeTol relative merge distance] [-case dir] [-constant] [-latestTime] [-time time] [-help] [-doc] [-srcDoc] I have no idea of the usage of this option, but try it. There is may be a relation with your error message which talk about 'bounding box for zero' Florian |
|
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 ![]() |
The zero 'bounding box' comes from the algorithm which starts with an empty mesh and adds all the other ones into it. 'noZero' is just a time option.
Do you see the problem in 1.5.x? If so could you put a bug report + testcase on OpenFOAM-bugs? |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Edin Berberovic
Join Date: Mar 2009
Posts: 31
Rep Power: 17 ![]() |
Mattijs,
thanks a lot for the response. Unfortunately at the moment I am still not able to update patches from 1.5.x. using git. When there are some changes, I copy them into my 1.5 version and compile manually. I hope that I will be provided with this possibility soon. But I have found out something else, which might be a clue for you where this "bug" might reside. When I perform the reconstruction from outside the case directory, then I do not get any error messages while reconstructing the fields. For example reconstructParMesh – case damBreakWithObstacle -time xxx and afterwards reconstructParMesh – case damBreakWithObstacle -time xxx works fine. I use a small script with these lines for every time step and everything seems to work, only the warning from reconstructing the mesh still persists. But as I understood this is ok? Reconstruction from inside the case directory always gives me the problem with printStack... in certain (not all) time directories. Since I do not know if this is a bug, I am posting the case here (same as in the release, only the starting mesh is finer and the criterion for refining/unrefining is a bit different). If I find the same problem in 1.5.x, then I will report a bug. Best Regards. |
|
![]() |
![]() |
![]() |
![]() |
#5 |
Member
Edin Berberovic
Join Date: Mar 2009
Posts: 31
Rep Power: 17 ![]() |
||
![]() |
![]() |
![]() |
![]() |
#6 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 ![]() |
I have a similar problem running an application derived from dieselEngineFoam and using engineTopoChanger.
When using reconstructParMesh, I have the following error: Create time This is an experimental tool which tries to merge individual processor meshes back into one master mesh. Use it if the original master mesh has been deleted or if the processor meshes have been modified (topology change). This tool will write the resulting mesh to a new time step and construct xxxxProcAddressing files in the processor meshes so reconstructPar can be used to regenerate the fields on the master mesh. Not well tested & use at your own risk! Merge tolerance : 1e-07 Write tolerance : 1e-08 Doing geometric matching on correct procBoundaries only. This assumes a correct decomposition. Found 2 processor directories Reading database "Hessel/processor0" Reading database "Hessel/processor1" Setting master time to -175 Reading points from "Hessel/processor0" for time = -175 Reading points from "Hessel/processor1" for time = -175 Overall mesh bounding box : (0 -0.01 0.00011442647) (0.1 0.01 0.1) Relative tolerance : 1e-07 Absolute matching distance : 1.4274848e-08 Constructing empty mesh to add to. --> FOAM Warning : From function boundBox::boundBox(const pointField& points) in file meshes/boundBox/boundBox.C at line 52 Cannot find bounding box for zero sized pointField, returning zero Reading mesh to add from "Hessel/processor0" for time = -175 Adding to master mesh Segmentation fault I am not sure where this comes from. My case is axisymmetric does that have any influence? Thank you for your help. Francesco |
|
![]() |
![]() |
![]() |
![]() |
#7 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 ![]() |
Does the use of engineTopoChanger have an impact on reconstructParMesh?
Francesco. |
|
![]() |
![]() |
![]() |
![]() |
#8 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 ![]() |
If the reconstructParMesh doesn't work, is it possible to force writing the ***ProcAdressing during solving time?
Where can I find the files responsible for that part? Thank you for your help. Francesco. |
|
![]() |
![]() |
![]() |
![]() |
#9 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 ![]() |
Here is the case directory where the application is not working:
HesselProb.tar.gz And the quite simple application derived from dieselEngineFoam and named dieselEngineFoamLayer: dieselEngineFoamLayer.tar.gz I hope that anybody will be able to help me. Francesco. Last edited by francesco; May 4, 2009 at 04:14. |
|
![]() |
![]() |
![]() |
![]() |
#10 |
New Member
Francesco Contino
Join Date: Mar 2009
Posts: 26
Rep Power: 17 ![]() |
As I have the same problem with engineFoam, I've analyzed the mesh instead.
It seems that the use of a axisymetric mesh does not work. I will post a message in the bug section. Last edited by francesco; May 4, 2009 at 06:03. |
|
![]() |
![]() |
![]() |
![]() |
#11 |
Member
Wolfgang W.
Join Date: Nov 2009
Location: Switzerland
Posts: 57
Rep Power: 16 ![]() |
Hello everyone,
I don't know if this thread is still active but I'm posting here because my problem resembles exactly the one Edin is reporting - just in OF-1.6. I've been running the dambreakWithObstacle case on 6 processors in parallel to test the performance - everything fine so far. But the reconstruction of the result proved to be troublesome. I can run "reconstructParMesh -mergeTol 1e-06 -time xxx" for every timestep from the case directory or from outside (like Edin explained). But I can not - neither from within the case directory nor from outside - run the reconstructPar utility for a time different than 0. I'm always ending up with the following error: [cluster damBreakWithObstacleSave]$ reconstructPar /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 1.6-f802ff2d6c5a Exec : reconstructPar Date : Mar 08 2010 Time : 18:26:29 Host : brutus2.ethz.ch PID : 4879 Case : /cluster/home/mavt/wwiedema/OpenFOAM/wolfgang-1.6/tutorials/damBreakWithObstacleSave nProcs : 1 SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0.041 Time = 0.001 Reconstructing FV fields Reconstructing volScalarFields alpha1 p alpha1.org Reconstructing volVectorFields U No point fields No lagrangian fields Time = 0.021 #0 Foam::error: ![]() #1 Foam::sigSegv::sigSegvHandler(int) in "/cluster/home/mavt/wwiedema/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so" #2 __restore_rt at sigaction.c:0 #3 Foam: ![]() #4 Foam::regIOobject::~regIOobject() in "/cluster/home/mavt/wwiedema/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so" #5 Foam::IOList<int>::~IOList() in "/cluster/home/mavt/wwiedema/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/reconstructPar" #6 Foam: ![]() #7 Foam: ![]() #8 main in "/cluster/home/mavt/wwiedema/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/reconstructPar" #9 __libc_start_main in "/lib64/libc.so.6" #10 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116 Segmentation fault The odd thing is that there is always a folder 0.001 beeing created which does not contain a polyMesh directory before he screws up. Does anybody have an idea what is going wrong here - or more likely what I'm doing wrong? I would appreciate any advice or hint on this issue. Cheers, Wolfgang |
|
![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
Sebastian Gatzka
Join Date: Mar 2009
Location: Frankfurt, Germany
Posts: 729
Rep Power: 20 ![]() |
Hi Wolfgang.
Did you use a dynamic mesh?
__________________
Schrödingers wife: "What did you do to the cat? It's half dead!" |
|
![]() |
![]() |
![]() |
![]() |
#13 |
Member
Wolfgang W.
Join Date: Nov 2009
Location: Switzerland
Posts: 57
Rep Power: 16 ![]() |
Hi Sebastian,
Yes, I used the damBreakWithObstacle tutorial case included in OF-1.6 which employs 'dynamicFvMesh dynamicRefineFvMesh'. Everything works fine with the case - so decomposition into subdomains and parallel solving. Just when attempting to reconstruct the solution from the information in the subdomains things become tricky. Best regards, Wolfgang |
|
![]() |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Sebastian Gatzka
Join Date: Mar 2009
Location: Frankfurt, Germany
Posts: 729
Rep Power: 20 ![]() |
Quote:
I have a small script for that. Code:
#!/bin/bash timeList=$(ls processor0/ | awk '$1!="constant"'); for line in $timeList do echo "Recontructing mesh for t = "$line" s"; reconstructParMesh -time $line > logTmp; echo "Reconstructing fields for t = "$line" s"; reconstructPar -time $line > logTmp; echo ""; done rm logTmp;
__________________
Schrödingers wife: "What did you do to the cat? It's half dead!" |
||
![]() |
![]() |
![]() |
![]() |
#15 |
Member
Wolfgang W.
Join Date: Nov 2009
Location: Switzerland
Posts: 57
Rep Power: 16 ![]() |
Hi Sega,
That was the clue - thank's a lot! I didn't think of running it time step by time step in an alternating fashion. Your script works also great :-) Cheers, Wolfgang |
|
![]() |
![]() |
![]() |
![]() |
#16 |
Senior Member
Robert Castilla
Join Date: Apr 2009
Location: Spain
Posts: 109
Rep Power: 17 ![]() |
Sebastian,
that was exactly wath I was looking for! Thanks a lot. Robert |
|
![]() |
![]() |
![]() |
![]() |
#17 | |
Member
Hrushikesh Khadamkar
Join Date: Jul 2010
Location: Mumbai
Posts: 68
Rep Power: 16 ![]() |
Quote:
I ran the above script. It reconstructs the mesh but while reconstructing the fields it gives error. I am posting the output result of the script. Recontructing mesh for t = 0 s --> FOAM FATAL ERROR: Your time was specified as 0 but there is no polyMesh/points in that time. (there is a points file in "constant") Please rerun with the correct time specified (through the -constant, -time or -latestTime (at your option). From function reconstructParMesh in file reconstructParMesh.C at line 449. FOAM exiting Reconstructing fields for t = 0 s --> FOAM FATAL ERROR: No times selected From function reconstructPar in file reconstructPar.C at line 139. FOAM exiting Recontructing mesh for t = 0.005 s Reconstructing fields for t = 0.005 s #0 Foam::error:rintStack(Foam::Ostream&) in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/lib/libOpenFOAM.so" #1 Foam::sigSegv::sigHandler(int) in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/lib/libOpenFOAM.so" #2 ?? in "/lib64/libc.so.6" #3 Foam:bjectRegistry::checkOut(Foam::regIOobject&) const in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/lib/libOpenFOAM.so" #4 Foam::regIOobject::~regIOobject() in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/lib/libOpenFOAM.so" #5 Foam::IOList<int>::~IOList() in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/lib/libfiniteVolume.so" #6 Foam:rocessorMeshes::read() in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/lib/libreconstruct.so" #7 Foam:rocessorMeshes::readUpdate() in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/lib/libreconstruct.so" #8 main in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/bin/reconstructPar" #9 __libc_start_main in "/lib64/libc.so.6" #10 _start in "/Storage1/cfd/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64Gcc45DPOpt/bin/reconstructPar" ./recd: line 4: 5337 Segmentation fault (core dumped) reconstructPar -time $line >logTmp Recontructing mesh for t = 0.01 s After running the script, I have polyMesh directory in all time dumps in my case directory. But there are no fields. What can be the reason for this? Hrushikesh |
||
![]() |
![]() |
![]() |
![]() |
#18 |
Member
Join Date: Aug 2011
Posts: 89
Rep Power: 15 ![]() |
Hello,
I´ve got the same problem I used interDyMFoam and 104 CPUs but unfortunately reconstructPar didn´t work. After I realised that it doesn´t work I tried that way: reconstructParMesh -constant --> worked well reconstructPar -constant --> didn´t work. Here´s the mistake I got: Create time Create mesh for time = 1.4e-05 Time = constant #0 Foam::error::PrintStack(Foam::Ostream&) in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigSegv::sigHandler(int) in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 in "/lib64/libc.so.6" #3 Foam:: objectRegistry::checkOut(Foam::regIOobject&) const in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #4 Foam::regIOobject::~regIOobject() in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #5 Foam::IOList<int>::~IOList() in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #6 Foam:: processorMeshes::read() in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libreconstruct.so" #7 Foam:: processorMeshes::readUpdate() in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libreconstruct.so" #8 in "/home/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/reconstructPar" #9 __libc_start_main in "/lib64/libc.so.6" #10 at /usr/src/packages/BUILD/glibc-2.11.2/csu/../sysdeps/x86_64/elf/start.S:116 Speicherzugriffsfehler Has anyone an idea what´s wrong? Thanks a lot |
|
![]() |
![]() |
![]() |
![]() |
#19 |
New Member
Suro Kim
Join Date: Jul 2012
Posts: 4
Rep Power: 14 ![]() |
I tried your script, and still have the problem..
I don't know what is wrong, but few people have same problem like me. I am running 2.1.1 Any suggestions? Create time Create mesh for time = 0 Time = 0.02 #0 Foam::error: ![]() #1 Foam::sigSegv::sigHandler(int) in "/usr/local/OpenFOAM-2.1.1/OpenFOAM-2.1.1/platforms/linux64Gcc44DPOpt/lib/libOpenFOAM.so" #2 __restore_rt at sigaction.c:0 #3 Foam: ![]() #4 Foam::regIOobject::~regIOobject() in "/usr/local/OpenFOAM-2.1.1/OpenFOAM-2.1.1/platforms/linux64Gcc44DPOpt/lib/libOpenFOAM.so" #5 Foam::IOList<int>::~IOList() in "/usr/local/OpenFOAM-2.1.1/OpenFOAM-2.1.1/platforms/linux64Gcc44DPOpt/lib/libfiniteVolume.so" #6 Foam: ![]() #7 Foam: ![]() #8 main in "/usr/local/OpenFOAM-2.1.1/OpenFOAM-2.1.1/platforms/linux64Gcc44DPOpt/bin/reconstructPar" #9 __libc_start_main in "/lib64/libc.so.6" #10 Foam::regIOobject::writeObject(Foam::IOstream::str eamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/usr/local/OpenFOAM-2.1.1/OpenFOAM-2.1.1/platforms/linux64Gcc44DPOpt/bin/reconstructPar" |
|
![]() |
![]() |
![]() |
![]() |
#20 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,978
Blog Entries: 45
Rep Power: 128 ![]() ![]() ![]() ![]() ![]() ![]() |
Greetings Suro Kim and welcome to the forum.
What does this command output: Code:
reconstructParMesh -time 0.02 Code:
--> FOAM FATAL ERROR: Your current settings specify ASCII writing with 6 digits precision. Your merging tolerance (1e-07) is finer than this. Please change your writeFormat to binary or increase the writePrecision or adjust the merge tolerance (-mergeTol). From function reconstructParMesh in file reconstructParMesh.C at line 341. FOAM exiting Code:
writeFormat ascii; Code:
writeFormat binary; Code:
reconstructParMesh -time 0.02 Best regards, Bruno
__________________
|
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Bug in reconstructPar | david | OpenFOAM Bugs | 10 | May 26, 2009 12:11 |
ReconstructPar | kupiainen | OpenFOAM Post-Processing | 12 | April 21, 2009 01:47 |
[mesh manipulation] Error with reconstructPar | skabilan | OpenFOAM Meshing & Mesh Conversion | 3 | June 10, 2008 18:34 |
ReconstructPar | maka | OpenFOAM Bugs | 6 | August 22, 2007 04:23 |
Problem with reconstructPar | fabianpk | OpenFOAM | 5 | August 14, 2007 09:17 |