Some questions on blockMesh, decomposePar and renumberMesh
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 ? |
Hi Pierre,
OK, in a nutshell:
Best regards, Bruno |
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 |
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 |
single and parallel run
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 Could you please help on this? I don't know why... Thank you so much! Aqua |
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 |
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... |
renumberMesh and runtime
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 Non-renumbered: Code:
ExecutionTime = 8280.43 s ClockTime = 8296 s renumbered: Code:
ExecutionTime = 8905.01 s ClockTime = 8920 s What could be the reason for this? |
Hi Gerhard,
There are a few details that come into play:
Bruno |
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? |
Quote:
And please try renumbering before decomposing, because as I said before, it may vary depending on the case. |
renumberMesh after refineMesh
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. |
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 |
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 |
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 |
Quick answer: Depends on how the blocks were assembled with blockMesh.
|
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 |
Quick answer: That's within the margin of error due to computational randomness... Examples:
|
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. |
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... |
All times are GMT -4. The time now is 05:30. |