CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[mesh manipulation] Sharp edge problem on concave patches using polyDualMesh without error

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree4Likes
  • 4 Post By keepfit

LinkBack Thread Tools Search this Thread Display Modes
Old   September 12, 2012, 07:53
Default Sharp edge problem on concave patches using polyDualMesh without error
Senior Member
David Long
Join Date: May 2012
Location: Germany
Posts: 104
Rep Power: 14
keepfit is on a distinguished road
Hi OpenFoamers,

I made a simple 3D damBreak case in order to test polyDualMesh utility, i.e. convert tetrahedral mesh to polyhedral mesh. Because sometimes you want to reduce tet cell number especially when it reaches millions.

Right now I could run the case with relative lower nonOrthoFaces, but I doubt if runing a case with large number of cells (millions) it may blow up.

My question is:
How to produce a perfect share edge on concave patches, without losing geometry information, and without nonOrthoFaces, wrong OrientedFaces ,etc.

I would appreciate any of your tips or recommendations.


1. Small feature angle / without -concaveMultiCells option

First a tetrahedral mesh is generated with Delaunay algorithm according to previous posts, import it to OpenFoam and checkMesh, everything is fine. Then perform:

 polyDualMesh [option] <feature angle>
 combinePatchFaces <feature angle>
After polyDualMeshing with a feature angle 60 I found that some wrongOrientedFaces is produced, see below:

2. Small feature angle / with -concaveMultiCells option

By looking into the polyDualmesh options I realized the -concaveMultiCells option is missed. By adding this option we can still get the sharp edges on concave patches and wrongOrientedFaces are eliminated. However, the concave edges could not be combined by varying from small to large feature angle. Furthermore, nonOrthoFaces are produced around concave patches/boundaries during the process.

 polyDualMesh -concaveMultiCells 60
combinePatchFaces 60

3. corrected feature angle / with and without -concaveMultiCells option

Since the feature angle is the minimum angle between patches (if wrong please correct me). In this case the angle is approximately 90 degree.

polyDualMesh -concaveMultiCells 90
or without -concaveMultiCells
polyDualMesh 90
Both commands produce identical results and they can pass checkMesh without error information.

It seems that the featured concave edges are smoothened by polyhedral cell, and some of the geometry information is lost! During the polyDualMeshing I found that there is no "Detected concave feature edge ...." information, while with smaller feature angle, we can see such information

Detected concave feature edge:21320 cos:0.0123893 coords2.11429 0.685714 0.464286)(2.12857 0.671429 0.428571)
Detected concave feature edge:21386 cos:0.00931472 coords1.38571 1.41429 0.214286)(1.37143 1.42857 0.178571)
4. Summary

It seemed that none of above meshes are perfect.

Based on the tests above, using polyDualMesh utility in OpenFoam to convert tet mesh (with concave patches) to polyhedral mesh, the feature angle is the key parameter. Assuming Alpha_min is the minimum angle between patches, and Beta_ is the feature angle used with polyDualMesh,

I. if Beta_ < alpha_min, -concaveMultiCells option must be used to eliminate wrong OrientedFaces, but meanwhile it may produce nonOrthoFaces.
II. if Beta_ >= alpha_min, polyDualMesh will generate same polyhedral mesh either with or without -concaveMultiCells option, because it seems that polyDualMesh can not detect feature edges with a relative large feature angle.

Best regards,

nsf, Alhasan, Swift and 1 others like this.

Last edited by keepfit; September 15, 2012 at 13:27.
keepfit is offline   Reply With Quote

Old   November 25, 2014, 14:28
Smile How to convert tetrahedral to polyhedral
New Member
Join Date: Nov 2012
Posts: 2
Rep Power: 0
wang2012 is on a distinguished road
i want to convert my mesh from tetrahedral to polyhedral for the chtMultiRegionFoam.

The mesh was built from ANSYS. I try the polyDualMesh.
polyDualMesh 180 -concaveMultiCells 
combinePatchFaces 180
aber they worked not so well. After convert with polyDualMesh, the number of elements are 4 times larger than previously, and there are 99% of hexahedra and only 1% of polyhedral.



I really appreciate if you help me at this.

wang2012 is offline   Reply With Quote


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
long error when using make-install SU2_AD. tomp1993 SU2 Installation 3 March 17, 2018 06:25
[swak4Foam] installing funkySetFields igo OpenFOAM Community Contributions 1 November 20, 2012 20:16
ParaView for OF-1.6-ext Chrisi1984 OpenFOAM Installation 0 December 31, 2010 06:42
CGNS lib and Fortran compiler manaliac Main CFD Forum 2 November 29, 2010 06:25
How to get the max value of the whole field waynezw0618 OpenFOAM Running, Solving & CFD 4 June 17, 2008 05:07

All times are GMT -4. The time now is 07:16.