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

[ICEM] Using STL Data with ICEM CFD/AI-Environment

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By PSYMN

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 13, 2010, 14:13
Default Using STL Data with ICEM CFD/AI-Environment
  #1
New Member
 
Shawn Givler
Join Date: May 2009
Posts: 3
Rep Power: 16
Shawn Givler is on a distinguished road
I have about 2 years experience using ICEM CFD/AI-Environment on creating CFD tet-prism and tet-prism+hex core meshes for ANSYS CFX. In this experience I have always taken IGES or STEP geometry data, performed geometry repair, set up the mesh metrics, and generated surface/volume meshes via Octree/Delaunay method, performed mesh smoothing, and generated the prism mesh with resmoothing. I believe this is the standard methodology recommended to follow for generating CFD meshes for complex geometries.

My experience with STL is that it is what I would call a triangulated surface mesh of the geometry and contains no real geometry information. As a result, the standard process which includes “geometry repair-cleanup” is not applicable. As almost all STL meshes suffer very poor quality triangulation and can not be used to generate tet volume meshes (via Delaunay method for example) is there a method within ICEM that allows remeshing of the STL triangulation in preparation for tet-volume meshing? Can you describe what the “mesh > facets” option in ICEM is best used for? Is this an alternative? Is there an alternative methodology to handle volume meshing using “raw” STL data?

Thanks,
Shawn
Shawn Givler is offline   Reply With Quote

Old   January 14, 2010, 08:34
Default STL works well in ICEM CFD...
  #2
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
Hello Shawn,

Probably about 25% of our customers use faceted data or a combination of faceted data and CAD on a regular basis.

I usually bring in STL data as geometry, If it is closed then I can extract sharp features with build topology and run the Octree Tetra mesher. This mesher will walk over all the overlaps, bad triangles, etc. and give you a reasonable mesh. From there you can run Delaunay or whatever.

Other times I may get a model that has poor STL. These models may have large holes (Perhaps even just a partial scan), or perhaps the facets are over lapping so much that extracting the sharp features gives far too much data. There are a variety of faceted geometry repair tools that can be used to fix these problems. Some are very special, others are more like the mesh editing type options, except that they work on the facets instead of the elements. For instance, if an edge were not well defined, I could create a curve to define it better and then fit the edge to the curve. There are also commands to close holes or chop up the facets, etc.

The main hassle with these Faceted geometry tools is that they frequently require you to select the entity before editing it. If I am working with the routine commands, I very often just convert the facets to mesh and use the mesh editing tools instead (faster for lots of operations). So, for the above example with the poorly defined feature curves, I could convert the facets to mesh, then create a geometry curve or points to represent my feature, then associate and project the specific nodes to that point using the mesh editing commands. If a particular surface was to be flat, I could set the nodes on that feature to a specific Z value, I could merge away overlaps, etc. I could even use the element creation tool to build facets from the bottom up or use the mesh from edges command (with project to surface off) to close large holes.

In the end, I could delete my previous faceted geometry and convert the mesh to facets. Build in sharp features to get your curves and points (it is a pop-up option during the mesh to facets process).

It is likely that this STL mesh would still not be suitable for direct use by Delaunay, so setup your sizes and run Octree instead. This will give you a surface mesh you can use. Smooth the heck out of it with the Laplace smoother and then pass it to Delaunay.

There are/were some tutorials for this out there. I even made an advanced class a few years ago, but I lost the final ppt. I did find these pics though…


For instance, here is an imported faceted geometry made with an optical scanner…

