CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   [ICEM] Octree surface mesh smoothing (

siw July 2, 2010 01:57

[ICEM] Octree surface mesh smoothing

When an octree volume is generated (for example to model a wing flowfield) so that a good quality surface mesh is obtained (i.e. around a wing) is it better to smooth both the tetra and tri elements or just the tri elements? Knowing that once the surface mesh is of a good quality the octree volume mesh will be replaced with a Delauney mesh.


PSYMN July 2, 2010 09:45

Delete the volume mesh
I will often just delete the volume mesh (Edit Mesh => Delete Elements, then use the second last icon in the tool bar to select all the volume elements). Without the volume elements to slow down and restrict the smoother, it has much more freedom to improve the surface mesh. Also try the Laplace option in the smoother.


siw July 2, 2010 13:52

Thanks for the tip, Simon.

When you make these types of meshes which approach do you prefer for the Delaunay mesh?

1) Run the Delaunay mesh with a single prism element layer (equal to the height of all the required prisms) and once you've smoothed the Delaunay tetra elements split the single prism layer into the required amount?

2) Or do you make and smooth the Delaunay mesh and then insert the prism layer (then split it)?

My understanding (probably from reading other topics, but I can't recall specific ones) is not to smooth the prism layer as it will not be perpendicular to the surface.

PSYMN July 2, 2010 16:10

Delaunay, then Prism.
Inserting a prism layer often results in prisms with lower quality tops than bases. (due to stretching around corners) This can make it difficult to insert delaunay after prism generation.

Therefore, I usually generate delaunay first and then insert prisms. At least I know I will have a volume mesh at the end.

Also, I don't do the single layer thing... I like to take advantage of the way ICEM CFD floats the prism layer height to smooth the transitions between the last prism and first tetra. Other options, like prism fillet ratio, first layer orthogonality, etc. are also meaningless with a single layer.

I understand that prism is faster with just one layer, but it is also faster if you turn off all directional smoothing, etc. (not recommended either for complex geometry) Prism is able to give a better quality mesh if you allow it to generate more layers, that quality takes time.

That said, I will often compromise. For instance, instead of generating 21 layers, I may generate 3 layers and then split each into 7 and redistribute (or the other way round, generate 7 layers and split each into 3 and redistribute). If doing it this way, you should use the height limit factor (but set higher than normal).

siw July 4, 2010 03:56

Thanks again,

I've just thought of another question whilst making my current mesh that's sort of on the same lines.

I assigned some node spacing on some curves but not any surface element sizes and got a mesh (I assume that the surface elements were auto sized by ICEM from subdividing the global element). I then applied some element sizes to surfaces and got another mesh. However, the first one was better. So how can I delete the surface element parameters (and by extension those to curves)? As far as I can see once sizes have been set they can only be changes and not removed.

jsm July 5, 2010 06:29

Hi Simon,

sorry for disturbing the discussion. I have one clarification regarding prism generation. I read your reply in another thread (sorry, I forgot the thread title) explaining the following thing.

If the quality is worse for tetra with prism volume mesh, we can delete the tetra elements only. Then we can do the volume mesh generation once again for tetra elements.

Could you explain how to do this?

PSYMN July 5, 2010 19:40

You don't actually even need to delete the tetras and leave the prisms... You could just go to the Mesh tab and change the tetra/Mixed mesh type to Delaunay. It should default to the option of from "existing mesh", then compute mesh. It will automatically replace the current tetras, and grow new ones connected to the prisms. In this case, it actually uses the current mesh as the background mesh (a behind the scenes step in the delaunay algorithm), so it may be a little different (and a little faster) than if you did delete the mesh and it created its own background mesh.

But as I hinted earlier in this thread, if your inner prism surface has bad quality due to prisms being squished or stretched as it goes in or around tight bends, you may have some issues and the delaunay algorithm may fail... I always save my tetra/prism before this step in case the regeneration fails and I would rather just keep my octree mesh than start over.

One other note... If using 11.0 (or so), the TGrid method was not able to replace the Tetra and keep the prisms, but that is sorted out in 12.1.


jsm July 6, 2010 00:33

Hi Simon,

Great help!!! Thanks a lot:)

I tried for simple model with your suggestion. It is working fine for delaunay and advancing front algorithms. But in Tgrid 11.0, prism elements are replaced with tetra elements. I am using 64bit ICEM CFD 12.1 version.

Also I still have one clarification to disturb you:p. In volume mesh options, there is any difference between Tglib delaunay with AF & Tgrid 11.0 with AFT scheme option enabled. Unfortunately I could not find any help topics in help documentation.

PSYMN July 6, 2010 11:04

Use Delaunay with TGlib.
Yes, don't use the TGRID 11.0... I had to leave that in for ISO9000 reasons, but it is definitely not as good as Delaunay with TGlib...

We were able to remove it within procedures for 13.0, so it is gone now.


PSYMN July 6, 2010 11:47

Surface Sizes and Patch dependent meshing...
1 Attachment(s)
To SIW, sorry I missed your question before.

By default, the recursive loop algorithm used by the ICEM CFD Patch Dependent surface mesher starts with the curve sizes set on the loop boundaries... It doesn't consider surface sizes (it uses surfaces for projection in 3D), but it does consider global max size.

If you set sizes on the surfaces, they are normally ignored, unless you check box the "Adapt mesh interior" option under "Global Mesh Setup => Shell Meshing Parameters". When this is checked, the mesh will refine or coarsen as it moves away from the curves based on the surface size. (see images in the help for this option)

Attachment 4007

Since, it appears you have this on, you can simply turn it off.

Optionally, you can set any size to "0" to "unset it". You could therefore select all the surfaces and set their size to "0".

jsm July 6, 2010 23:52

Thanks for kind information.

jiejie August 9, 2012 02:13


I am meshing a four-blade propeller, I used 5 layers prism layers with tetra cells. However, those tetra cells with the transient between the last layer of prism layer and first a few tetra cells are always have high orthogls, low quality, which cause the simulation to be unstable. I just wonder whether there is any cure or technique I can apply with such a complex propeller geometry?

Thank you very much.


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