CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   Complex .stl data for volume meshing in ICEM CFD (

Nils_H August 29, 2011 06:46

Complex .stl data for volume meshing in ICEM CFD
3 Attachment(s)
First of all: hi together as I am a new member of this forum. I was looking for some help regarding my issues and found this forum to be best suited. Since a couple of month Iīm working with ICEM CFD and Fluent and allready gathered some experience, also in working with .stl files, but now I need some advices as I spent to much time on this one by try and error method.

Now, let me give you a short introduction to my problem. I have several computer tomograms of a realy complex structure, these are sintered glass frits for fluid dispersion purposes for example. These structures come as .stl files with around 3 million tets. The original data was very bad, but with Geomagic I was able to get rid of allmost every problem like spikes, overlapping elements etc.

The aim is to mesh this structure using ICEM CFD and I found some helpful hints here. These things I have tried so far, to get a volume mesh out of the .stl file for an import to Fluent:

-> Robust Octree meshing works but imports hundrets of elements to Fluent
-> Shrinkwrap for surface mesh combined with Delaunay with TGlib works, but shows error when importing to Fluent saying "zero face pointer"
-> Building Surface topology for the extraction of faces shows weird results as the complex shape cannot be represented that exact (pls see pics)
-> Surface mesh directly out of the .stl looks allright so far, quality is ok.
-> in addition, the check mesh tool shows (related to the overall mesh number) around 5-10% cells having a Delaunay violation, what might give the error when perfoming Delaunay meshing with import to Fluent "zero face pointer"

Are there any hints to get this .stl work for simulation somehow? Iīm really stuck on this one and the results are of high interesst for my work. Any sort of recipe is greatly acknowledged.

Thanks so far, hope to read some suggestions...

Best regards,

Nils_H August 31, 2011 04:25

In additon:

I was able to reduce the number of Delaunay violations from 301k to less than 2k by smoothing the hell out of the surface mesh. But is there a chance to completely close the surface mesh? I think this causes the volume mesh to fail when importing to Fluent. Any suggestions? The CFD must somehow be possible with this structure, I wonīt give up without having tried as many possiblilites as possible (sort of...).

Nils_H August 31, 2011 12:12

Update so far
2 Attachment(s)
Hereīs the newest update with some additional info: When I import the .stl file into ICEM it shows a number of 3.136.982 triangles with some multiple edge error as well as some non-manifold vertices and around 300.000 Delaunay violations. In the edit menu I choose facets --> mesh and perform the mesh check (with the result as shown above). The errors are put into subsets and repaired/deleted. From there the volume mesh starts from the surface mesh after having the geometry closes. Delaunay with TGlib is chosen, but as can be seen in the pic, a solid block was created and the initialization failed.

I tried same procedure with Octree directly from the surface mesh and following message appears "Topo incomplete because surafe has no loops". I donīt really know this tells me. Nevertheless, the meshing process goes completely insane and nearly occupies 150GB on my machine. That was when I had to kill the process.

Another route I tried is performing the All Tri method directly from the surface as patch independent method to create the shell mesh. As global seed size 40 was chosen. The pic visually shows a good result, mesh check says the following:

14 uncovered faces (--> fixed)
166 multiple edges (--> subset and later removed)
14 single edges (--> deleted)
733 non-manifold elements (--> fixed)
1 single edge (--> deleted)
8 single multiple edges (--> deleted)
1800937 stand alone surface mesh (that the original trianlge number --> ingnore)
2309 Delaunay vilolations (--> ignored)
2 overlapping elements (--> fixed)

How can I make sure the surface mesh is 100% water tight, as I see the surface mesh shows some unmeshed parts at the curvature? I later improved the surface mesh quality in 25 iteration steps of each by 0.025 values higher from 0.05 to a total value of around 0.6. From here I chose the Delaunay TGlib method for generating the volume mesh on the exitsting mesh. On this point the initialization failed again I donīt know what the heck is going on :/. Maybe the surface mesh is not water tight "enough" for the Delaunay? The Robust Octree on the existing mesh part with an edge criterion of 0.2 first of all deletes the whole mesh and goes regarding the ram crazy again.

I might be on the wrong way, but to make a long story short: what am I doing wrong?

stuart23 August 31, 2011 19:55

Hi Nils

Welcome to the forum!

If your CAD is as 'dirty' as you have said, the best method to employ is Octree. Octree is a top down method, there are lots of posts describing it on this forum. Octree creates a volume mesh hat is trimmed and fitted to your geometry. Make sure you run it with 'close holes' as well.

If it is using too much memory, maybe try reducing your sizing functions (Octree will obey both face and volume sizing functions). If you do not acchieve your desired mesh sizing in the first round, you could further refine the surface mesh with 'project nodes to surface', or split the geometry up into x pieces and mesh each seperatly.

Once you have your Octree mesh, you may either smooth this mesh, or delete all of the volume elements and then choose a bottom up (Delauny or AF) to full the volume with. You must first however have a watertight volume, and this is best achieved with Octree.

Good Luck!!!

Nils_H September 2, 2011 08:38

Got it to work so far, but...
Hi and thanks for your reply. I was able to apply an Octreee mesh on the structure and Fluent was able to read in the mesh,. As the structure consits of only one surfaace, I declared two boundayry conditions (inlet, outlet) via the "create part in region" button and choose two sides of structre. From there I performed the Delaunay meshing and everthing worked out so far, even in Fluent. But: The region I meshed and imported is the solid region, meaning the structure itself. For simulating a fluid flow through the structre I need to invert the structre, but ICEM is not wokring on Boolean operations, I understood so far. I created a block around the structure (see pic) and need to define wether this part is fluid or solid and link the mesh together? Do you have some advice for that? This could be the last step Iīm stuck at for the moment... :)

Nils_H September 2, 2011 08:39

and hereīs the pic
1 Attachment(s) promised.

All times are GMT -4. The time now is 14:03.