Database Full Index

4. Hexa

[ top ] [ previous ] [ next ]

 


4.1. I get negative volumes when I load the mesh in the solver

You have to clear atleast the first bar in Meshing > Quality check > Determinant histogram to ensure all positive volume elements.

If the elements seem to be perfect but still the diagnostics shows bad elements then the problem could be of inverted block. To remove these bad elements, click on Meshing > Invert block > Inverted




[ top ]


 

4.2. How do I define periodicity?

You first need to define the periodicity in the geometry inside MED. If you have not done that yet, please do that first.

Once you are done with that, you have to define the topological nodes (vertices) as periodic inside Hexa. To do this, go to "Blocking > Periodic nodes > Make nodes Periodic" and then select the relevant pair of vertices lying on two periodic planes. Now onwards, when-ever you move one of these vertices the pair-up vertex would move automatically.

You can check for the existing periodicity of vertices by switching ON/OFF the display for Vertices > Opts > Periodic in the right-hand-side Display panel.

You can remove the ill-defined periodicities by visiting "Blocking > Periodic nodes > Make nodes not Periodic".




[ top ]


 

4.3. How do I run hexa in batch from command line?

Let' say that you have a project name called "test", tetin file called "test/tetin1" and the replay file called "test/replay.hxa", then If the files do not lie inside the directory or are not in default locations, you can give the full path for them.




[ top ]


 

4.4. Why can't I merge two faces even though they share the same material?

When you merge two faces, what you are in essense doing is merging the two blocks above and below these two faces. If the two blocks above and/or below can not be merged, the merge face command will not work.

There could be following possible reasons, why two blocks can not be merged:

Try to limit the index control to the faces you want to merge, and then turn on all materials, and then try to merge the faces. If this does not work, increase the index control one level up and down from the faces you want to merge. If nothing else, this should point out what may be the problem.

