CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [mesh manipulation] Usage of polyDualMesh utility (https://www.cfd-online.com/Forums/openfoam-meshing/84146-usage-polydualmesh-utility.html)

vaina74 January 21, 2011 02: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 09:43

helllo,

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 !

regards,
olivier

vaina74 January 21, 2011 09: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
Code:

polyDualMesh 75 -concaveMultiCells

vaina74 January 28, 2011 02:52

Any reply? :(
Anyway, I read someone uses
Code:

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 07:07

Quote:

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

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

Try

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 09: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:
Code:

    - 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 02: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
 
Hi,
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: https://openfoamwiki.net/index.php/P...esh_generation
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!http://img5.fotos-hochladen.net/uplo...q8i65s1j07.jpghttp://img5.fotos-hochladen.net/uplo...4db3uczp19.jpg

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.

fede32 September 4, 2018 09:14

mapPolyMesh does not correspond to the old mesh
 
How, I'm working with a tetrahedra mesh. I'm using polyDualMesh as following:
HTML Code:

polyDualMesh 75 -concaveMultiCells
and I get this error:


/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
Build : 6-1a0c91b3baa8
Exec : polyDualMesh 75 -concaveMultiCells
Date : Sep 04 2018
Time : 10:11:33
Host : "fede-C500"
PID : 31730
I/O : uncollated
Case : /home/fede/OpenFOAM/fede-6/run/sic-tec/ductos/pitzDaily_fine_noslip_polydual
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Feature:75
minCos :0.258819

Generating multiple cells for points on concave feature edges.

Detected concave feature edge:11800 cos:0.0198833 coords:(1.1319 -7.9035 0)(1.1319 -7.9035 -0.065776)
Detected concave feature edge:12718 cos:0.0201133 coords:(1.1319 -7.9035 -0.065776)(1.1319 -7.9035 -0.138776)
Detected concave feature edge:12721 cos:0.0310433 coords:(1.1319 -7.9035 -0.218688)(1.1319 -7.9035 -0.307131)
....
....

....

Detected concave feature edge:94514 cos:0.0105767 coords:(-0.7381 -4.45878 0.0547)(-0.7381 -4.48816 0.0547)
Dumping centres of featureFaces to obj file "featureFaces.obj"
Dumping featureEdges to obj file "featureEdges.obj"
Dumping featurePoints that become a single cell to obj file "singleCellFeaturePoints.obj"
Dumping featurePoints that become multiple cells to obj file "multiCellFeaturePoints.obj"
Reading volScalarField p
Reading volScalarField nut
Reading volScalarField k
Reading volScalarField epsilon
Reading volScalarField omega
Reading volScalarField nuTilda
Reading volVectorField U


--> FOAM FATAL ERROR:
mapPolyMesh does not correspond to the old mesh. nCells:199953 cellMap:199981 nOldCells:920529 nFaces:1309524 faceMap:1309524 nOldFaces:1880642

From function virtual void Foam::fvMesh::mapFields(const Foam::mapPolyMesh&)
in file fvMesh/fvMesh.C at line 582.

FOAM exiting

randolph July 31, 2019 13:27

2 Attachment(s)
Please read post #6 and #9

Here is an example:

The first pic is generated by
polyDualMesh 10 -concaveMultiCells

The second pic is generated by
polyDualMesh 180 -concaveMultiCells

Thanks,
Rdf

AlbertoArtoni October 16, 2019 05:54

Quote:

Originally Posted by randolph (Post 740640)
Please read post #6 and #9

Here is an example:

The first pic is generated by
polyDualMesh 10 -concaveMultiCells

The second pic is generated by
polyDualMesh 180 -concaveMultiCells

Thanks,
Rdf


Hi,


I am trying to reproduce your example from an initial cubic mesh, or from a trapezoidal prismatic mesh, but I can't get the polyhedra on the boundary as yours - keep getting the -10 refinement.



What was your initial tetraedrical mesh?


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