DM Geometry Prep for ICEM CFD and Fluent

  • Last Post 10 April 2018
holderjm posted this 08 March 2018

Hello All,

Until recently, I had never used ICEM CFD for meshing and primarily used ANSYS Meshing. However, I desired a higher quality mesh composed of hexahedrons and switched to ICEM CFD. After completing all of the available tutorials for structured meshes, I still have a few questions unanswered. 

I'm quite familiar (I think, haha) with Meshing, so I was used to preparing a geometry in DesignModeler for Meshing. For example, combining bodies as a Part in DM will result in a conformal mesh in Meshing. And within Meshing, I'd create Named Selections (e.g., pressure_outlet, etc) so Fluent would detect that selection as a pressure_outlet. I'm not quite sure how to go about this for ICEM CFD. Before going on, below is my project schematic (ANSYS v17.2)

My geometry was created in DM. It's a single expansion ramp nozzle, ~1.5 Mach jet perfectly expanded. The fluid domain itself consists of the [internal] fluid nozzle body and an external flow field, pictured below. Currently, I have 3 bodies: the nozzle body; an inner external fluid body (the cylinder-cone-cylinder shape); and the outermost external fluid cylinder body. All bodies are "Formed as a Part."

In DM, I created Named Selections for all of my boundaries: 3 pressure_outlets (faces on the external fluid bodies), 1 pressure_inlet at the nozzle inlet; and the inner and outer walls of the nozzle. These selections appear to pass through to ICEM as expected. However, several "parts" get added when viewing the Parts tree in ICEM. Referring to the below pic, the parts with the # character (e.g., fluid_nozzle_1#fluid_domain_inner_3) get created when I first open ICEM. What are these? I assume they're the shared faces between the bodies. How should I treat these in regards to boundary conditions? Should I not have the bodies formed as a Part in DM? How will this affect Fluent setup?

Furthermore, the parts B1 and B2 are parts I created in ICEM when I started blocking. The way I did it was by deselecting/hiding the external flow geometry so only the nozzle itself was visible. I then created initial block B1 by selecting all visible nozzle curves. Once finished blocking the nozzle, I hid B1 and all nozzle parts and enabled all external flow parts and created another initial block B2. When I create B2, I'm prompted whether or not I want to merge or replace the existing blocks: I select merge. I then make a handful of splits, o-grids, etc for the external domain.

How I should proceed after I'm done blocking and setting pre-mesh params is where I'm a little foggy. I did go through the Output Mesh tab and apply settings for boundary conditions...but I'm unsure of what to apply to every part listed in the above pic. Pressure_outlets, pressure_inlet, and walls are all self explanatory but I'm lost on what to do all components under PART_1. Should I leave their boxes checked/enabled? Or unchecked/disabled? Or do I even need to change settings for boundary conditions in the Output Mesh tab since I already created Named Selections?

In the grand scheme of things, my intent is to run LES in Fluent and use the acoustics model to predict far-field noise. Since I plan on using the acoustics model, I'll need to be able to select a surface for a sound source (preferably one which surrounds the jet such as the cylinder-cone-cylinder surface). What I expected to have are 3 fluid zones, 3 pressure_outlet b.c.'s, 1 pressure_inlet b.c., 2 wall b.c.'s, and several interior zones. I should have NO mesh interfaces or at least that's how Fluent interpreted meshes I created in Meshing. Anytime I had mesh interfaces in Fluent, I ended up having covergence difficulties for some unknown reason. 

I could really use some pointers! I completed more than a majority of ICEM tutorials...enough so that I was able to get a much better mesh than I previously had in Meshing. It's just the fine details I don't know of. I knew what I was doing, for the most part, when using Meshing but I'm unsure of how to handle preparing geometry for meshing in ICEM and consequently Fluent. I appreciate any help!



Order By: Standard | Newest | Votes
raul.raghav posted this 08 March 2018

Justin, that’s a huge post for asking a specific question . But anyways I’ll try my best to answer your queries. 

1. ICEM-CFD works on surfaces and really doesn’t need any 3D bodies as such. Just the inlet, outlet and walls are sufficient for building a mesh in ICEM-CFD. So when you come from DM you don’t have to form a new part (you’d actually be better of not forming a new part for ICEM-CFD). What I usually do is, name all the surfaces (categorized as inlets, outlets, walls and sometimes interfaces). I group all the curves and points as separate parts. Then I delete the rest of the geometry which doesn’t have any other crucial information. Once the geometry is tidied up, I proceed with the blocking. And when I’m done with the blocking, I group and name the blocks appropriately so I can analyze them easily after the simulation is done.

2. You don’t really have to define the boundary conditions in ICEM-CFD. Just make sure you have just the appropriate geometry components (inlets, outlets, wall) and no dummy parts (like in your case). You can define the boundary conditions inside fluent. 

I hope this help you!


  • Liked by
  • holderjm
holderjm posted this 08 March 2018

Thanks for the reply, Rahul! I have some follow-up questions:

