CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   [ICEM] Hexa dominant meshing (

Pat84 May 14, 2011 10:38

Hexa dominant meshing
2 Attachment(s)

Im trying to mesh one section of my geometry hexa dominant and the other, more complex section by blocking. I have tried it like the way described in the "hybrid tube" tutorial, but when I select hexa dominant, the whole geometry will be meshed, including the part I would like to mesh by blocking. With tetra/mixed the meshing of one geometry part (the part with the material point) is possible. Why its not possible to do the same with the hexa dominant meshing? Or did I something wrong?

I have attached two picture to show you what I mean. I would like to only mesh the left part with hexa dominant, but that is only possible with tetra/mixed. With hexa dominant the whole geometry is meshed.

PSYMN May 15, 2011 20:28

Hex Dominant doesn't really play well with the other methods. You will also have a hard time when you try to merge it with the Hexa method, so you will need to do things in the right order...

Hex Dominant is also really more of an FEA method. It starts from the quad surface mesh and grows into the middle. If you don't have a quad surface mesh, it surface meshes everything first and then starts. It doesn't do the material point flood fill that the octree tetra mesher does. It could give perfect hexa on this simple case, but I am guessing yours is more complicated and you may not like all the junk pyramids and tetras in the middle.

If you are sure you want to go with this mesher, you should probably go the other way around... Do the Hexa blocking side first... Then save that mesh. Then delete all the mesh except the faces that touch the portion you want to hexa dominant mesh... (this will be the seeded surfaces).

Then surface mesh the rest of the region you want to hexa mesh (you can actually select the surfaces to mesh), make sure to turn on the option to "respect line elements" since this will let your new surface mesh connect properly to your previous surface mesh...

Run the Hexa Dominant mesher from the existing mesh... Save that mesh file.

Then load the Blocked Hexa mesh... It will ask if you want to replace or merge, choose merge to concatenate the files... Since the interface mesh came from the hexa blocking mesh, it will be exactly aligned, but you still need to merge the nodes. Use Edit mesh => Merge Nodes => Tolerance. Set the tolerance to something very small (like 0.0001) and apply.

Then you can delete that interface surface mesh since you won't need it any more...

Save the combined mesh and output to your solver.

Have fun with it.

PSYMN May 15, 2011 20:31

1 Attachment(s)
Oh yea, I told you how to do it with Hexa Dominant, but if I were doing it, I might use Octree Tetra, do the merge like normal and then covert tet to hex using the 12 to 1 option...

Pat84 May 16, 2011 08:13

1 Attachment(s)
Thank you Simon!

You are right, in my real case I have a cake slice of a combustor geometry. The burner works in supersonic area, while the rest of the very large domain only represents the test combustion chamber with the low speed and axisymmetric recirculation zone. The problem here is, that the supersonic burner needs a very fine mesh, while the rest of the axisymmetric recirculation zone needs a much coarser grid to reduce the computational effort. The best case would be a thickness of one cell in the axisymmetric region. The porblem is the change from the fine grid of the burner to the as coarse as possible grid of the recirculation zone. I thought creating a hexa dominamt grid would be the best way, but maybe it is not the case, because the complex burner mesh should not be changed.

I have attached a example. The Y-Grid represents my fine burner grid. It should not be changed. A tetra grid in the higher region is easy to merge and convert to hexa, but it does not meet my requirements of one cell thickness and a hexa only grid.

I need a procedure to create that grid. Maybe two blocked grids with an adaption zone? If it is necessary, this section could be arranged with a tetra and hexa mixed grid

Pat84 May 18, 2011 11:22

Sorry, but the problem is still unsolved ;)


PSYMN May 18, 2011 12:12

There is a tutorial that meshes two ends of a pipe with Hexa and then meshes the middle (between the Hexa regions) with tetra. Then everything is merged...

However, perhaps you would prefer a 2D solution that is swept?

Sheyko December 21, 2011 23:17


Originally Posted by PSYMN (Post 307718)
Oh yea, I told you how to do it with Hexa Dominant, but if I were doing it, I might use Octree Tetra, do the merge like normal and then covert tet to hex using the 12 to 1 option...

The hexa-dominant give the better result (with the same elements types - less nodes&elements quantity), however the mesh quality is poor. How could it be really improved?

PSYMN December 22, 2011 13:13

3 Attachment(s)
Hexa Dominant was never intended for CFD. It puts good isotropic hexas near the walls, but can leave you with low quality junk in the middle. The isotropic Hexas near the wall are not much good for capturing the boundary layer unless you go very very fine, and then you are way over meshing your volume.

This is why I recommended Octree Tetra with prism followed by a conversion from Tetra to Hexa.

Attachment 10536

Attachment 10535

For comparison, I also included a pure Hexa, but this does have a bit of a learning curve.

Attachment 10537

Sheyko December 22, 2011 13:50

So Simon, do you think?
to mesh the 3D air around the hexa topology mesh - the best way to use:
1) Robust (octree) (no prism and no hexa-core) based on adjusted surface existing mesh parts;
2) Save tetra and Load it into hexahedral;
3) Merge volume meshes with frosen hexa mesh;
4) Convert12 tetra to 1 hexa.

PSYMN December 22, 2011 14:46

