CFD Online Discussion Forums

CFD Online Discussion Forums (
-   ANSYS Meshing & Geometry (
-   -   [ICEM] export hexa mesh to fluent (

Wieland January 15, 2010 11:32

export hexa mesh to fluent
4 Attachment(s)
For my master thesis I am studying the acoustics effects in the flow around a rear view mirror of a car. For this, I am meshing in ICEM CFD and calculating the model with Fluent. A 2D cylinder case gave satisfying results.

I now face a meshing problem. In figure 1 you can see the model.
When I mesh without refinements (see figure 2) and I check the elements in ICEM CFD ("Edit mesh","Check Mesh"), there are no errors. So I export the mesh and try to import it in Fluent, but a critical error occurs:
Cell Centroid is xc 1.993950 yc 1.463519 zc 1.365260
WARNING: no face with given nodes. Thread 7, cell 352956
Clearing partially read grid.

Error: Build Grid: Aborted due to critical error.

Error: Build Grid: Aborted due to critical error.
Error Object: #f"

When I refine one block behind the mirror (see figure 3), some errors occur when running the "Check Mesh" function in ICEM: "uncovered faces" and "penetrating elements" are present due to the refinement, but I checked it myself and it should be ok. Nevertheless the errors I can export the mesh and import it successfully in Fluent without critical error. However, Fluent tells me the minimum volume is non-positive and there are some wrong handed faces...

When I refine more than one block (see figure 4), the "refinement" errors in ICEM are the same, but I can not import the mesh in Fluent because of the critical error again.

Does somebody knows how to handle this or can you give tips to try, I am looking for a whole day now without result...

PSYMN January 16, 2010 09:47

I have setup several of these simulations (except on full vehicle models) using ICEM CFD and Fluent when i worked at Ford Motor Company.

The "Uncovered faces" error is just a possible problem. It would matter for some solvers, but not for Fluent if it is just referring to the hanging nodes...

However, if you get uncovered faces in other areas (such as the boundaries), you may get an error like the one you saw without refinement. Did you do your mesh checks on the unrefined grid? Is a face missing?

It looks like it thinks you have a partial grid. You could Try reading that fluent grid back into ICEM CFD and checking it there.

I would figure out the unrefined grid problem before trying again with refined blocks.

Wieland January 17, 2010 08:36

Thanks for your response. I can't try right now because the lack of license at home, but I will try things tomorrow.

It is a good idea indeed to start with the unrefined mesh and get that working.

However, in the case where I could import the mesh in Fluent without critical error (see first post), Fluent tells me I have a non-positive volume 2.3e-6 m^3, but when I check the same mesh in ICEM CFD, I am sure there are no edges of elements crossing in a wrong way. And when I check the histogram of the volume of elements everything is positive!

Anyway, I'll play around tomorrow and I hope I can fix it. Every experience is still welcome!

Wieland January 18, 2010 13:21

I can tell you that the meshes can be used now.
It seems that a critical error occurs in Fluent when one uses the "Laplace smoothing" feature in ICEM CFD. ("Edit Mesh", "Smooth Mesh Globally", turn "Laplace smoothing" of!)

It takes a long time now to correct the mesh, but at least it can be used in Fluent.

PSYMN January 19, 2010 00:19

Don't use that global smoother at all.
You probably shouldn't be using that global smoother at all for Hexa meshes. It doesn't know to keep the hanging nodes aligned. It is more for tetra prism meshes.

If you are going to smooth hexa, use the Orthogonality smoother... (button to the right of the other smoother).

But generally, we just adjust the blocking (edge distributions and vertex locations) and that gives good quality.

Wieland January 20, 2010 12:41

2 Attachment(s)
Hi Psymn,

I keep struggling with the mesh. I smoothed the elements before because otherwise I couldn't fix the misoriented volume-elements (quality was too bad). So now I try to hexa mesh it in a way that I get no errors for checking "Volume orientations" in ICEM CFD.

I could solve some of these errors by dividing some original blocks, but in the attached figure 1 you can see that there are three elements (white in picture) who still stay wrong. When playing around with the vertex sometimes there is only one wrong element, but I never get it free of errors.
The weird thing is that this setup is very symmetric and on the other side of the sphere there are no errors...

In figure 2 you can see the associations, maybe you see something wrong?

PSYMN January 20, 2010 13:42

Yes, Certainly. To fix this you need to apply an OGrid... You are trying to fit a square peg in a round hole and the corner elements are opening out to approach 180 degrees.

If you have access to the tutorials, take a look at the Sphere cube tutorial. This is similar in topology, except that instead of one flat side, you have 2, so it is really like 1/4 of the sphere cube (1/2 of the symmetry model in the tutorial).

Basically, at some point in the process, you need to create an Ogrid. I would do it at the beginning before I block out the mirror, but you could do it at the end and also solve this problem. Create an ogrid, select all the blocks and put faces on the flat sides (symmetry plane and outlet plane if it is flat)... Then hit apply and your problems will go away.

Wieland January 21, 2010 11:12

1 Attachment(s)
I avoided these o-grids indeed, because I didn't understand them. But I changed the inlet surface as visible in the attached figure and now everything works without any error.

Thanks for helping!

PSYMN January 21, 2010 22:05

Give OGrid another try some time...
OGrid really will work very easily for this model and dramatically improve your quality...

It really is one of the key tools in ICEM CFD hexa. Not using it would make me feel like a carpenter without his hammer.

If you try the sphere cube tutorial, you will see how easy it is.

Wieland January 27, 2010 11:13

2 Attachment(s)
Because the calculations in Fluent were diverging sometimes (I am using LES for turbulence model, when time step is 0.001s solutions diverge, when time step is 0.002s not...) I decided to listen to your advice and build a better quality mesh using Ogrid blocks.

I don't have acces to Customer Portal, but I followed this tutorial. Before the Ogrid there were elements in the corners with high skewness, as visible in the first figure. When I apply Ogrid blocks, these elements have better quality indeed, but as you can see in the second figure some strange elements appear outside my domain when I look at the quality.

Do you know what this means?

alex-fan February 8, 2010 10:36

hi wieland i do a model using dymanic mesh in FLUENT,when i preview the mesh ,there is a erro like this :
WARNING: no face with given nodes. Thread 2, cell 5418
WARNING: no face with given nodes. Thread 2, cell 5419

FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()
please help me thank your very much

Wieland February 17, 2010 08:21

I am not an expert in meshing, but reading your error makes me think you have a problem which you should solve in your meshing program, not in Fluent.

If you are using ICEM CFD, you can use the built in tools to check and repair the mesh.

PSYMN February 17, 2010 15:55

Took a look.
4 Attachment(s)

Ok, Wieland sent me his model and I took a look.

The first problem is that you had 4 to 1 refinement… I have never seen that working with Fluent. Try 2 to 1 instead. (I fixed that at the end, after I stopped recording).

Next, I checked your Vorfn region and found it contained O3. I am guessing that you deleted this Vorfn region for some reason at some point. That is causing you trouble.

I also see that you never moved your blocking onto your surfaces… I did this using Snap Project Verticies. I also think it is odd that you have an “Inlet” zone on a hemispherical FF, so I removed the association with the curves there and just did a project to surface.

Tip: When I did wind noise at Ford, we would use two other materials. “Solid” for inside the mirror and plate and “Fluid2” for the region around the mirror that we wanted to refine. You would block it normally and then put these blocks in these parts using “Add blocking Material to Part”. You will need to setup a shared wall between Fluid and Fluid2 so that it doesn’t try to project to any surface. You do that under Blocking Associations => Associate Face -> Surface => Shared Walls; Select “None” and select the 2 volume materials.

Once you have these three materials, you can use them for selection. When creating the second Ogrid (see the next post), you can simply select the “Solid” material and create the Ogrid “Around Parts”. When refining the mesh, you can simply select the Fluid2 and apply your refinement. (In my last image, I did this for Fluid2, but since the Vorfn was messed up, I couldn't put the Mirror material into solid)

PSYMN February 17, 2010 16:02

2 Ogrids...
4 Attachment(s)
Starting from Wieland’s geometry/blocking and moving forward (including with the strange FF and VORFN issues)…

It was time for the new OGrids… I could have done it as one Ogrid, but then the distributions would be liked; you wouldn't be able to have very fine distribution around the mirror and coarse in the far field. To do it as one step, just don't "face" the Mirror or Plate when creating the first ogrid. You could also do it in more steps if you wanted the mirror and plate ogrids to crisscross, anyway...

The first OGrid is to handle the topography of the psudo-hemispherical FF. Use the OGrid tool and select all the visible blocks (key v, but make sure all your blocks are active). Then add faces. For this one, we wanted it to ignore the plate, the mirror and the floor. (you hadn’t broken out floor so I did). Note, I used the selection tool bar which makes it very easy.

This gave my first OGrid, I set 6 elements along its edge. I noticed some strangeness with the OGrid in that they were curving and not improving quality as they should, I assume that is because of your VORFN problems. You could fix this by explicity controlling the curvature of those edges (just make them straight with a linear edge split), but I didn’t bother.

Next, I figured you would want a finer Ogrid to capture viscous effects along the plate and around the mirrior. To do that, use the Ogrid tool again and select everything visible again. For faces, Select everything except the face and the mirror (I used the select by Parts option).

Tada. :cool:

Wieland February 18, 2010 11:29

2 Attachment(s)
Hey Simon,

your mesh looks very good, but unfortunately I am not able to reproduce it.

First I tried to run the script you've send me. (I've changed the path name in the script and I ran the script one time with my original blockings, another time from scratch).
The log learned me:
"Mesh size:
nodes = 799780
quads = 32624
hexas = 764532

A minor internal error has occurred.
You may continue to work but if problems arise they may be related to this error.
Try using the check/fix function to fix the problem
The following message was designed to aid developers fix the problem:

internal error in edge_node_dim: none touching
Writing blocking file P:/wdl/Mesh/FineSimon/Mirror_Square_Improved_Ogrid1.blk ..

A minor internal error has occurred.
You may continue to work but if problems arise they may be related to this error.
Try using the check/fix function to fix the problem
The following message was designed to aid developers fix the problem:

internal error in edge_node_dim: none touching

A minor internal error has occurred.
You may continue to work but if problems arise they may be related to this error.
Try using the check/fix function to fix the problem
The following message was designed to aid developers fix the problem:

internal error in edge_dim"

Because of these errors, I just replaced your blocking file .blk in my project folder and relaunched the project. The blockings then looks like yours (Ogrids included), but the mesh is still different (see figures). Ignoring these differences I tried to import my adapted mesh in Fluent, but it was unable to import.

Do you know what's going wrong? And I have no idea what happened with the Vorfn-part... Anyway, I like to thank you, because you are very helpfull!

Kind regards,

PSYMN February 22, 2010 12:53

You are seeing the cumulative effect of a variety of errors.

To do it well, I would recommend starting over. Do it just like the sphere cube tutorial, plus some of the suggestions I gave, and you should be fine.

It may not seem so to you yet, but it is very straight forward and I would do it myself, but I just don't have the time.

Practice makes perfect.

PSYMN February 22, 2010 13:00

One more ogrid.
One other suggestion,

To capture the roundness of you mirror you will need another OGrid that I didn’t include earlier.

Imagine that you have two mirrors back to back. Create a split for that imaginary mirror and then create an Ogrid with the blocks in the mirror and the blocks in the imaginary mirror. In other words, add a split about the thickness of your mirror back from the mirror. Then Ogrid with the blocks in your mirror and the blocks immediately behind your mirror.

For simplicity, you could do it without faces, but for slightly better quality, select the faces along the plate (and the base of the mirror). This will create a CGrid structure that will come out of the face of the mirror, turn 90 degrees and then go down to the plate…

There are many variations to this plan, including a YGrid that would take the ogrid out thru the face of the mirror towards the rear of the far field, but considering the flow you should expect to see, I think the CGrid option is best (Ogrid with faces against the plate).

PSYMN February 22, 2010 13:13

No Face with Given Nodes.
To Alex-Fan,

Your error message "no face with given nodes."

Usually means that you have "uncovered faces". you can do this check in ICEM CFD to be sure.

It just means that you have volume elements without shell elements on the outer surface. Fluent can't handle this sort of unbounded condition (Mechanical solvers don't usually mind) because it has no where to hang boundary conditions, etc.

ICEM CFD generally creates volume mesh with shells, so I am assuming you either imported this mesh from somewhere else (ICEM CFD can fix it), or you deleted these shells (or the parts the shells were in) while in ICEM CFD.

alex-fan February 23, 2010 09:45

thank PSYMN do you have that software ,i just can use FLUENT so i hope you can send me a software thank you very honestly you are a best man! MY emai is

PSYMN February 24, 2010 10:59

Not an ICEM CFD Dealer
Hey Alex-fan,

I thought you were already using ANSYS ICEM CFD when you added your question to this thread. I can’t send you software, it would be more than a Gig and you would still need a license to run it. If you are an ANSYS customer, you can get the software from the Download page on the customer portal. Talk to whoever you got your Fluent from…

How did you generate your mesh that gave you the errors?

All times are GMT -4. The time now is 07:19.