|
[Sponsors] |
[mesh manipulation] Some questions on blockMesh, decomposePar and renumberMesh |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
January 25, 2012, 10:09 |
Some questions on blockMesh, decomposePar and renumberMesh
|
#1 | |
Member
Pierre
Join Date: Sep 2010
Posts: 57
Rep Power: 16 |
Hi everyone,
actually I am working on a real big case. So i tried renumberMesh on the damBreak tutorial and it said that the bandwith was reduced and indeed the processing time was slightly lower. (for a fairly coarse mesh) So I am about to include renumberMesh in my big case. This case is decomposed for 4 processors. Question 1: Do i have to run renumberMesh before or after decomposePar? To see what i am doing: Quote:
So what do i have to do, to decompose my case and to renumber the mesh so that interDyMFoam uses it? Question3: renumberMesh and also subsetMesh offer an option -parallel in the help output. But when i try to run it with the -parallel flag there comes for boath an error: "FATAL ERROR: attempt to run parallel on 1 processor" ? What does that mean and what do i have to do to run these commands in parallel? Thanks a lot! Greetings Leech PS: i tried to run renumberMesh before decomposing. This seemed to work better, as decomposePar said writing mesh for time 0.01. But then interDyMFoam says: "number of points in mesh differs from ... blabla in /processor0/constant/polyMesh" ? Any idea ? |
||
January 25, 2012, 18:12 |
|
#2 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi Pierre,
OK, in a nutshell:
Best regards, Bruno
__________________
|
|
January 26, 2012, 03:29 |
|
#3 |
Member
Pierre
Join Date: Sep 2010
Posts: 57
Rep Power: 16 |
Hi Bruno,
thank you very much! I will try this out this evening. I didn't had the idea to run renumberMesh with foamJob.. How do you know this stuff? I googled a lot and got problems to find something about these more special tools from openFOAM. When i write renumberMesh -doc the help says that there i can find a documentation. But i just get something like "blalba no documentation online".. Thank you! Greets Leech |
|
January 28, 2012, 03:22 |
|
#4 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi Leech,
I found this out when I was trying to improve performance with running a case in parallel in a single machine. I went looking on these folders:
edit: running renumberMesh in parallel mode felt natural, since I wanted to affect the decomposed mesh, not the base mesh. Additionally, the "-doc" option only works if you compile the Doxygen source code as well: Building Code Documentation on OpenFOAM 2.0.0/x As for foamJob, I've been using it for so long now that I can't remember how I found out about it. Either way, I've been dealing and messing with the OpenFOAM source code for quite some time now, including being responsible for one of the various unofficial ports for Windows, namely blueCFD:
In conclusion: by keeping up-to-date with what is written here on the forum (and help in what I can), monitoring the bug tracker, going through the code and tinkering with things, I've continued to gather information and try to compile it into my blog and/or openfoamwiki.net! Best regards, Bruno
__________________
Last edited by wyldckat; January 28, 2012 at 03:25. Reason: see "edit:" |
|
March 8, 2012, 10:17 |
single and parallel run
|
#5 |
Member
Aqua
Join Date: Oct 2011
Posts: 96
Rep Power: 15 |
Dear Bruno,
I am facing another problem.... and thank you in advance! I have a case, it's two cubes in two blocks respectively, one block will rotate with the inside cube, to simulate two cubes(cars) passing by each other. I run the case in a single processor, icoDyMFoam, it works fine for me: please find the animation in the link : http://www.youtube.com/watch?v=G0tIz...M5Gu5PwqPzpj8= when I tried to run in parallel, decomposePar is fine. Then run the solver, it gave the error like this : Code:
Create time Create dynamic mesh for time = 0 Selecting dynamicFvMesh turboFvMesh Initializing the GGI interpolator between master/shadow patches: iminy/imaxy Initializing the GGI interpolator between master/shadow patches: ominy/omaxy Turbomachine Mixer mesh: origin: (0 0 0) axis : (0 0 1) Reading transportProperties Reading field p Reading field U Reading/calculating face flux field phi Reading field rAU if present Starting time loop Volume: new = 50.3983 old = 50.3983 change = 0 ratio = 0 Courant Number mean: 0 max: 0 velocity magnitude: 0 deltaT = 0.000119048 Time = 0.000119048 Moving Cell Zone Name: cellRegion0 rpm: 5 Moving Face Zone Name: interfacei_faces rpm: 5 Moving Face Zone Name: imaxy_faces rpm: 5 Moving Face Zone Name: iminy_faces rpm: 5 volume continuity errors : volume = 50.3983, max error = 3.53317e-08, sum local = 2.04425e-14, global = 1.38975e-17 BiCGStab: Solving for Ux, Initial residual = 1, Final residual = 9.6183e-09, No Iterations 5 BiCGStab: Solving for Uy, Initial residual = 1, Final residual = 3.3054e-09, No Iterations 4 BiCGStab: Solving for Uz, Initial residual = 1, Final residual = 1.16427e-08, No Iterations 5 DICPCG: Solving for p, Initial residual = 1, Final residual = 24807.5, No Iterations 1000 time step continuity errors : sum local = 1.52389e-05, global = 1.30326e-06, cumulative = 1.30326e-06 DICPCG: Solving for p, Initial residual = 0.818325, Final residual = 68.676, No Iterations 1000 time step continuity errors : sum local = 0.00155194, global = 0.00053231, cumulative = 0.000533613 DICPCG: Solving for p, Initial residual = 0.906319, Final residual = 1.58151e+07, No Iterations 1000 time step continuity errors : sum local = 27767.9, global = -9667.13, cumulative = -9667.13 DICPCG: Solving for p, Initial residual = 0.925246, Final residual = 114.069, No Iterations 1000 time step continuity errors : sum local = 3.43791e+06, global = -2.00058e+06, cumulative = -2.01024e+06 ExecutionTime = 83.4 s ClockTime = 84 s Volume: new = 50.3983 old = 50.3983 change = 1.13687e-13 ratio = -2.22045e-15 Courant Number mean: 4.54082e+06 max: 1.61654e+10 velocity magnitude: 5.94116e+11 [bluebear3:24854] *** Process received signal *** [bluebear3:24854] Signal: Floating point exception (8) [bluebear3:24854] Signal code: (-6) [bluebear3:24854] Failing at address: 0x1f5500006116 [bluebear3:24853] *** Process received signal *** [bluebear3:24853] Signal: Floating point exception (8) [bluebear3:24853] Signal code: (-6) [bluebear3:24853] Failing at address: 0x1f5500006115 [bluebear3:24853] [ 0] /lib64/libc.so.6 [0x36192302f0] [bluebear3:24853] [ 1] /lib64/libc.so.6(gsignal+0x35) [0x3619230285] [bluebear3:24853] [ 2] /lib64/libc.so.6 [0x36192302f0] [bluebear3:24853] [ 3] /bb/civ/liuyu/OpenFOAM/OpenFOAM-1.6-ext/lib/linux64Gcc44DPOpt/libOpenFOAM.so(_ZN4Foam4Time12adjustDeltaTEv+0x5d) [0x2ac85a0a7dcd] [bluebear3:24853] [ 4] icoDyMFoam [0x416ddb] [bluebear3:24853] [ 5] /lib64/libc.so.6(__libc_start_main+0xf4) [0x361921d9b4] [bluebear3:24853] [ 6] icoDyMFoam(_ZNK4Foam11regIOobject11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE+0xc1) [0x414279] [bluebear3:24853] *** End of error message *** [bluebear3:24854] [ 0] /lib64/libc.so.6 [0x36192302f0] [bluebear3:24854] [ 1] /lib64/libc.so.6(gsignal+0x35) [0x3619230285] [bluebear3:24854] [ 2] /lib64/libc.so.6 [0x36192302f0] [bluebear3:24854] [ 3] /bb/civ/liuyu/OpenFOAM/OpenFOAM-1.6-ext/lib/linux64Gcc44DPOpt/libOpenFOAM.so(_ZN4Foam4Time12adjustDeltaTEv+0x5d) [0x2afb243e4dcd] [bluebear3:24854] [ 4] icoDyMFoam [0x416ddb] [bluebear3:24854] [ 5] /lib64/libc.so.6(__libc_start_main+0xf4) [0x361921d9b4] [bluebear3:24854] [ 6] icoDyMFoam(_ZNK4Foam11regIOobject11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE+0xc1) [0x414279] [bluebear3:24854] *** End of error message *** -------------------------------------------------------------------------- mpirun noticed that process rank 1 with PID 24854 on node bluebear3 exited on signal 8 (Floating point exception). Could you please help on this? I don't know why... Thank you so much! Aqua |
|
March 8, 2012, 18:41 |
|
#6 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi Aqua,
Sorry, but I've never used GGI, so I don't know where to begin with it in parallel All I can do is suggest that you study the case you used for the base mesh. Good luck! Bruno
__________________
|
|
April 6, 2012, 14:54 |
|
#7 |
New Member
s_shimz
Join Date: Jul 2011
Posts: 8
Rep Power: 15 |
Hi Aqua,
I'm supposed to have the same problem as yours. You use the 1.6-ext version of OpenFOAM with GGI patch, but the version of the renumberMesh is not seemed to be executed in parallel mode... Last edited by s_shimz; April 6, 2012 at 15:25. Reason: Wrong quote. |
|
March 5, 2013, 13:11 |
renumberMesh and runtime
|
#8 |
Senior Member
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 342
Rep Power: 28 |
Hi,
I tried out the renumberMesh utility on a case with 197945 cells. I decomposed the domain into 2 sub-domains (98894 + 99051). I ran the parallel case once without renumbering and once with renumbering. renumberMesh displayed this Code:
Band before renumbering: 2018 ... Band after renumbering: 1534 Non-renumbered: Code:
ExecutionTime = 8280.43 s ClockTime = 8296 s ... Time = 7.3 renumbered: Code:
ExecutionTime = 8905.01 s ClockTime = 8920 s ... Time = 7.29 What could be the reason for this? |
|
March 5, 2013, 17:06 |
|
#9 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Hi Gerhard,
There are a few details that come into play:
Bruno
__________________
|
|
March 6, 2013, 06:03 |
|
#10 |
Senior Member
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 342
Rep Power: 28 |
I tried #2 and ran
Code:
mpirun -n 2 renumberMesh -overwrite -parallel I used the decomposition method scotch without any further parameters. The number of shared faces is 3948. If i renumber after decomposing, this number will not change, will it? |
|
March 6, 2013, 06:16 |
|
#11 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quote:
And please try renumbering before decomposing, because as I said before, it may vary depending on the case.
__________________
|
||
May 1, 2015, 15:03 |
renumberMesh after refineMesh
|
#12 |
New Member
AI
Join Date: Jun 2014
Posts: 17
Rep Power: 12 |
Hello all,
I have a quick question, I build my grid using blockMesh, then I run snappyHexMesh -overwrite to add boundary layers and then refineMesh -overwrite to refine local area. And then if I run renumberMesh -overwrite I get the following error: --> FOAM FATAL IO ERROR: size 7680 is not equal to the given value of 122880 7680 is the size (or number of faces of one of the patches before refineMesh and the 122880 is the size after refineMesh) Any idea how to either renumberMesh to read the size correctly? Or how to update the mesh record to reflect the updated size? Thank you all. Last edited by sherif35; May 1, 2015 at 16:35. |
|
May 1, 2015, 17:24 |
|
#13 | |
New Member
AI
Join Date: Jun 2014
Posts: 17
Rep Power: 12 |
Quote:
By switching the order, snappy generates those files for the final mesh. However, I would still like to know if there is way to update all of the 0 directory (including the snappy files). Thank you. Ahmed Ibrahim |
||
April 1, 2019, 12:41 |
|
#14 |
New Member
Arne
Join Date: Dec 2018
Posts: 19
Rep Power: 8 |
Hi all
First off, I think you can reset the 0-folder with setFields? I think this will also work of you have changed the mesh, since setFields works with real distances rather than a number of cells? Secondly, I am wondering whether there is any benefit in applying renumberMesh directly after using blockMesh? I am working on a case which is not in parallel (yet) and without any further additions to the mesh? I was going to try this out myself and I am going the post the answer once I am done. But in case anyone already knows the answer, feel free to respond. Best regards Arne |
|
April 2, 2019, 08:32 |
|
#15 | |
New Member
Arne
Join Date: Dec 2018
Posts: 19
Rep Power: 8 |
Quote:
Hi all I tried to use renumberMesh immediately after blockMesh and it turns out that this does have an influence. I am not sure why this is not automatically done whenever using blockMesh? I saw that the bandwidth does not change, but the envolope decreased by 11%, I am just not sure whether this will have a remarkable influence on the simulationtime afterwards? Best regards Arne |
||
April 2, 2019, 21:39 |
|
#16 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quick answer: Depends on how the blocks were assembled with blockMesh.
__________________
|
|
April 3, 2019, 04:45 |
|
#17 | |
New Member
Arne
Join Date: Dec 2018
Posts: 19
Rep Power: 8 |
Quote:
I also work with only 1 block. I just gave it a try on one of the tutorial cases (pisoFoam -> RAS -> cavity), the mesh exists out of 1 block here. Without renumberMesh, the simulation took 8.98 second, while with renumberMesh it only took 8.86. This difference corresponds with approximately 1.5% decrease in time for a mesh of one block with 20x20 cells. Furthermore, the only change I've noted so far is the 'time step continuity errors'. Best regards Arne |
||
April 3, 2019, 08:55 |
|
#18 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quick answer: That's within the margin of error due to computational randomness... Examples:
|
|
April 5, 2019, 06:25 |
|
#19 | |
New Member
Arne
Join Date: Dec 2018
Posts: 19
Rep Power: 8 |
Quote:
In other words, there is certainly a difference (the matrices are solved in a different way), but this difference does not necessarily mean that the simulation would run faster (because the difference is within the margin error)? Thanks for your help. I think I will be using renumberMesh from now on. It might not do any good, but it will certainly not do any bad. |
||
April 5, 2019, 20:21 |
|
#20 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Quote:
I've seen it get worse when running it in serial and then in parallel after decomposing... namely that renumbering in serial was already great and running it again in parallel did disturb the band-width... although it wasn't all that much and it was not clear how much it impacted performance by also running it in parallel or not. Oh, and don't forget about the "-overwrite" option... otherwise you can risk having an extra time step that you don't notice that corrupted your results... |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[mesh manipulation] renumberMesh causes solver divergence | spaceprop | OpenFOAM Meshing & Mesh Conversion | 8 | November 22, 2021 18:18 |
[mesh manipulation] decomposePar Method affects executability of renumberMesh | Vyssion | OpenFOAM Meshing & Mesh Conversion | 0 | November 3, 2016 08:57 |
Parallel Processisng DecomposePAR - Different Solutions | PeteH | OpenFOAM Running, Solving & CFD | 1 | March 24, 2016 08:25 |
renumberMesh | pere | OpenFOAM | 4 | May 9, 2012 09:52 |