CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   [ICEM] Hexa mesh, curve mesh setup, bunching law (

Anorky December 15, 2009 09:44

Hexa mesh, curve mesh setup, bunching law
Hi everyone,

I am making a hybrid mesh. The boundary layer is resolved by a hexagonal mesh, the rest of the domain is filled with tetras.

My question concerns the setup of the hexagonal mesh.

I made scripts for making the geometry and blocking. These allow me to make changes in the geometry and automatically adapt the blocking.

Since my geomerty might change, think on a larger surface that is split in smaller surfaces for example, I would like to use the mesh curve setup instead of the edge parasm setting for making the hexa mesh.

This is because dividing a certain surface in several smaller surfaces would change the edge numbering of the blocking. This is because for each surface a block is made. So actually dividing a large surface in smaller surfaces will yield more blocks.
As a consequence the replay file used for setting the edge parasm would not be valid anymore because the refering edges numbers (as made for the case of the large surface) will not correspond to the actual blocking (if that large surface has been split in 5 smaller surfaces f.e). In other words, the parasm setting won't work or will probably be applied to the wrong egde.

My geometry is made in icem by use of script files. Therefore I know all the point, curve and surfaces names even when surfaces or curves would be split in several smaller surfaces. The scripts allow me to tell f.e. in how many sections a certain surface should be subdivided.

Therefore, in my case it would be better and more flexible to define the hexa mesh spacings, # of nodes, bunching law, etc. by use of curve mesh setup since all the curve names in the geometry are known.
This would allow me to make the script for the hexa mesh setup variable, depending on the "input" geometry.

I have tried curve mesh setup but it seems that I can only change the number of nodes and not the spacing.
I have tried several different bunching laws but without success.
In the end, the number of nodes are distributed uniformly...

I have read the post at however it's not clear for me what the problem is.

First of all is it possible to use curve mesh setup for the hexa blocking/premesh (and then convert to unstruct mesh)? Or does this only works for edge parasm setting?
If this is the case I gues there is no way around the changing edge numbering.

I know part mesh setup or surface mesh setup might be a valid alternative but I think for me curve mesh setup would be the best solution.

If I didn't explain the problem properly or something is not clear please don't hesitate to contact me!

Thanks for reading my post and trying to help me out!!!

Kind regards,

PSYMN December 17, 2009 17:12

"Curve -> Edge Bunching"
Under Premesh Params => Update sizes, there are 4 options.

The first, "Update all", just takes the general sizes.

But the last option, "Curve -> Edge Bunching" transfers the curve bunching to edge bunching.

However, I would say that it is much easier to setup edge bunching than curve bunching, so perhaps you should just leave the curve bunching alone and use your scripting to setup the edge bunching?

I am just speculating because I haven't seen the model, but if you are scripting the whole thing anyway, you may be able to get a better mesh (A pure hexa mesh) out of the regular hexa blocking instead of using MultiZone and ending up with a tetra region...

Anorky December 18, 2009 06:31

Hi Simon,

Thanks for your reply.

I had a look at the pre-mesh params and I only find 3 options there (update all, keep distributions, keep counts).
Could it be that the last option is only for icemcfd 12.0?
I am using version 11.

Would you know the replay command for this option, I might maybe use in the script files than?

Whether are not I'll use the curve mesh or edge parasm setup, I'll have a full hexagonal mesh solving my boundary layer and around my geometry, the remainder of the domain will be filled with tetras in a next stage to reduce the number of elements.

I supposed that using curve mesh or edge parasm setup wouldn't influence the quality of the hex mesh. I mean, if I use the same settings(distribution, nr of nodes, spacing, ratios,...) for curve bunching or edge parasm setting the resulting hex mesh should the same, right?

I find the edge parasm setting not really handy, since the numbering changes if the geometry changes. And I couldn't find logic in the numbering of the vertices composing the edges, that is why I really want to use the curve mesh setup.

kind regards and thanks again for your help!

PSYMN December 18, 2009 11:27

trail blazer
Oh wow, I didn't realize you were using that surface blocking method with ICEM CFD 11.0... Assuming you mean 11.0 SP2, that would still mean you were using a version from July 2007.

That was the first release of that new hexa surface blocking and it has had a lot of improvements since then, both in the direct tools and the peripheral tools that make it easier to work with. You really should try to update to 12.1 if you can.

I think the edge parameters are easier to use because they propagate correctly, etc. The curve parameters don't propagate at all and could end up being invalidated if you setup distributions that don't account for propagation. But yes, assuming you do curve parameters correctly, you would get the same results with edge parameters.

I think you are using this tool in a new way (trail blazer) that we haven't really played with here, so things are not as smooth as on the paved roads. Kudos for doing so well.

Most people keep the same topology when scripting with ICEM CFD Hexa. If it is just the side wall toplogy that is changing (edge associated features are not changing), you could just ignore all that with a script that generates a top down (patch independent) blocking topology.

mohammad November 12, 2014 01:27

Hello everyone...

can you please help me with my question...

All times are GMT -4. The time now is 13:01.