CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Mesh Utilities (
-   -   Usage of polyDualMesh utility (

vaina74 January 21, 2011 03:40

Usage of polyDualMesh utility
I can't find documentation or examples about polyDualMesh, I only read a very few posts here about this meshing utility. My aim is to convert a tet mesh into a polyhedral one, in order to lower the large amount of cells I obtain with tetrahedrals.
I didn't understand the concrete meaning of the <angle> parameter and why most of users set it between 40 and 80. Please, can anyone explain that?

olivierG January 21, 2011 10:43


I am not sure about feature angle, but this help to keep mesh on curved surfaces, so on a cube, 90 would work, and on more complexe geom, less.
I am using it in the 60-80 range.
Check the -concaveMultiCells option, because this help the give you a correct mesh, and don't forget du check the mesh after !


vaina74 January 21, 2011 10:54

I know the feature angle is important in obtaining a good mesh, but I'd like to understand the exact meaning to use the utility well. I hope someone else will reply here.
Anyway, thanks for your suggestion about best angle range and above all the -concaveMultiCells option: I haven't ever heard about it. How do I use it and how it works? Something like

polyDualMesh 75 -concaveMultiCells

vaina74 January 28, 2011 03:52

Any reply? :(
Anyway, I read someone uses

polyDualMesh 180
What does it mean? It's quite out of common ranges, I need to understand the concrete meaning of the angle parameter.

gschaider January 28, 2011 08:07


Originally Posted by vaina74 (Post 292593)
Any reply? :(
Anyway, I read someone uses

polyDualMesh 180
What does it mean? It's quite out of common ranges, I need to understand the concrete meaning of the angle parameter.


polyDualMesh -doc

that should open the browser with the Doxygen-documentation of the browser. Go to the source-file polyDualMeshApp.C. The description of the options and arguments is there

vaina74 January 28, 2011 10:52

OK. polyDualMesh -doc doesn't open anything, i think i miss documentation because of my installation settings. anyway, I look for polyDualMeshApp.C and i found a bare file (i use OF-1.5-dev). well, i didn't give up, i tried with OF-1.7 and found a more complex and detailed file, but i can read only:

    - polyDualMesh featureAngle

    Detects any boundary edge > angle and creates multiple boundary faces
    for it. Normal behaviour is to have each point become a cell
    (1.5 behaviour)

i don't think that's helpful, unleass you mean i must get deep inside the code.

vaina74 January 31, 2011 03:41

I found some documentation about tet mesh conversion into polyhedral one. It concerns other software or general algorithms, but I hope I can understand anyway. Polyhedral conversion process joins quad faces (derived from tet cells): below a feature angle (between normals?) the edge between two faces is ignored, above a feature angle the edge is retained. Am I correct?
Anyway a feature angle of 180 looks strange to me.

ColorsForDIrectors June 8, 2015 06:39

polyDualMesh Problem
I am new here ;-)
I have a problem with polyDualMesh. I am workin with OpenFoam.

I have a 2D flow passag with step. I create the mesh with GMesh. So it is a tetrahedral mesh.
When I'm now execute the command polyDualMesh. The programm creates the new Mesh but it looks like the picture one.

Now I found on the openfoam-wiki a tuorial:
There the mesh has two layer in the third dimension.
My mesh has this too. Picture two
On the openfoam-wiki website there are step 5 to 7 how to make a good mesh.
But on step 5 you have to trn the setSet application to create a cell set that contains only one layer of cells. That's my problem. How to execute the setSet comand .
Can anybody tell me how it works? How the command look like.
Thank you very very much for help!

toor October 23, 2015 14:38

Hi folk,

I have worked with generating primal and/or dual meshes.

When deriving dual-mesh around each primal-mesh (tet mesh) point a dual-cell is constructed. For interior points constructing dual is straight forward, however for boundary points defining ridges and/or corners to be represented by dual-cell faces they must be split along these entities. A ridge is an edge of primal mesh separating two different sides of the domain being meshed.

To decide which boundary edges are ridges, a calculation of angles between faces sharing(dihedral angle) is required, i.e. for a simple cube with straight sides you can say that if dihedral angle between faces is not 180 (or 0) then edge shared between the faces is a ridge. Corners are the points where more than two ridges meet.

I hope this makes sense.

All times are GMT -4. The time now is 20:46.