Yes, that should work (you don't need to freeze the hexa family, only freeze if you are merging two tetra volumes). But it will be tricky to get the prisms in (it is an awkward process that we are working to improve for the next release, 14.5)

Sheyko December 22, 2011 15:07

In my case It merges, however at first the quality of tetras is poor:
Histogram of Quality values
0.950000598055 -> 1.0 : 328 (0.429%)
0.90000119611 -> 0.950000598055 : 2500 (3.272%)
0.850001794165 -> 0.90000119611 : 1867 (2.443%)
0.80000239222 -> 0.850001794165 : 2202 (2.882%)
0.750002990275 -> 0.80000239222 : 2889 (3.781%)
0.70000358833 -> 0.750002990275 : 3398 (4.447%)
0.650004186385 -> 0.70000358833 : 4342 (5.682%)
0.60000478444 -> 0.650004186385 : 4756 (6.224%)
0.550005382495 -> 0.60000478444 : 6226 (8.147%)
0.50000598055 -> 0.550005382495 : 5813 (7.607%)
0.450006578605 -> 0.50000598055 : 5286 (6.917%)
0.40000717666 -> 0.450006578605 : 4429 (5.796%)
0.350007774715 -> 0.40000717666 : 4122 (5.394%)
0.30000837277 -> 0.350007774715 : 3649 (4.775%)
0.250008970825 -> 0.30000837277 : 3495 (4.574%)
0.20000956888 -> 0.250008970825 : 3307 (4.328%)
0.150010166935 -> 0.20000956888 : 3827 (5.008%)
0.10001076499 -> 0.150010166935 : 4030 (5.274%)
0.050011363045 -> 0.10001076499 : 4585 (6.000%)
1.19611e-005 -> 0.050011363045 : 5366 (7.022%)

and I can not improve it by smooth elements globaly tool:(

Sheyko December 22, 2011 15:14

by the way. I've observed that the mesher sometimes change the base surface mesh. So it will be helpfull to lock surface nodes before tetra octree meshing.

Sheyko December 22, 2011 20:24

or possible there is any way to build cartesian mesh based on the surface mesh or adjusted blocks?

PSYMN December 23, 2011 16:42

Sorry, you have lost me. Not sure what you are talking about now. Maybe a picture to illustrate.

Poor quality tetras after a merge with very thin hexas should be expected. The high aspect ratio bases of the tetra/pyramids are set by the very thin quad faces.

Sheyko December 26, 2011 14:27

So, there is a transformer and the air around it.
The coils, stator, gaps are blocks.
How better to mesh the air?

Project source:

PSYMN January 3, 2012 15:38

Oh I see. If I were going to start with assuming the solid bits were hexa meshed, then I would probably just mesh the surrounding area with Tetra. Then Merge hexa and Tetra. Prism will be more of a hassle.

But if I didn't have any constrictions, I would just mesh the whole thing with Hexa. The trick for a model like this that appears difficult at first, is to imagine that the curved portions wrap all the way around. Not just on the two sides...

In other words, imagine it as a torus rather than two lines.

If I have a chance, I will block it quickly for you. Should be a quick job.

PSYMN January 3, 2012 16:41

Hands on help...
Here is my 15 minute version... It took longer than expected because of all the tedious vertex alignment, but it is worth alignment to keep things nice and tidy.

I have attached the blocking file and a replay file so you can see what I did step by step. I would suggest you put the surfaces of the coils and Stator into their parts. Since you didn't, this is all just blue.

I meshed the solid and fluid volumes all at once. It would be easy to go back and refine the region between the coils and the stator... I guess I should have started my OGrid with a split near the outside so that I could have a nice boundary layer around the coils... Or I could do that as a final step (just put an Ogrid thru the whole fluid volume with faces on the box boundaries...)

Anyway, with only a few minutes, I didnt assign all the edges and I only used the default mesh sizing, but I hope it is enough to get you started.

Have Fun.


PSYMN January 3, 2012 16:44

3 Attachment(s)
Oops, I sent it off before hooking up the attachments...

Here are the pics.

First the surface mesh (all is blue because you had it all in one part)
Attachment 10666

Second, a cross section cut thru the coils... All the mesh distribution could be adjusted as required and it is easy to add a boundary layer on the fluid side if you wanted that.
Attachment 10667

Have fun.

Sheyko January 3, 2012 18:34

Thank you very much,
It is the simple model, in reality it is needed to mesh the electrical engine, and as the hexa mesh gives in ~8 times less elements as tetra for coupled analyze it is critical.
The idea to block and mesh by hexa the body (stator, rotor, coils etc.) and then mesh the air by hexadominant or tetra with merging algorithm fell down as didn't give me any solution improvements. So, many types of element and complexity to manage and fix them did’t give me the convergence.
By the attempts to create the whole model from one block splitting, on 80% of blocking I've got entirely entangled. It was happened as when I move the vertexes and edges by association the mesh in air become catastrophically worse.

Today, my Idea to make the blocking model of different parts of the model and then grow the connection (block->extrude face) to make the air.

Relatively your blocking strategy, as I could see.
1) You always split all blocks ( without selection);
2) You build the splitting the blocks based on the prescribed points with distribution to edges and vertices, to make the minimum association in the future;
Is it true and can you give any additional advice to blocking strategy?

All times are GMT -4. The time now is 20:35.