CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   varying curve mesh spacing at icem surface-mesh? (

mirko_r January 13, 2010 14:45

varying curve mesh spacing at icem surface-mesh?
1 Attachment(s)
Hello ICEM users,

I have a question concerning the generation of surface meshes.

If there are some parts A with very dense meshes (e.g. small surface mesh size)
next to curves of parts B with large surface mesh sizes there is no option available
to tell the mesher to adjust the curve-mesh-size of part B only in these regions
near A.

Maybe the attached picture is more explanatory than this text.

There are 2 possibilities I can imagine but both of them are not very practical:

1) One could set the curve mesh size on the whole outer diameter curve to the
small spacing of the inner parts an then Adapt the interior of the outer part to a
larger size which is still increasing the overall size dramatically.

2) Or one could set a custom spacing distribution for the outer curve with densities
in the regions near the inner parts which would be difficult to keep similar for all of
these problem regions.

It would be much easier if one could tell the mesher to adapt curve mesh sizes to
the needs of the surface mesh (for example to satisfy surface tetra growth ratio).

Maybe I miss a parameter which is doing that or maybe I could do it later after
the surface mesh generation by partial refinement?

Any hint on this topic would be very much appreciated.


rwryne January 13, 2010 15:03

If I understand your question right, I think the option you are looking for is the tetra size ratio and the tetra width options within the Part Mesh Setup window.

Try setting Part A's tetra width to a value of 2 or 3 (2 or 3 layers of growth) and its tetra size ratio 1.2-1.5 (the grow ratio)

mirko_r January 14, 2010 07:52

1 Attachment(s)
Hello rwryne
thanks for the fast reply.

Unfortunately your hint did not work out on this problem.
I set "tetra size ratio" and the "tetra width" before and that had no effect.

For better understanding of the Problem I attached another picture of the resulting
curve mesh which is used unchanged to calculate the surface mesh. You can see
there is insufficient space between the curve with the large spacing and the one
with small spacing.

For a good surface mesh the curve mesh has to be adjusted on the curve with the
large spacing (because increasing spacing on the other one is not feasible)

I hope I expressed myself more clearly now.


PSYMN January 14, 2010 10:13

Patch dependent vs patch independent.
You are using the patch dependent mesher.

This mesher uses the curve sizes explicitly as set. This is more commonly appreciated by FEA users. You can bias the sizes, etc. but it is a bit awkward to size one curve based on a near by curve, especially in this situation.

The ANSYS Meshing tool does this much better by using a Gambit like sizing function that works at the surface level to set the curve sizes while taking the nearby curves into account. If you have ICEM CFD Tetra, your license will allow you to try out ANSYS Meshing (versions 12.0 or 12.1.)

Meanwhile, in ICEM CFD, If you instead switched to the patch independent mesher (OCTREE) you would be able to use the sizing function in ICEM CFD, along with the Tetra size ratio, etc. to better create a CFD mesh that would transition between these very different sizes in near proximity. This is what Ryryne is using.

mirko_r January 14, 2010 13:41

Yes I'm using the patch dependent mesher because I dont like the stairsteps in
meshdensity created by octree so much.

What you just said is what i expected so I will maybe try it with ansys meshing.
But what about prism layers then? I never used the ansys grid generation before.

If I find a good solution I'll post it here.


PSYMN January 14, 2010 14:21

Replace the Octree volume mesh with a delaunay fill...
What you may not realize is that behind the scenes, Gambit always did an Octree (Cartesian subdivisions with one block subdivided into 8 = Octree), but Gambit would just use this for the background grid and give you a Delaunay tetra mesh as a final result.

You can get the same thing with ICEM CFD You could even setup your defaults to get it with one step.

The normal two step way is to compute Octree Tetra, then delete the volume mesh (use Edit mesh => Delete elements => and use the last icon in the tool bar to select all the volume elements). Then smooth with Laplace to get the best transitions. If you want you can do all sorts of surface mesh editing in here to get just what you want. Then use Tetra => Delaunay to generate a nice new tetra mesh. You could even use the TGLib option with AF, this is TGrid tech, the decendent of what you had in Gambit. Then smooth the Tetra mesh at the end, run your checks, etc...

To do the mesh generation all in one step, you must first go to the global settings and set the surface mesh method to Patch independent as a default. Then when you go to compute mesh you can go directly to Delaunay. It will realize that it doesnt have a surface mesh and use the default surface mesh method to generate the Octree surface mesh with your sizing function and then automatically fill with Delaunay. You could also check the options to get Prism and Hexa core out of the same click.

The reason people often do the two step way is they may have a complicated model and want to edit the surface mesh before growing the volume mesh... The two step process offers flexibility.

But trying ANSYS Meshing may also be fun

PSYMN January 14, 2010 14:23

One clarification, Gambit did its octree process only when the sizing function was used...

You can get a hint of this if you use the tool to visualize the sizing function.

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