|
[Sponsors] |
Reconstruction after parallel run with dynamic mesh refinement |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
August 25, 2009, 09:33 |
Reconstruction after parallel run with dynamic mesh refinement
|
#1 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Hi everybody,
I got a problem with reconstructing my fields after running "interDyMFoam" with "dynamicRefineFvMesh" in parallel. A first thing to say is that I am sure the simulation completed successfully, because I can postprocess the results for each processor alone. The reconstruction of the mesh using "reconstructParMesh" still works fine, although I think I did not use the easiest way, as I have to use "reconstructParMesh -time x.xx" for every single timestep. My problem occurs when doing "reconstructPar" to reconstruct the fields. When I am trying it from inside a case directory, the function aborts already during the first timestep. I found a tip in another thread that it might help to use it like "reconstructPar -case xxxxx" from outside the case directory. I was kind of surprised that it almost worked this way. But still, after about the half of the timesteps, the function aborts, always showing the same error: /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.5.x | | \\ / A nd | Web: http://www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Exec : reconstructPar -time 0.56 Date : Aug 25 2009 Time : 16:09:30 Host : ttdws69 PID : 25049 Case : /home/lang/OpenFOAM/lang-1.5.x/run/SebLangBachelorArbeit/03-DuharColin-3DStroemung-Vorarbeiten/06-AdaptiveGitterverfeinerung/03-BrokenDamMit2 nProcs : 1 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0.8 Time = 0.56 #0 Foam::error:rintStack(Foam::Ostream&) in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/lib/linuxGccDPOpt/libOpenFOAM.so" #1 Foam::sigSegv::sigSegvHandler(int) in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/lib/linuxGccDPOpt/libOpenFOAM.so" #2 Uninterpreted: #3 Foam:bjectRegistry::checkOut(Foam::regIOobject&) const in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/lib/linuxGccDPOpt/libOpenFOAM.so" #4 Foam::regIOobject::checkOut() in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/lib/linuxGccDPOpt/libOpenFOAM.so" #5 Foam::regIOobject::~regIOobject() in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/lib/linuxGccDPOpt/libOpenFOAM.so" #6 Foam::IOList<int>::~IOList() in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/applications/bin/linuxGccDPOpt/reconstructPar" #7 Foam:rocessorMeshes::read() in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/applications/bin/linuxGccDPOpt/reconstructPar" #8 Foam:rocessorMeshes::readUpdate() in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/applications/bin/linuxGccDPOpt/reconstructPar" #9 main in "/home/lang/OpenFOAM/OpenFOAM-1.5.x/applications/bin/linuxGccDPOpt/reconstructPar" #10 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6" #11 __gxx_personality_v0 at ../sysdeps/i386/elf/start.S:122 Speicherzugriffsfehler I do not know why the last line is written in german, but I think it can be translated as memory access error (Do not know if its exactly called like this in english). Has anybody got an idea how to solve this problem? I also tried running the case on a single processor and this worked absolutely fine, but for those cases I want to use it a single processor will work for weeks, so that is no option. Thanks a lot for your help! Greetings Sebastian |
|
August 25, 2009, 11:19 |
|
#2 |
Senior Member
Sebastian Gatzka
Join Date: Mar 2009
Location: Frankfurt, Germany
Posts: 729
Rep Power: 20 |
Dear Sebastian.
I used a small bash-script for such cases: 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; Maybe you can try this, but if there is a problem with the single commands it will be of no help ...
__________________
Schrödingers wife: "What did you do to the cat? It's half dead!" |
|
August 26, 2009, 11:55 |
|
#3 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Danke Sebastian!
Ich schreibe übrigens die Nachfolgearbeit zu deiner Studienarbeit am TTD! Gruß Sebastian |
|
August 27, 2009, 04:14 |
Works fine!
|
#4 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Dear Sebastian,
Thanks for your help with this script. Seems to be working fine, although I do not think that I tried anything else than reconstructParMesh and reconstructPar before. Well, after using computers for more than eight years I got comfortable with solving problems without knowing how Thanks again, Greetings Sebastian |
|
August 27, 2009, 17:47 |
|
#5 |
Senior Member
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26 |
Did you checkMesh the mesh resulting from reconstructParMesh? It uses a geometric tolerance so might get things wrong for large refinement levels. If the problem persists in 1.6.x. can you report a bug+testcase in OpenFOAM-bugs?
|
|
August 29, 2009, 06:26 |
|
#6 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Hi mattijs,
no, I did not checkMesh the reconstructed Mesh, but I used a refinement level of only 1! This would mean there is a general problem, I think. But as I replied to Sebastian above, the Script that alternates reconstructParMesh and reconstructPar works fine. I only tried to reconstructParMesh for all time and after that reconstructPar for all time. Maybe this was the Problem, I will check that up on Monday. Bye, Sebastian |
|
August 31, 2009, 05:16 |
|
#7 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Hi,
I just tried to manually alternate reconstructParMesh and reconstructPar. It worked fine, without any problem. The reason for my problems must have been that I tried to do reconstructParMesh fol all time and after that reconstructPar for all time. As I can not check it up with 1.6.x, I will not report a bug+testcase. But it does not seem to be a general problem anyway, I think. Thanks for your help! Greets Sebastian |
|
June 8, 2010, 11:38 |
|
#8 |
Senior Member
stephane sanchi
Join Date: Mar 2009
Posts: 314
Rep Power: 18 |
Hi,
the script works fine with OpenFOAM-1.6.x. Manually it works (for example): reconstructParMesh -time 0.002 reconstructPar -time 0.002 Regards, Stephane. |
|
August 11, 2011, 04:56 |
|
#9 |
Member
liping_he
Join Date: Feb 2011
Posts: 36
Rep Power: 15 |
Hi sega
I am a newcomer. I have the same problem when I do reconstruction. So I hope you can tell me how to use your code mentioned in the thread detailedly. Step by step is the best. Thank you very much. Good luck Liping He |
|
June 14, 2018, 08:38 |
|
#10 | |
Member
Join Date: Jan 2018
Location: Malaysia
Posts: 58
Rep Power: 8 |
Quote:
Code:
ang@atmosfera3:~/OpenFOAM/JH/PARALLEL_linear_smallBlock_U2_TS0.015_refined$ ./reconstruct Recontructing mesh for t = 0 s Reconstructing fields for t = 0 s Recontructing mesh for t = 0.01 s Reconstructing fields for t = 0.01 s Reconstructing mesh for t = 0.02 s --> FOAM FATAL ERROR: Did not match all of the master faces to the slave faces This usually means that the slave patch and master patch do not align to within 7.269285e-07 metre. From function void Foam::faceCoupleInfo::perfectPointMatch(Foam::scalar, bool) in file polyMeshAdder/faceCoupleInfo.C at line 1503. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::faceCoupleInfo::perfectPointMatch(double, bool) at ??:? #3 Foam::faceCoupleInfo::faceCoupleInfo(Foam::polyMesh const&, Foam::List<int> const&, Foam::polyMesh const&, Foam::List<int> const&, double, bool, bool, bool) at ??:? #4 ? at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #7 ? at ??:? ./reconstruct: line 4: 420 Aborted (core dumped) reconstructParMesh -time $line > logTmp Reconstructing fields for t = 0.02 s --> FOAM FATAL ERROR: cannot find file "/home/ang/OpenFOAM/JH/PARALLEL_linear_smallBlock_U2_TS0.015_refined/processor0/0.02/polyMesh/pointProcAddressing" From function virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 505. FOAM exiting Recontructing mesh for t = 0.03 s --> FOAM FATAL ERROR: Did not match all of the master faces to the slave faces This usually means that the slave patch and master patch do not align to within 7.269285e-07 metre. From function void Foam::faceCoupleInfo::perfectPointMatch(Foam::scalar, bool) in file polyMeshAdder/faceCoupleInfo.C at line 1503. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::faceCoupleInfo::perfectPointMatch(double, bool) at ??:? #3 Foam::faceCoupleInfo::faceCoupleInfo(Foam::polyMesh const&, Foam::List<int> const&, Foam::polyMesh const&, Foam::List<int> const&, double, bool, bool, bool) at ??:? #4 ? at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #7 ? at ??:? ./reconstruct: line 4: 447 Aborted (core dumped) reconstructParMesh -time $line > logTmp Reconstructing fields for t = 0.03 s --> FOAM FATAL ERROR: cannot find file "/home/ang/OpenFOAM/JH/PARALLEL_linear_smallBlock_U2_TS0.015_refined/processor0/0.03/polyMesh/pointProcAddressing" From function virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 505. FOAM exiting Recontructing mesh for t = 0.04 s --> FOAM FATAL ERROR: Did not match all of the master faces to the slave faces This usually means that the slave patch and master patch do not align to within 7.269285e-07 metre. From function void Foam::faceCoupleInfo::perfectPointMatch(Foam::scalar, bool) in file polyMeshAdder/faceCoupleInfo.C at line 1503. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::faceCoupleInfo::perfectPointMatch(double, bool) at ??:? #3 Foam::faceCoupleInfo::faceCoupleInfo(Foam::polyMesh const&, Foam::List<int> const&, Foam::polyMesh const&, Foam::List<int> const&, double, bool, bool, bool) at ??:? #4 ? at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #7 ? at ??:? ./reconstruct: line 4: 474 Aborted (core dumped) reconstructParMesh -time $line > logTmp Reconstructing fields for t = 0.04 s --> FOAM FATAL ERROR: cannot find file "/home/ang/OpenFOAM/JH/PARALLEL_linear_smallBlock_U2_TS0.015_refined/processor0/0.04/polyMesh/pointProcAddressing" From function virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 505. FOAM exiting Error of reconstruct script Recontructing mesh for t = 0.05 s --> FOAM FATAL ERROR: Did not match all of the master faces to the slave faces This usually means that the slave patch and master patch do not align to within 7.269285e-07 metre. From function void Foam::faceCoupleInfo::perfectPointMatch(Foam::scalar, bool) in file polyMeshAdder/faceCoupleInfo.C at line 1503. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::faceCoupleInfo::perfectPointMatch(double, bool) at ??:? #3 Foam::faceCoupleInfo::faceCoupleInfo(Foam::polyMesh const&, Foam::List<int> const&, Foam::polyMesh const&, Foam::List<int> const&, double, bool, bool, bool) at ??:? #4 ? at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #7 ? at ??:? ./reconstruct: line 4: 503 Aborted (core dumped) reconstructParMesh -time $line > logTmp Reconstructing fields for t = 0.05 s --> FOAM FATAL ERROR: cannot find file "/home/ang/OpenFOAM/JH/PARALLEL_linear_smallBlock_U2_TS0.015_refined/processor0/0.05/polyMesh/pointProcAddressing" From function virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 505. FOAM exiting |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Script to Run Parallel Jobs in Rocks Cluster | asaha | OpenFOAM Running, Solving & CFD | 12 | July 4, 2012 23:51 |
dynamic mesh interDyMFoam parallel run and processor boundaries | lukasfischer | OpenFOAM Running, Solving & CFD | 0 | August 12, 2009 07:36 |
Icemcfd 11: Loss of mesh from surface mesh option? | Joe | CFX | 2 | March 26, 2007 19:10 |
dynamic mesh and sliding mesh | nasser | FLUENT | 0 | November 1, 2005 03:37 |
mesh refinement on top of existent mesh? | jx | FLUENT | 10 | January 11, 2004 05:32 |