CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   [ICEM] Meshing from porous media out of CT data (

shohin July 23, 2010 12:02

Meshing from porous media out of CT data
3 Attachment(s)
Hi all,
i have some delicate problem to solve. The attached pictures show the fluid fraction of a porous media which was scanned by a computer tomograph. The dimension are: Lenght 8cm and diameter 1cm.

As you can guess, my task is to prepare a mesh for CFD simulations.

My procedure until now was the following:
- I segmented the fluid part from the solid and exported it as STL.
- I imported the STL in 3matic and made some fixing procedures (overlapping elements, inverted normals, etc..) and some first remeshing of the surfaces.
- Afterwards i defined the inlet and outlet surfaces
- Sinde 3matic is only available for me as 32bit version i cannot generate volume meshes :(
- So i exported the surface mesh (2Mio elemnts) as NASTRAN using surface splitting to have the bocos already defined in ICEM
- Next import in ICEM
Now, the problems are arising:
- I imported as Geometry => correct or is import as Mesh better?
- remeshing the surface mesh using "patch independent" and curvature/proximity based refinement
- a mesh check, produced lots of errors, which i cannot repair easily.

So, since i am new to ICEM i wanted to ask for some hints or tips about the best procedure to solve this task.
Also, i am interested in your opinions about the overall feasiblity.

Thanks for your comments in advance.

all the best,

PSYMN July 24, 2010 09:09

Can you start from the imported surface mesh?
This probably has all sorts of separate regions... Very interesting.

Is the Nastran mesh good enough quality to use as a surface mesh? (it looks good in the pics)

If so, you could read it in as mesh or geometry and then use edit (menu) => Mesh to facets or facets to mesh to get the other. It is good to have both so the smoother can work better.

Then go to Mesh (tab) => Compute Mesh and choose Delaunay (with the TGlib - AFoption if you have the memory for it).

This will generate the volume mesh from your surface mesh...

If that won't work for you, we can talk about how to get a mesh with the Patch independent mesh (hint, you don't need a surface mesh first)...

shohin July 24, 2010 09:27


first, thanks for your reply.

1) Yes, i think the NASTRAN mesh is suitable for further work

So, i will give it a try. I already played around with Delauney and created volume meshes. Unfortunately, i got errors when reading it in into FLUENT.
But, i will give it a try with the method you proposed.

I will report the results and are looking forward for your comments.


shohin July 28, 2010 09:58


i used the delauney mesher with your options proposed and got a volume mesh. the mesh check in FLUENT brought me ~700 degenerated contact points as only errors. A first test simluation was promising though.

Since i am doing my preliminary test only with a small part of the whole model,
i will not be able to use 3matic for the whole model.
Here i will have to use ICEM for importing the "unmeshed" NASTRAN (with bocos) and further meshing. I also have to do "facets to mesh", right before surface meshing? I already made a surface mesh using "patch independent" algorithm which seems quite nice.
For creating the volume mesh i used delauney with the proposed settings but failed due to lack of memory (i have 16GB available at the moment). When playing around with the max element size i always got the same amount of volume elements when using delauney - what is the reason for this.

Is there any memory saving technique or way to use?

Thanks a lot for your kind help.


PSYMN July 29, 2010 09:42


Instead of generating the surface mesh with patch independent, you can skip that step and just generate the volume mesh with the Tetra/Mixed => Octree method. This will give you the PI surface and Octree volume mesh in one go and using the same memory and time (pretty much) that it took just to generate the PI surface mesh.

The 700 degenerated contact points are just "non-manifold verts". You can check for those in ICEM CFD. You could repair them or at least some of them. Depending on why they formed, you may even be able to avoid them with a smaller size or with "thin cuts" or a smaller "Edge Criterion", but I think it is reasonable to expect these sorts of things in this sort of geometry.

The "Facets to Mesh" step is only if you wanted to use those facets as a surface mesh. if you just want to patch independent mesh the geometry, you can skip it. If you had a lot of sharp features you wanted to capture then I would have suggested building diagnostic topology to create feature curves and break up the model. But since you probably just have a few or none, I would suggest drawing your features on the model with spline curves thru faceted points... I can discuss that more if necessary.

When using Delaunay, the mesh starts with the surface size and grows at the growth rate toward the max size. There is no guarantee that it will reach the max size. It may have not reached the max size in the first case, so increasing the max size even further would not have made any difference.

It is possible to save more memory by running in batch... How big of a mesh are you trying to generate? On what hardware?


shohin July 29, 2010 13:03


thanks for your answer.

i generated a mesh w/o a surface mesh first using the octree method and ended up with ~22Mio elements. It was imported in fluent w/o error. But, a mesh check revealed 40 cells having only wall faces.
I will do mesh check and some smoothing if required in ICEM?

It would be very nice if you could comment a little bit on the method with the "spline curves thru faceted points" you talked about.

If you do not mind, i would ask two more questions: ;)

1) Consider i did not have the bocos defined already in the NASTRAN file and i would like to import the raw STL directly into ICEM. Since both the inlet and outlet are plane surfaces, is there an easy method to select them and throw them in a new part?

2) Since it seems that my memory is too low at the moment to do the calculations, how could i split up the mesh (lets say 2 or 3 parts) and prepare them for FLUENT?

Again, i really want to thank you, since your work here in this forum is exceptional and especially the newbies like me learn a lot!!

ps. i work on a dual-quad xeon workstation with 16GB RAM at the moment (will upgrade to 24GB in the next days :))

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