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

[mesh manipulation] Usage of polyDualMesh utility

Register Blogs Community New Posts Updated Threads Search

Like Tree3Likes
  • 1 Post By gschaider
  • 2 Post By toor

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 21, 2011, 03:40
Default Usage of polyDualMesh utility
  #1
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 17
vaina74 is on a distinguished road
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?
vaina74 is offline   Reply With Quote

Old   January 21, 2011, 10:43
Default
  #2
Senior Member
 
Olivier
Join Date: Jun 2009
Location: France, grenoble
Posts: 272
Rep Power: 18
olivierG is on a distinguished road
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
olivierG is offline   Reply With Quote

Old   January 21, 2011, 10:54
Default
  #3
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 17
vaina74 is on a distinguished road
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 is offline   Reply With Quote

Old   January 28, 2011, 03:52
Default
  #4
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 17
vaina74 is on a distinguished road
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.
vaina74 is offline   Reply With Quote

Old   January 28, 2011, 08:07
Default
  #5
Assistant Moderator
 
Bernhard Gschaider
Join Date: Mar 2009
Posts: 4,225
Rep Power: 51
gschaider will become famous soon enoughgschaider will become famous soon enough
Quote:
Originally Posted by vaina74 View Post
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
fede32 likes this.
gschaider is offline   Reply With Quote

Old   January 28, 2011, 10:52
Default
  #6
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 17
vaina74 is on a distinguished road
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 is offline   Reply With Quote

Old   January 31, 2011, 03:41
Default
  #7
Senior Member
 
Join Date: Feb 2010
Posts: 213
Rep Power: 17
vaina74 is on a distinguished road
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.
vaina74 is offline   Reply With Quote

Old   June 8, 2015, 07:39
Default polyDualMesh Problem
  #8
New Member
 
Join Date: Jun 2015
Posts: 1
Rep Power: 0
ColorsForDIrectors is on a distinguished road
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!
ColorsForDIrectors is offline   Reply With Quote

Old   October 23, 2015, 15:38
Thumbs up
  #9
New Member
 
toor
Join Date: Oct 2015
Posts: 1
Rep Power: 0
toor is on a distinguished road
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.
randolph and rezaeimahdi like this.

Last edited by toor; October 23, 2015 at 18:22.
toor is offline   Reply With Quote

Old   September 4, 2018, 10:14
Default mapPolyMesh does not correspond to the old mesh
  #10
Member
 
fede32's Avatar
 
Federico Agustín Caccia
Join Date: Jun 2015
Location: Buenos Aires, Argentina
Posts: 55
Rep Power: 11
fede32 is on a distinguished road
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 coords1.1319 -7.9035 0)(1.1319 -7.9035 -0.065776)
Detected concave feature edge:12718 cos:0.0201133 coords1.1319 -7.9035 -0.065776)(1.1319 -7.9035 -0.138776)
Detected concave feature edge:12721 cos:0.0310433 coords1.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
fede32 is offline   Reply With Quote

Old   July 31, 2019, 14:27
Default
  #11
Senior Member
 
Reviewer #2
Join Date: Jul 2015
Location: Knoxville, TN
Posts: 141
Rep Power: 11
randolph is on a distinguished road
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
Attached Images
File Type: png featureAngle_10.png (74.5 KB, 489 views)
File Type: png featureAngle_180.png (84.9 KB, 446 views)
randolph is offline   Reply With Quote

Old   October 16, 2019, 06:54
Default
  #12
New Member
 
Alberto Artoni
Join Date: Oct 2019
Posts: 7
Rep Power: 7
AlbertoArtoni is on a distinguished road
Quote:
Originally Posted by randolph View Post
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?
AlbertoArtoni 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
[Other] Contribution a new utility: refine wall layer mesh based on yPlus field lakeat OpenFOAM Community Contributions 58 December 23, 2021 03:36
[Commercial meshers] Usage of createPatchDict Bombolati OpenFOAM Meshing & Mesh Conversion 17 February 21, 2020 09:51
Something doens't work with wallHeatFlux utility or externalWallHeatFluxTemperat BC!! zfaraday OpenFOAM Post-Processing 0 February 5, 2015 17:47
[mesh manipulation] Sharp edge problem on concave patches using polyDualMesh without error keepfit OpenFOAM Meshing & Mesh Conversion 1 November 25, 2014 15:28
About the usage of polyDualMesh weijing OpenFOAM Running, Solving & CFD 3 June 15, 2006 08:54


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