CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

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

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 4 Post By keepfit

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 12, 2012, 08:53
Default Sharp edge problem on concave patches using polyDualMesh without error
  #1
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:

Code:
 polyDualMesh [option] <feature angle>
Code:
 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.

Code:
 polyDualMesh -concaveMultiCells 60
Code:
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.

Code:
polyDualMesh -concaveMultiCells 90
or without -concaveMultiCells
Code:
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

Quote:
....
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,

David
nsf, Alhasan, Swift and 1 others like this.

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

Old   November 25, 2014, 15:28
Smile How to convert tetrahedral to polyhedral
  #2
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.
Code:
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.

Before:


After:


I really appreciate if you help me at this.

Best,
Wang
wang2012 is offline   Reply With Quote

Reply


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 07:25
[swak4Foam] installing funkySetFields igo OpenFOAM Community Contributions 1 November 20, 2012 21:16
ParaView for OF-1.6-ext Chrisi1984 OpenFOAM Installation 0 December 31, 2010 07:42
CGNS lib and Fortran compiler manaliac Main CFD Forum 2 November 29, 2010 07:25
How to get the max value of the whole field waynezw0618 OpenFOAM Running, Solving & CFD 4 June 17, 2008 06:07


All times are GMT -4. The time now is 21:12.