Sometimes you might have to extend a split in another direction if you want the faces merged -if you are merging blocks that would create an L, this is a violation as indicated above (can't merge an "i" and "j" index).




[ top ]


 

4.5. Why does my mesh project to the wrong surface?

In Hexa, white edges and vertices try to get projected to the nearest surfaces which may or may not be desirable. You should first pull out the surfaces on which projection is not taking place, to different families. Then, you can do one of following:




[ top ]


 

4.6. Why does my edge go to the wrong location even though I projected it to a right curve?

You probably have a huge curve (or you have grouped some curves), thus the nodes on the edge are going to the nearest location onto the curve which may not be the correct location. You can do "split edge - single" to force the edge to go along a defined direction.

There could be another reason for this if you see a completely crazy projections. Check out if your curve names start with numerals (or other than alphabets) under "Display > Curve > Show names". If it does, then it confuses "Edge->curve" associations. You should rename such curves in Med under "Curve > Modify" so that they start with alphabets.




[ top ]


 

4.7. Why doesn't my mesh go to true B-spline surface? I do not want to use the approximation of tri-tolerance!

Inside Hexa, goto "Meshing > Meshing options" and switch on the button "Project to Bsplines" to project the mesh to the true B-spline surface. This way it will not use the approximated triangulation of the geometry.

You can use it also to work in a faster way inside Hexa as Hexa is normally dependent on the tri-tolerance. So, you can increase the tri-tolerance heavily for a big part, work on HEXA topology and while meshing can switch on this option to get true mesh.




[ top ]


 

4.8. Why does the O-grid get created outside the blocks?

The reason for O-grid being created outside the selected blocks are :




[ top ]


 

4.9. I have a Plot3D mesh. I want to modify it, I have the geometry. But I don't want to redo the blocking. How do I do that?

Let's say you have a Plot3D mesh called "xyz.fmt".

MED:

HEXA







[ top ]


 

4.10. I get a decent mesh when I have the first cell height of 0.01 in my model. However, I start getting lot of negative cells when I reduce it to 0.0001. What is going on?

This is probably happening because your model has the gaps of 1e-4 order. Whenever the model has gaps of the order of the cell height, you will end up with skewed meshes.

You should do following to get away with this:







[ top ]


 

4.11. I write "hex.uns" mesh from HEXA and I get lot of missing face errors as well as uncovered faces in MED. Why?

You probably have, by all possible means, 7 noded blocks in HEXA.

The unstruct hex mesh writer in HEXA cannot handle the corner where you have 7 noded elements sitting. So, when it writes the mesh, it does not write these elements in the mesh. This gives hole in the mesh, resulting in missing faces and uncovered faces etc..

BTW: You might also get some bad determinants reporting for those corner elements inside HEXA while they may actually look good.

Hexa, MED and at times most of the unstructured solvers cannot handle the 7 noded elements. There is a work-around to deal with this:







[ top ]


 

4.12. I have complex blocking and Hexa takes a lot of time to do splitting. Why is that and how do I stop that?

This is probably due to the big scratch files that HEXA needs to do Undo and Redo. You can stop Undo operations by typing "undo stop" in the lower Hexa messages window. However, that is risky as you can guess. Also, at this stage, to start Undo operations back, you will have to quit and then come back again.




[ top ]


 

4.13. My Hexa blocking gives enormous error/warning messages which keep scrolling for several minutes. How do I stop that?

In ICEM CFD version 4.2.2, this feature has been added. If you are running HEXA in batch mode, you should run it with command-line option "-do_not_print_errors". If you are running it in GUI mode, you can switch off the error messages by typing "error_messages off" in the HEXA messages window. You can turn it ON by typing "error_messages on".




[ top ]


 

4.14. How do I reduce number of blocks in HEXA? They become enormous and it's difficult to handle that many for my multi-block solver. Is there any way to “optimise” them?

You would use something called "Output blocks" feature in ICEM CFD. Just create the topology in the geometry the way you want without ever bothering for the number of blocks. Once you have the topology and the final mesh ready do following inside HEXA:

This will reduce the number of blocks as much as possible for your mesh without changing anything in the mesh. Write out the multiblock mesh to save the reduced number of blocks.

The key to remember is to do this operation when everything is ready. This does not change anything in your original topology and you can go back to your original topology by switching off the "Output blocks" button on the right side display panel. Do the modifications and then again repeat the above-said procedure to get minimum number of blocks.

Also see the Advanced examples in the tutorial manual for the same.




[ top ]


 

4.15. I can't remove my link bunching? Also it gave error of "impossible link bunching" when I did the linking. What to do?

You are probably using version 4.2.2 of ICEM CFD. That's a bug but here is a workaround.

When you get "impossible link bunching" message, that's actually more of a incorrect warning message and it essentially should be ignored since it does the linking in any case.

To remove the link bunching, switch off the linking in the Edge params and pick a node distribution (any). Then clicking "Apply" should resolve the trouble. Picking "node distribution" is important since otherwise those entry boxes are left empty and they probably create trouble.





[ top ]


 

4.16. Why does 2D->3D translate not extrude normal to the 2D blocking?

Since certain solvers require a 2D mesh to be in Z=0 plane. Hexa also enforces this concept. In other words, a default 2D blocking originates on the XY plane. Since 2D translate then extrudes from this XY Plane outwards, normal is always in Z direction. A work around to this would be to rotate a non XY-Plane blocking to the XY plane. Do 2D->3D Translate. Then rotate the blocking back. The recommended solution, however, would be to start with a geometry in XY plane.

Since certain solvers require a 2D mesh to be in Z=0 plane. Hexa also enforces this concept. In other words, a default 2D blocking originates on the XY plane. Since 2D translate then extrudes from this XY Plane outwards, normal is always in Z direction. A work around to this would be to rotate a non XY-Plane blocking to the XY plane. Do 2D->3D Translate. Then rotate the blocking back. The recommended solution, however, would be to start with a geometry in XY plane.




[ top ]


 

4.17. How do I change the number of points or first/last cell spacing in one shot for multiple edges in a replay file?

Give a command in Hexa in the messages window like the following..
set NUMPTS 25
set FIRSTCELLSPACING 0.0001 

Then, when you define Edge params, you can use $NUMPTS, $FIRSTCELLSPACING for number of nodes on that edge and for the spacing 1 or spacing 2. When you define edge params like this, it updates the Edge params with the defined variable value. So, if we record the commands in replay mode, next time, we can just manually change the variables in replay file and run the replay...




[ top ]


 

4.18. Can I define variables in HEXA? Can HEXA get variables defined outside, say in MED?

HEXA, in version 4.3, would be able to use following 3 functions to define a variable: You can then use $x, $y, $z or any of the mathematical operations on these to define your edge meshing parameters or something else.

The 3rd definition is of specific importance since you can define the "height" of a curve in MED as a variable value and then retrieve it in HEXA to be used further.

Some examples of the mathematical operations that can be done on variables are ( Make sure that every operator is separated by a blank):






[ top ]


 

4.19. I am able to generate a very large Hexa mesh (more than 32 million cells) on a 64 bit machine. But while writing it, Hexa process is exited. Why?

If you are writing the mesh to an NFS mounted hard disk, the problem could be related to the NFS (Network File System) version. Possibly, you are trying to use NFS version 2. Try to use NFS version 3 here

On an sgi machine, you would do following for an "xyz" machine:

xyz:/home  /hosts/xyz/home    nfs    rw,hard,intr,bg,vers=3    0   0





[ top ]


 

4.20. I am trying to split a particular face but it also splits another face somewhere else. How to overcome this problem?

You probably have a situation like this:

This is because HEXA maintains the connectivity even in the ORFN region. If you switch ON your VORFN blocks, you could see the split there.

Also, even though you see the button called "Split Face", it's essentially a fictitious term as it's always going to split some block in the VORFN region. And when it splits the block, obviously you would see the split on the other side of the block which in your case, is happening.

There are several solutions to this:






[ top ]


 

[ top ] [ previous ] [ next ]

created by faq-system 0.3.6 Thomas Linden