CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM

Reconstruction after parallel run with dynamic mesh refinement

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 4 Post By sega

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 25, 2009, 08:33
Default Reconstruction after parallel run with dynamic mesh refinement
  #1
Member
 
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 16
sebonator is on a distinguished road
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
sebonator is offline   Reply With Quote

Old   August 25, 2009, 10:19
Default
  #2
Senior Member
 
sega's Avatar
 
Sebastian Gatzka
Join Date: Mar 2009
Location: Frankfurt, Germany
Posts: 729
Rep Power: 20
sega is on a distinguished road
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;
Basically it's doing reconstructParMesh and reconstructPar alternating.
Maybe you can try this, but if there is a problem with the single commands it will be of no help ...
nimasam, Ivooo, amolrajan and 1 others like this.
__________________
Schrödingers wife: "What did you do to the cat? It's half dead!"
sega is offline   Reply With Quote

Old   August 26, 2009, 10:55
Default
  #3
Member
 
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 16
sebonator is on a distinguished road
Danke Sebastian!

Ich schreibe übrigens die Nachfolgearbeit zu deiner Studienarbeit am TTD!

Gruß Sebastian
sebonator is offline   Reply With Quote

Old   August 27, 2009, 03:14
Default Works fine!
  #4
Member
 
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 16
sebonator is on a distinguished road
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
sebonator is offline   Reply With Quote

Old   August 27, 2009, 16:47
Default
  #5
Senior Member
 
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26
mattijs is on a distinguished road
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?
mattijs is offline   Reply With Quote

Old   August 29, 2009, 05:26
Default
  #6
Member
 
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 16
sebonator is on a distinguished road
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
sebonator is offline   Reply With Quote

Old   August 31, 2009, 04:16
Default
  #7
Member
 
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 16
sebonator is on a distinguished road
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
sebonator is offline   Reply With Quote

Old   June 8, 2010, 10:38
Default
  #8
Senior Member
 
stephane sanchi
Join Date: Mar 2009
Posts: 314
Rep Power: 18
openfoam_user is on a distinguished road
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.
openfoam_user is offline   Reply With Quote

Old   August 11, 2011, 03:56
Default
  #9
Member
 
liping_he
Join Date: Feb 2011
Posts: 36
Rep Power: 15
liping_he is on a distinguished road
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
liping_he is offline   Reply With Quote

Old   June 14, 2018, 07:38
Default
  #10
Member
 
Join Date: Jan 2018
Location: Malaysia
Posts: 58
Rep Power: 8
jiahui_93 is on a distinguished road
Quote:
Originally Posted by sega View Post
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;
Basically it's doing reconstructParMesh and reconstructPar alternating.
Maybe you can try this, but if there is a problem with the single commands it will be of no help ...
hi, I built my mesh using blockMesh and refineMesh, then solve my moving mesh using dynamic movingConeTopoFvMesh and command "pimpleDyMFoam -parallel". After that, I reconstruct my mesh by running the given script. But it outputs the following error. May I get some help here? Thanks for your time for looking through my case

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
jiahui_93 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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 22:51
dynamic mesh interDyMFoam parallel run and processor boundaries lukasfischer OpenFOAM Running, Solving & CFD 0 August 12, 2009 06:36
Icemcfd 11: Loss of mesh from surface mesh option? Joe CFX 2 March 26, 2007 18:10
dynamic mesh and sliding mesh nasser FLUENT 0 November 1, 2005 02:37
mesh refinement on top of existent mesh? jx FLUENT 10 January 11, 2004 04:32


All times are GMT -4. The time now is 02:18.