1. What am I supposed to do with the face(s) at the true nozzle outlet which touches the external flow domain (both bodies pictured below)? I hadn't named them and didn't think I was supposed to. Those faces should share nodes (i.e., be conformal). The surfaces between the two external fluid domain should also be conformal. My question is then how do I keep these 3 bodies as separate fluid zones and have a mesh that is conformal between adjacent body surfaces/faces? 


raul.raghav posted this 10 March 2018

Justin, would you be able to upload the workbench project archive? I can see what you're saying but I want to be sure before I suggest it to you.


holderjm posted this 10 March 2018


My archive file would be well over the limit. I'd clear the data from ICEM CFD to reduce the size but not only is that not an option in Workbench, I believe I'd have to re-block everything. That takes me about 3 hours to block it. Go HERE to download the archive file from my Google Drive. I believe it's 1.7 GB. If you prefer something else, let me know. I REALLY appreciate your help!



raul.raghav posted this 12 March 2018

Justin, I was looking at your workbench project. I had a few questions I wanted to clarify with you.

1. Why do you have 3 pressure outlet BC's? Wouldn't all 2/3 surfaces you've marked (PRESSURE_OUTLET_1 and PRESSURE_OUTLET_2) represent ambient conditions?

2. Why do you need 3 fluid domains? I understand that you are trying to select the cylindrical-conical-cylindrical surface around the jet for prescribing a sound source but the fluid conditions do no change in the fluid domains right?

3.Does the following youtube video kind of depict what you are trying to achieve?



holderjm posted this 12 March 2018


1) My domain isn't quite large enough to use far-field conditions or else I would've. So, I just assigned them as pressure-outlet's and at ambient conditions. I've ran many Fluent simulations with these boundary conditions and there aren't any issues.

2) I'm not sure what you mean by fluid conditions not changing in the fluid domains. Every fluid body is assigned as air (ideal gas, sutherland viscosity). If I keep them as 3 fluid zones, that gives me the ability to analyze a portion of the result in CFD-Post. For example, say I want to determine the entropy difference between inlet and outlet of the nozzle only. The only way I can do that is by having 3 separate fluid zones as far as I know. In CFD-Post, I'd create a plane at the nozzle inlet for the domain "fluid_nozzle" and another at the outlet. Then the entropy difference is calculated using the mass-flow-averaged quantities at both planes created previously. I noticed I'll need to have separate fluid zones to do this type of analysis in other post-processors as well like EnSight. 

3) The nozzle I'm working with is for gas turbine engines. It's a rectangular converging-diverging nozzle. Similar nozzles are found on the F-22 Raptor, B-2 Spirit. Here's some contours from work I've done with the same nozzle but on an unstructured grid. The first is a steady RANS result: Mach number at a pressure ratio of 3.0 (pressure_inlet=2.0 atm gauge, all pressure_outlet's=0 atm gauge). The second is LES at the same pressure ratio however all outlets have non-reflecting conditions enabled. The reason I'm here asking questions is because the unstructured grid I used wasn't good enough for LES. As the solution progressed, convergence starts to creep upward. Not only that, but it eventually would take increasingly more iterations to converge per time step. I've already investigated other issue was my grid. Hence why I went with ICEM CFD and a structured grid.

I do appreciate the help!




raul.raghav posted this 12 March 2018

Justin, I understand what you're trying to do now. I'll try to look into the mesh today and I'll surely get back you with an update asap. 


holderjm posted this 16 March 2018


I have been trying to figure out my issue(s) and may have found a solution. I'm still curious if you have any recommendations. Anyways, I have found a method which allows me to keep separate fluid bodies yet have a conformal mesh (e.g., set pre-mesh params > edge params for an edge in one fluid body and have settings copied to all parallel edges in all bodies). 

Step 1: With the geometry freshly loaded into ICEM, Repair Geometry > Build Topology. This merges overlapping curves/points (at least I believe so)

Step 2: Create an initial block for the inner conical shaped fluid domain, split at prescribed points, associate edges, snap vertices

Step 3: hide inner domain, create a second block for the outer domain, associate ending edges to large circles, split into o-grid and split at inner circles

Step 3.5: show all block domains. Note that there are overlapping blocks where the inner and outer domains intersect

Step 4: Begin merging vertices with update associations enabled at the inner domain circles by first selecting the inner domain vertex, and then the outer domain vertex. 3 vertices are shown merged below.

Step 5: Once all respective vertices are merged, hide inner domain and delete the inner rectangular blocks from outer domain

Below shows the completed blocking minus the nozzle. The above process is also followed for the shared edges of the nozzle and inner domain fluid bodies. 

What this allows me to do is select 1 edge for Set Edge Params in any body, and when copied to all parallel edges, all parallel edges in ALL bodies are also selected. What I'm not sure of is how this will load into Fluent. Will Fluent detect interfaces? I have no idea. I just wanted to let you know what I've found out over the past couple days. I do appreciate your help and look forward to any advice you may have!



ANKUSH JAIN posted this 10 April 2018

Dear Sir

I want to validate a journal paper on " Aerodynamic Design and Blade angle analysis of a small wind turbine" but problem is am not know about how to i give blade angle to the geometry.

And second is where i input the chord length and area of airfoil.

Please help me...