CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   how to deal with sharp trailing edges in icem (

joegi.geo May 12, 2010 04:20

how to deal with sharp trailing edges in icem

I am meshing a wing with a sharp trailing mesh (using unstructured meshes), but the quality of the mesh in the trailing edge is very poor (highly skewed elements), I wonder if there is a way to deal with sharp trailing edge.


PSYMN May 13, 2010 11:48

Unstructured Hexa? Unstructured Tetra/Prism?

2D? 3D?

PSYMN May 13, 2010 11:49

Check out the web...
If it is unstructured hexa, check out

joegi.geo May 13, 2010 11:52

Hi Simon,

It is unstructured tetra/prism. I will check the link.

Thanks a lot,


PSYMN May 13, 2010 15:07

Ok, so your issue is probably the trailing edge prisms?

So what do you want it to do? Do you want it to give you wrap around prisms whose internal angle approaches 180 degrees? Or do you want it to step down and avoid the wide angle prisms? Or you could extrude the trailing edge curve back into a surface and run the prisms along that for some distance behind the wing... (The answer to this depends on your solver requirements).

ICEM CFD Prism has many settings, perhaps this ppt will help...

If not, you will need to post a bit more info (like maybe an image of the cut plane thru the poor quality elements)

Sooner or later I will make a YouTube movie about dealing with sharp 3D wings...

joegi.geo May 13, 2010 16:01

Hi Simon,

Well basically I want to do something similar like in gambit (see figure 4), so I was wondering if there is an option to do that automatically in icem (and sorry for bringing down gambit into an icemcfd discussion).

In figure 1 and 2, you can see what I am actually getting and honestly speaking, I am not satisfy with the quality of the elements close the trailing edge. I already tried with several max prism angles and I still do not like the output.

I also take this opportunity to ask you a different question. Take a look at figure 3. I wonder if there is a way to enforce the mesh on the left side to be identical to the mesh on the right side (so I can impose later on the solver a periodic condition). I also wanted to know, if there is a way to make the tetra mesh grow uniformly, as you can see in this figure, close to the wing the mesh does not grow uniformly respect to the spanwise direction. In gambit I can control this by setting a fixed side function (again, sorry for comparing with gambit), how can I do something similar in icemcfd?



joegi.geo May 13, 2010 16:06

4 Attachment(s)
the missing attachment

PSYMN May 14, 2010 08:39

Sure... No problem.
To setup periodicity, you can go to the Mesh Tab, first ICON (global Params) and then into the Global Prism Params. You can set up for translational or rotational periodicity. In ICEM CFD you just need to set the offset, you don't need to pic the actual periodic surfaces.

We have a number of ways to get something similar to the last image... You could use MultiZone which would give you a pure Hexa boundary layer and probably sweep between the periodic walls. You could use the geometry tools and extrude the trailing edge back from the curve and just grow prism on it like normal. If this wing is really just 2.5D (2D Extruded), then you could also use extrude to get a swept mesh...


joegi.geo May 14, 2010 14:10

Hi Simon,

Ok, I managed to setup the periodicity and I get a very nice tetra mesh, but when I add the prism layer, the mesh is not periodic anymore. Suggestions?


PSYMN May 14, 2010 15:07

Periodic Prism...
Prism should also be periodic... Not sure what has gone wrong...

Does it not look periodic or is it just failing the check? The check fails if the parts are not periodic and I have seen it think a mesh was not periodic simply because of the part names of a curve segment...

Maybe send me the file and I will run it.


PSYMN May 14, 2010 15:19

3 Attachment(s)
I had confused your email with another asking me to Hex mesh a wing... So I got your model and quickly hexa meshed it... (I should ask people to include a link to the thread when they email me)

It just takes 3 splits (2 horizontal and 1 vertical) followed by an ogrid thru 1 block with 3 faces... (C-Grid really).

Attachment 3332

Then I split for the trailing edge and collapse the trailing edge block.

Attachment 3333

I then split the front face to associate it with the wiggle front edge, did the rest of my associations, made it periodic, setup sizes, etc. <10 minutes total.

Attachment 3334

Since it is in ICEM CFD Hexa, you can go back into the file and adjust the distribution as necessary.

Do you still want to use tetra prism for this model? if so, I can look into that periodic prism issue.

joegi.geo May 14, 2010 18:45

Yes, an hexa mesh is a better mesh, but the problem is that I was specifically asked to generated an unstructured mesh.

Regarding to the periodic issue, the check does not fail (at least icem manage to generate a mesh), but the faces do not seem to be periodic at all by visually inspecting them (specially the prismatic layer).


Brian_P May 16, 2010 12:09

2 Attachment(s) am so excited I finally have a nice 3D cgrid. Only problem is no surface mesh on wing. If I try to split in other ways I get mixed surfaces?


PSYMN May 16, 2010 14:39

To Joel...

Unstructured just means the way the mesh is stored... In the old days, there were many solvers that only handled "structured" meshes which was a very structured way of storing the mesh data and happened to require hexa. Unstructured just means that you store the data as node locations and the elements that contain those nodes. It can be any mesh type. Early versions of CFX and Fluent supported Structured mesh, but the more recent versions have been "unstructured solvers"...

In ICEM CFD you can output a Hexa mesh as Structured or Unstructured. There is no real reason to specify an unstructured tetra/prism mesh when an unstructured hexa mesh would be easier to generate and produce a much better quality result... However, during the next work week, I will still look into your translational periodicity issue with prism.


PSYMN May 16, 2010 14:45


I am glad you were able to follow those rough instructions. It is important to take smaller steps like this before tacking your final model.

The step I forgot to mention was to delete the wedge block (or at least put it into a different volume material).

Since the wedge is currently the same material as the rest of the blocking, ICEM CFD interprets it as all one volume and the default surface projection between blocks is "none". You can mess with individual face associations, but it is easiest to just delete that wedge block (not permanently, which really just moves it to the VORFN part). Alternatively, if you wanted to look at heat transfer or something that required keeping that wedge mesh, you could just create a new part (SOLID) and add the blocking material to that part.

ICEM CFD would then assume that you wanted boundary elements at the borders of the fluid volume and you would see your airfoil surface.

Best regards,


Brian_P May 17, 2010 13:42

2 Attachment(s)
I still have few problems to deal with. I made another split for the wing and I have a surface boundary spilling over to another surface, see attached. Then I have these low quality elements, which I dont understand or can't fix. For some reason the edge which comes off the trailing has bad surface elements?? Doesnt show well in pic but it is noticealby thicker. Sorry for not having figured out to resize pics yet.



PSYMN May 18, 2010 10:18

4 Attachment(s)

I tested on this and other models and Prism came out periodic every time... So, not sure what the problem was on your end.

In these pics, I have clicked on the "Z" in the triad (same as "Shift Z" or "view => front") and I am showing all the surface elements... The periodic faces are completely lined up so you can't even see the back face (is this the kind of visual inspection you did?). I also ran the periodic checks and they turned out fine also.

Attachment 3404

Attachment 3405

Looking at your model, I see you set up sizes on curves instead of surfaces. You also didn't take the opportunity for curvature and proximity sizing (like the gambit size function) or the feature to let the prism height float for better transition.

This first image is just changing the "Height limit factor" to 0.7...

Attachment 3406

But this next picture is with all my own settings...

Attachment 3407

I have removed all the curve settings, set coarse sizes on surfaces and set proximity and curvature refinement with a min size limit of 0.01 and a refinement of 16 (goal of 16 elements in 360) I also added a trailing edge surface all the way back to the far field. You need to set this up as an internal wall (under params by parts) so you get shells to grow prisms on, but then you need to delete those shells before sending to the solver (or put an internal boco on them). I also removed all your initial height settings so that the prism heights could float to give a smoother volume transition between the prisms and the tetras.

Again, the final model was totally periodic

PSYMN May 18, 2010 10:25

Tet 2 Hex
2 Attachment(s)

One more step...

The last model shown in the previous post had 863K tetras.

I ran the tet to hex conversion (12 to 1) and reduced that to 304K tetras (and 40k hexas).

This has been shown to reduce convergence time by 50% for ducted flow. I don't know of a formal study on wings, but it should help here also.

Attachment 3408

Attachment 3409

Note that fewer size transitions would mean a higher percentage conversion... Also note that you can use density boxes to control where those size transitions take place. Here, I just went with defaults and didn't even create a density region for the wake... In reality, you may want to spend a bit more time in setup to get better mesh control. Also note, that I had to create prisms first. Prisms don't grow well into hybrid mesh because they can't move hexas/pyramids out of the way.

PSYMN May 18, 2010 11:33

Hey Brian...

Just going by the picture...

You have a curved far field, but an H-Grid blocking. Either get a box far field for use with this topology or you need to create one Big CGrid like I did for the 2D model. You could insert an Ogrid at this late stage (select all the blocks and face the flat sides), but it would be cleaner to start over.

Also, you associated the edges to the curves at the wing root (good), but you did not associate the edges at the wing tip (not good). This would likely result in poor quality as the surface projection tries to make it work.

the third poor quality area is the wedges in the fluid zone... There are a variety of other topology options that people often try if they must have a multi-block structured mesh and can't handle wedges, but if you can support wedges, they are your best bet. Just take a look at those elements and decide if they look bad. I am guessing that they just don't do well with the particular metric you are using, but are probably fine with the solver.

have fun.

PSYMN May 18, 2010 12:27

1 Attachment(s)

Your blocking should look more like this...

Attachment 3421

Note the CGrid out to the boundary (not an H Grid for the Far field and a CGrid around the airfoil for this model). In the end, it is pretty much exactly like my 2D example on except that you can align the blocking in Z and add an extra split across Z for the wing tip.

I associated all the edges with the airfoil (including at the tip).

I also opened up the airfoil wedge a bit on the opposite far field wall to slightly improve the wedge quality...

The blocking took just a few minutes, but you might spend a few more to get the distributions just right.


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