blockMesh with double grading.
1 Attachment(s)
about edge grading , with blockMesh, currently I can only use simplegrading and cannot generate edge like this
. . . ....... . . . So I modified it, now, using "-"to represent double grading, e.g. simpleGrading (1 -2 1) in blockMeshDict,means the mesh in central is 2 times larger than those in side. Hope it helpful |
Quote:
|
Quote:
/setEdge.C /curvedEdges/lineDivide.C Pei |
Hi Pei,
good work! i was searching the forum for something like that... i modified the code according to your suggestions and be very happy with the result cheers Markus |
Great tool! Thanks for sharing!
|
I compiled the files using wmake in the /application/utilites...../blockMesh
But when I run blockMesh with negative value in the grading area (1 -2 1), I am getting some error: Creating blockCorners Creating curved edges Creating blocks #0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/opt/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/libOpenFOAM.so" #2 Uninterpreted: #3 in "/lib/tls/i686/cmov/libm.so.6" #4 pow in "/lib/tls/i686/cmov/libm.so.6" #5 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" #6 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" #7 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" #8 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" #9 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" #10 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" #11 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" #12 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6" #13 in "/opt/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt/blockMesh" Floating point exception the "pow" function is not being recognized. I am using OF 1.7. Thank you. |
1 Attachment(s)
There were some changes between 1.7.1 and the version that this utility was designed for. I attached a version that worked for me in 1.7.1, based on the blockMesh of 1.7.1 and some code snippets from the above posted files.
|
Thanks for the updated code.But I am still getting the same error. Do I need to do anything other than running wmake in .../applications/utlilities/...../blockMesh ?
My OF is installed under root and I access through user login. But the bash file for user is sourced so I am reckoning this should not create any problem unless I am missing something. |
Got It. I was making a stupid mistake of typing blockMesh instead of blockMeshDoubleGrading. Thank you for the code! Its a very useful utility.
|
Agreement
I also found it to be very useful and would suggest that something like it be made part of the standard distribution.
|
Hello all, I am having some difficulty compiling and running this application. I extracted Bernhard's archive into the $FOAM_USER_APPBIN directory, and ran "wmake libso" from that directory. The compilation ended with no errors and a satisfying "'libNULL.so' is up to date." However, I cannot find the executable file, and when I attempt to run "blockMeshDoubleGrading" I get an error ("blockMeshDoubleGrading: command not found"). I attempted the install on OF 1.7.0. Could someone please assist me with installing this application for use with OF 1.7.0 or above?
Thank you, Dan |
Dan, using "wmake libso" you compile libraries, not executables. Use plain "wmake" and all should be well.
|
Hello akidess,
Thank you - I had a feeling it was something fundamental. Regards, Dan |
2 Attachment(s)
Hello all,
In case anyone is interested, I fixed up this great utility so that it now works with OF 2.0.1. I'm afraid it has become somewhat more complex in OF 2.0.1. With these instructions, it will get working. First, the library: 1) Copy /src/mesh/blockMesh to $FOAM_USER_APPLIB; 2) Replace blockMesh/blockDescriptor/blockDescriptorEdges.C with the one from the "bin" tarball attached; 3) Replace blockMesh/curvedEdges/lineDivide.C with the one from the "bin" tarball attached; 4) Replace make/files with the one from the "bin" tarball attached 5) Rename the folder from "blockMesh" to "blockMeshDG" 6) Run "wmake libso" Next, the application: 1) Extract the blockMeshDG_bin tarball to $FOAM_USER_APPBIN 2) run wmake That should do it. Sorry for the long instructions for the library, the files were too big to include as a single zip. Enjoy, Dan |
Error?
Hail dancfd,
I'm not sure if it is just me but there is no $FOAM_USER_APPLIB in my openFoam 2.0.1 release, I think you mean $FOAM_USER_LIBBIN. Or are we ment to make such a directory in the even that it does not exist? Also in the blockMeshApp.dep you need to replace the instances of: /home/dan/OpenFOAM/dan-2.0.1/platforms/linux64GccDPOpt/lib with something else... Cheers, Jesse Coombs |
Hello RygeltheXVI,
You are correct, you need to create the $FOAM_USER_APPBIN directory to avoid changing the paths in the files in the "make" directories. As for the .dep file, that is generated by running "wmake" - no need to change anything there. Regards, Dan |
Dan, did you include the modified version of lineDivide.C in the tarball or the original? I see no changes compared to the stock 2.0.x version.
|
1 Attachment(s)
Hello Anton,
I apologize, it seems that I did include the wrong file. I have attached the correct lineDivide.c file to this post. Regards, Dan |
Hi Dan, thanks for the upload. For convenience, I have packaged the updated code in an online repository. Now anyone that wants to use the patched version can clone the code and compile it with two commands:
Code:
hg clone https://code.google.com/p/blockmeshdg/ - Anton |
Hello Anton,
I am happy that the files are getting wider distribution in the hope that others may find it useful, however would you please add the name of the original author to the credits: Shui Pei. He developed it in the first place. Regards, Daniel |
Thanks for the program and the repository! It works great. Btw ParaFoam segfaults when setting an odd number of cells in the double-grading direction, I didn't notice until a colleague reminded me to check that, then it worked :)
|
works like a charm, thanks to all contributors!
|
I got the same Floating point exception like Omkar if calling blockMesh after updating the files using hg clone, and blockMeshDoubleGrading is an unknown command, so maybe for clarifying: calling ./Allwmake in the src/mesh folder or at top level? Works with OF 2.1.x?
However I think ist a great tool, especially if one has to deal with internal boundaries like baffles it is cool to avoid half of the blocks. |
Albrecht, the executable name is blockMeshDG. I will make that more clear on the repository site.
|
5 Attachment(s)
Hi Foamers,
Thanks for DG version! One problem found when the O-grid type block mesh was generated. BlockMeshDG switch the grading opposite if midpoints on the block edges are used. This problem does not occur if blocks coordinate system is in same direction, but on the O-grid blocks coordinate systems is not possible keep on same direction. Any ideas fix this problem? Attached case can be run by blockMeshDG on 1.6-ext. BR/Pekka |
Hi
Quote:
please help me... Thanks, Sasan. |
1 Attachment(s)
Hi Sasan,
Attached is the modified version for 1.6-ext, based on the instructions from post #3: http://www.cfd-online.com/Forums/ope...tml#post238922 Instructions:
Best regards, Bruno |
Hi Bruno,
works like a charm. Thank you very much. Sasan |
2 Attachment(s)
I found the solution to my problem. It's simpler than anybody can guess. :mad:
When arc is used on the block edges it is a matter of the order of arc end points. So the grading direction can be changed by switching the end points order: HTML Code:
arc 6 7 ( 1.375 1 1.2 ) => arc 7 6 ( 1.375 1 1.2 ) |
Disappointed to see that blockMeshDG still does not seem to be part of the standard distribution. Are the developers not aware of it? How do we make them aware of it? As an OF newbie it was the first thing I looked for when I was creating my first mesh!
About to download and try it for the first time (OF V2.1.1)..... Later: Worked perfectly, but as pointed out by others earlier, you must make sure you specify an even number of cells. I found that if its an odd number, although blockMesh works fine, checkMesh crashes, as does paraFoam. |
Greetings Steve,
Quote:
Best regards, Bruno |
Thanks for that Bruno, appreciate you taking the time to reply!
Regards Steve |
Hi Foamers,
I tried to install blockMeshDoubleGrading but after wmake I get this error : /opt/openfoam220/wmake/wmake: line 222: make: command not found /opt/openfoam220/wmake/wmake: line 223: make: command not found wmake error: file 'Make/linux64GccDPOpt/objectFiles' could not be created in /tmp/blockMeshDG-1.6-ext and I don't know why. I already succeeded to install this program with another computer.. thanks Anselme |
Anselme, your error is not related to blockMeshDG, but to your OpenFOAM installation. I'm guessing you can't compile any other program either.
|
Greetings Anselme,
As Anton indicated, you're missing the tools needed for compiling. Check the instructions shown in the section "System Requirements" for the "Source Pack" instructions: http://www.openfoam.org/download/source.php#x6-29000 - that section is all you need to follow, since you've already installed OpenFOAM. Best regards, Bruno |
Thanks a lot for your answer wyldckat and akidess, it works ! Now I would like to set a parabolic velocity inlet profile but I can't get the sources on
svn checkout http://openfoam-extend.svn.sourceforge.net/svnroot/\ fields/fvPatchFields/derived/parabolicVelocity/openfoam-extend/trunk/Core/OpenFOAM-1.5-dev/src/finiteVolume/\ because of that http://openfoamwiki.net/index.php/Main_Page Someone has an idee ? Best regards, Anselme |
Anselme, you can use Swak4Foam/GroovyBC. If you run into problems in doing so please start a new thread so we can keep this one focused on blockMeshDG.
- Anton |
Hi all
how can find a 2.2.0 version of blockMeshDG? |
Hi Ehsan,
Quote:
Best regards, Bruno |
Bruno, did you ever test it on 2.2? If so, we could add the 2.2 template to the wiki...
|
All times are GMT -4. The time now is 19:47. |