[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image002.gif[/IMG]

With very little effort, I could use cut planes to trim off the ragged edges… [IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image004.gif[/IMG]

Next, I will want to make the circle hole rounder, clean up all the holes, close some holes, remove the bump feature that I didn’t want, etc.

Lets zoom in on a hole…
[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image006.gif[/IMG]

Using the Faceted Geometry Repair tool to close holes, I select an edge and flood fill select to get all the neighbors (hot key l)
[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image008.gif[/IMG]

Then, hit apply and the hole is filled.
[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image010.gif[/IMG]

To remove a feature, I select facets and delete them. In this case, I first selected them and moved them to a new part so you could see the color difference.

[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image011.jpg[/IMG]

Then I deleted the blue part.

[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image012.jpg[/IMG]

Then I use the first procedure to fill in the resulting hole…

[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image013.jpg[/IMG]


To make the needed holes smoother, I used the geometry creation tools to create a curves (mid point from three points, then a circle from that mid-point and two of the original points)…
[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image014.jpg[/IMG]

Then there is a tool to fit the faceted edges to the curves…
[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image015.jpg[/IMG]

When you hit apply, the data is repaired…

[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image016.jpg[/IMG]


Using these methods, I was able to quickly clean up the model. But these facets are still ugly (and in other models may even include long edge to edge facets), probably not the right mesh size and generally not suitable for direct volume meshing…


[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image018.gif[/IMG]

So I can create a surface mesh on this geometry… You can use the Patch dependent method as in this FEA example…



[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image020.gif[/IMG]
Or you could use the patch independent (Octree Tetra) method, as I did here. Sizes are set the same way, curves and points (extracted or created) still cause node association, etc. If your volume model still has a hole, just pick the option to keep the surface mesh. Then use the single edge diagnostic to find the holes and close them as a mesh editing step…
[IMG]file:///C:/DOCUME%7E1/sppereir/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image022.gif[/IMG]

Anyway, these repairs are not always needed. In the above example, I didn’t really refine the mesh enough to worry if the hole was a real circle or not, but if you need the tools, they are there.
PSYMN is offline   Reply With Quote

Old   January 14, 2010, 08:38
Default Pics.
  #3
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
Oh well, I thought the image thing might work... I guess it didn't. I will attach a few here. They show the intial state and then a couple fixes...
Attached Images
File Type: jpg Crash02.jpg (80.1 KB, 219 views)
File Type: gif CrashF03.gif (18.1 KB, 174 views)
File Type: gif CrashF04.gif (15.4 KB, 161 views)
File Type: jpg CrashF10.jpg (56.2 KB, 160 views)
File Type: jpg CrashF11.jpg (30.4 KB, 146 views)
PSYMN is offline   Reply With Quote

Old   January 14, 2010, 08:42
Default Pics 2
  #4
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
And here are a few more.

These show how to remove a feature and then close the hole. I did the unnecessary extra step of putting the feature into a new part...

The last pic is the final cleaned up stl.
Attached Images
File Type: jpg Crashf05.jpg (26.5 KB, 84 views)
File Type: jpg CrashF06.jpg (58.9 KB, 84 views)
File Type: jpg CrashF07.jpg (17.4 KB, 76 views)
File Type: jpg CrashF08.jpg (17.3 KB, 74 views)
File Type: jpg Crash03.jpg (86.4 KB, 85 views)
PSYMN is offline   Reply With Quote

Old   January 14, 2010, 08:55
Default Pics 3
  #5
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
And the last set...

The first is the above model meshed with patch dependent quad (it is an FEA example after all). The second is the same part meshed with Patch independent Octree Tetra.

The third is a before and after with a Porsche scan. This was actually a scan of a Toy Porsche

The last two were a before and after of a simple STL dragster. A far field box was created in ICEM CFD, Intersection curves were created between the parts, basic sizes were set, a material point was created and the octree mesh was computed. Pretty straight forward if the model is closed.
Attached Images
File Type: jpg Crash05.jpg (81.7 KB, 93 views)
File Type: jpg Crash08.jpg (89.1 KB, 82 views)
File Type: jpg ICEM_Porshe.jpg (98.7 KB, 117 views)
File Type: jpg Dragster_006.jpg (98.0 KB, 83 views)
File Type: jpg Dragster_008.jpg (98.1 KB, 82 views)
PSYMN is offline   Reply With Quote

Old   January 5, 2011, 08:01
Default Close holes in stl for a volume mesh
  #6
New Member
 
Join Date: Jan 2011
Posts: 2
Rep Power: 0
Sumi is on a distinguished road
Hi. I’m a newcomer in ICEM CFD and would use it to mesh a complicated stl geometry for a FEM analysis.
The geometry exhibits some holes in the surface which must be close.

When I close this holes with mesh triangulars (Mesh from Edges) or facete triangulars (Close faceted holes) and make a volume mesh afterwards the holes are not be closed (i.e. the volume mesh go throw the facete geometry - see picture below).

Can anybody help me how I can close the holes alternatively?
Attached Images
File Type: jpg pic3.jpg (104.4 KB, 116 views)
File Type: jpg pic3a.jpg (103.9 KB, 96 views)

Last edited by Sumi; January 7, 2011 at 09:45.
Sumi is offline   Reply With Quote

Old   January 8, 2011, 14:51
Default Leak...
  #7
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
Sorry, I can't really tell what you are showing me in your pictures, but if I just focus on "The mesh goes thru the geometry", that means there is still a hole.

In ICEM CFD, if there is a hole and the volume mesh leaks to both sides of a wall, the wall is assumed to be a mistake and is removed. This is great when you really have little extra bits of junk, but not if you wanted that wall.

There are two main ways I sort this out...

1) Go to Mesh tab => Params by parts and turn on the option for "internal wall" for the part in question. This way, even if you get the same volume on both sides, it won't delete the wall because it is just an internal wall. You can then find the holes with "single edges", close it and run flood fill again.

2) You can create a new material point or even an ORFN material point in that region that you think should be outside the model. When the mesh falls thru the leak and finds that material point, you will be notified and able to see where the leak happened... Then you can fix the leak, etc.

Best regards,

Simon
PSYMN is offline   Reply With Quote

Old   January 8, 2011, 14:53
Default Material Point Placement rather than real leakage?
  #8
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
There is a third possibility that we sometimes see... You may have put the material point on the surface... (it happens some times). A material point on the surface of the geometry can seed both sides of the geometry. It is not really a leak, but the flood fill happens on both sides of the wall.

Just make sure your material point is inside the intended volume.
PSYMN is offline   Reply With Quote

Old   January 9, 2011, 08:46
Default Leak filled
  #9
New Member
 
Join Date: Jan 2011
Posts: 2
Rep Power: 0
Sumi is on a distinguished road
Dear Simon,
thanks a lot for your reply. I currently used your first recommend way (toggle "internal wall" in "part mesh setup", find holes with "single edges", close it, run "flood fill" and make a volume mesh).
All the holes are closed in the volume mesh, i.e. no volume mesh goes thru the (adverse) geometry.

The solution of my problem was, I've not make a check mark by "internal wall" in "part mesh setup".

Best regard,

Pascal
Sumi is offline   Reply With Quote

Old   January 17, 2012, 05:27
Default
  #10
Member
 
Naimah
Join Date: Nov 2011
Posts: 58
Rep Power: 14
wanna88 is on a distinguished road
Hi,

Im a new beginner in ICEM CFD.
I have very "bad and raw" image of STL from CT scan.
Can someone help me (any tutorial/ or steps that can be followed) how to generate a mesh in this image in order to use it in Fluent analysis?

Thank you so much.
wanna88 is offline   Reply With Quote

Old   January 17, 2012, 09:00
Default
  #11
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
Wanna88,

If you can access the sales portal (you just need the customer number from your license file) you can download the "Aorta" tutorial that takes you thru the steps to mesh an Aorta scan taken of one of our ANSYS colleagues during a routine physical...

Best regards,

Simon
__________________
-----------------------------------------
Please help guide development at ANSYS by filling in these surveys

Public ANSYS ICEM CFD Users Survey

This second one is more general (Gambit, TGrid and ANSYS Meshing users welcome)...

CFD Online Users Survey
PSYMN is offline   Reply With Quote

Old   January 17, 2012, 20:08
Default
  #12
Member
 
Naimah
Join Date: Nov 2011
Posts: 58
Rep Power: 14
wanna88 is on a distinguished road
Hi,

Thank you so much for the info.
I have uploaded the tutorial. However, I cannot create the part.
My whole geometry come as one part. How I 'm going to create the inlet and outlet?
wanna88 is offline   Reply With Quote

Old   February 21, 2012, 10:41
Default
  #13
Senior Member
 
cdegroot's Avatar
 
Chris DeGroot
Join Date: Nov 2011
Location: Canada
Posts: 414
Rep Power: 17
cdegroot is on a distinguished road
Hi,

I just came across this thread because I am also working with some STL data coming from a CT scan. To create an inlet and outlet, you will need to create surfaces. For my geometry, I ended up creating surfaces that intersected my geometry at the location where I wanted my inlet. I then created a curve by intersecting the surfaces, used that curve to cut my STL surface, then deleted the unneeded part. Finally I used the curve to create a new surface representing my inlet. Depending on your geometry, you may be able to build topology to get the necessary curves, but mine wasn't clean enough, so I had to use the procedure above. Hope it helps.

Chris
cdegroot is offline   Reply With Quote

Old   August 19, 2013, 13:51
Default the same problem
  #14
Member
 
Ali Sarami
Join Date: Jun 2010
Posts: 34
Rep Power: 15
a.sarami is on a distinguished road
I have also the same problem. I have STL surface mesh from MRI with one input and one output. The mesh is only on the surface. I read the Aorta example and tried to add two inlet and outlet parts, but to no avail. I cannot select inlet and outlet parts because there is actually no surface there, they are only two holes!
would you please help me how to get the volumetric mesh out of this surface and assign BCs on inlet and outlet?
Thanks
Ali
a.sarami is offline   Reply With Quote

Old   August 21, 2013, 10:42
Default
  #15
Senior Member
 
cdegroot's Avatar
 
Chris DeGroot
Join Date: Nov 2011
Location: Canada
Posts: 414
Rep Power: 17
cdegroot is on a distinguished road
It has been a while since I worked on this project, but I will try to help. You are going to need to create surfaces for the inlet and outlet if you are to create a volume mesh. I would try to "Build Topology" which should pick up the edges of the surface and create curves there. It probably will be a number of curves that you will have to merge in order to create curves representing the perimeters of the inlet and outlet surfaces. From there, you can create surfaces for the inlet and outlet using their bounding curves using one of the tools that create surfaces.
cdegroot is offline   Reply With Quote

Old   August 21, 2013, 11:39
Default
  #16
Member
 
Ali Sarami
Join Date: Jun 2010
Posts: 34
Rep Power: 15
a.sarami is on a distinguished road
Quote:
Originally Posted by cdegroot View Post
It has been a while since I worked on this project, but I will try to help. You are going to need to create surfaces for the inlet and outlet if you are to create a volume mesh. I would try to "Build Topology" which should pick up the edges of the surface and create curves there. It probably will be a number of curves that you will have to merge in order to create curves representing the perimeters of the inlet and outlet surfaces. From there, you can create surfaces for the inlet and outlet using their bounding curves using one of the tools that create surfaces.
Thank you very much. And After I made Inlet and Outlet, How to create the volume mesh on the inner fluid zone? I computed the volume mesh but cutting the plane I noticed that only surface is meshed and the inner part of the shell is empty, there is no solid body there, just an empty shell.
Do you know how to generate solid body from an empty shell?
a.sarami is offline   Reply With Quote

Old   August 26, 2013, 11:50
Default
  #17
Senior Member
 
PSYMN's Avatar
 
Simon Pereira
Join Date: Mar 2009
Location: Ann Arbor, MI
Posts: 2,663
Blog Entries: 1
Rep Power: 47
PSYMN has a spectacular aura aboutPSYMN has a spectacular aura about
You may just need to learn how to display volume mesh...

Check the mesh branch of the model tree... Is the volume mesh turned on? Is the volume part turned on?

Click on mesh info... Does it say you have any tetra elements?
cdegroot likes this.
__________________
-----------------------------------------
Please help guide development at ANSYS by filling in these surveys

Public ANSYS ICEM CFD Users Survey

This second one is more general (Gambit, TGrid and ANSYS Meshing users welcome)...

CFD Online Users Survey
PSYMN is offline   Reply With Quote

Old   May 28, 2015, 15:05
Default
  #18
New Member
 
Join Date: May 2015
Posts: 4
Rep Power: 10
Sipher is on a distinguished road
Hi all
I just started learning ICEM and I want to use it to generate a mesh for a STL file of an airway tree from CT images, which will then be imported to Fluent for CFD analysis. I read and followed every step in the tutorial above of meshing an aorta (http://www-afs.secure-endpoints.com/...orta/aorta.pdf), and reproduced the same results. However my complaint is that it doesn't explain anything regarding why each step is needed and what goal should be achieved. At the end when I started looking at my own geometry file I still feel I lack enough knowledge to make correct judgements. For example:
1. on p128 why do I need to extract the feature curves from the inlet and outlet surfaces? How is this going to affect the meshing result?
2. how does a material point work? I guess the software is using some algorithm to differentiate what is inside and outside? Do I need to make sure my STL file is completely watertight if I want to do the same on my own geometry data?
3. before meshing, do I need to do anything to improve the smoothness of the STL file? Sometimes they can be very ugly when converted from CT images.
4. why does everyone prefer generating a Octree mesh before Delauney? The same thing happened here: http://www.cfd-online.com/Forums/ans...imulation.html and here http://www.cfd-online.com/Forums/ans...-icem-cfd.html. Is this a general routine in this field?
I can keep going on but perhaps I should first stop here. If there are any better learning materials for ICEM I would appreciate it if you can share them with me. Thanks in advance.
Sipher is offline   Reply With Quote

Old   March 11, 2019, 13:03
Default
  #19
New Member
 
Bipin Tiwari
Join Date: Dec 2018
Posts: 6
Rep Power: 7
bipin2950 is on a distinguished road
Did you find all the answers to your question especially how to improve STL file before doing the mesh for better results
bipin2950 is offline   Reply With Quote

Reply

Tags
stl mesh facets remesh


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
icem cfd ai environment 11.0, laptop keyboard problem, linux pertupd Hardware 3 October 3, 2011 08:27
Importing curve from formatted data file in ICEM ? Vince CFX 1 April 4, 2007 08:26
editing STL file in ICEM CFD shaan Main CFD Forum 1 January 22, 2007 08:34
Create STL from ICEM CFD? Michael B CFX 0 November 2, 2006 08:35
How to update polyPatchbs localPoints liu OpenFOAM Running, Solving & CFD 6 December 30, 2005 17:27


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