Sharp edge problem on concave patches using polyDualMesh without error
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> http://24.media.tumblr.com/tumblr_ma...saho1_1280.png http://25.media.tumblr.com/tumblr_ma...saho2_1280.png 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 http://25.media.tumblr.com/tumblr_ma...o6_r1_1280.png 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 Code:
polyDualMesh 90 http://25.media.tumblr.com/tumblr_ma...o7_r1_1280.png http://25.media.tumblr.com/tumblr_ma...o8_r1_1280.png 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:
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 |
How to convert tetrahedral to polyhedral
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 Before: http://fs1.directupload.net/images/141125/ty5ljzcc.png After: http://s14.directupload.net/images/141125/i4oceobz.png I really appreciate if you help me at this. Best, Wang |
All times are GMT -4. The time now is 06:57. |