CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Native Meshers: blockMesh (
-   -   Meshing inside a cylinder so that the edges contain more cells than the center (

Bertrand April 11, 2010 04:36

Meshing inside a cylinder so that the edges contain more cells than the center

I am pretty new to OF, so I apologize if I may say trivial or stupid things...

Here is my problem : I gotta mesh a variable cross-sectional cylinder (axi-symmetrical geometry, but not axi-symmetrical solution).

I have tried several ways, but I would like some input on which one I should investigate further :

1. "Classical cylinder meshing", i.e. 5 blocks-based, with a cuboid in the centre and 4 blocks to fill the cylinder.
Problem : doesn't allow to have more cells on the edges of the cylinder, where limit layer imposes it, since the number of cells on an arc of the cylinder is dictated by the cuboid number of cells on one side. Except if one uses mergePatch, which makes it harder.

2. Small cylinder in the center, covered by 4 blocks that cover the rest of the shape.
Problem : using mergePatch doesn't seem to work on this kind of geometry, OF argues that one face would have less than 3 points, I guess this circle in the middle is not really OF-friendly

3. "Analytical function", I still didn't try this possibility, but I was wondering wether it could work to specify a function in the conventional cylindrical coordinates, like r(z), with the radius depending on the z-dimension only, with the number of cells depending somehow on the radius?

I hope it was "clear"...

Thank you for your time!



romant April 13, 2010 04:46


have you tried looking into the possibility to use snappyHexMesh instead of blockMesh to create your mesh? Creating cylinders with this is quite easy and straightforward.

In linux there is salome and blender which can easily create these cylinders and output an stl file for use with snappyHexMesh.

otherwise, for your second approach I would suggest reading the tutorial on stress analysis, which could help.

All times are GMT -4. The time now is 19:48.