Working with Faceted Geometry in Ansys Fluent Meshing

Faceted geometry comes in several different formats with OBJ, PLY, and STL being commonly used.  Some simulation tools require solid geometry before importing.  Fortunately, Fluent Meshing is designed to work with surface models. These faceted file formats are often the standard when working with 3D scanned geometry in the medical community and in the field of additive manufacturing. Faceted geometry approximates a geometric shape by representing it as a triangular surface mesh rather than using a solid body representation. Many commercial CAD and CAE packages do not natively represent geometry using facets but use a technique called Constructive Solid Geometry (CSG) to represent geometry which is the process of combining simple shapes using Boolean operations to create more complex shapes. One of the issues when working with faceted geometry is CSG-based CAD and CAE programs are not well equipped to convert the surface mesh associated with faceted geometry into a solid, and it can be a time-consuming process to do so.

Fluent Meshing (a feature in Ansys CFD licenses) can work directly with faceted or solid geometry. The user will need to use Ansys Discovery to convert the faceted geometry file (OBJ, PLY, STL, etc.) into a TFG (Fluent-Meshing faceted geometry) before reading into Fluent Meshing. See below:

All the named selections and geometry preparation that was done on the faceted geometry in Ansys Discovery will be preserved in Fluent Meshing when reading in the TGF. The user can then use some of the mesh diagnostic tools in the Outline View to evaluate the quality and check for connectivity issues if needed. There are automatic operations that can be used to improve the quality of the mesh as required. See below:

The user can generate the volume mesh in the Outline View or use one of the more user-friendly task-based workflows such as Fluent Watertight Workflow. The task-based workflows do not yet support TGF geometry import, so the user will need to write out a .msh.h5 in Fluent Meshing before reading into the workflow. See below:

It is business as usual with the faceted geometry loaded into the import geometry task of the workflow. The user will start from the top and work their way down in the task-based workflow until a volume mesh is generated.

Some engineering tools require that geometry be represented as a solid, and it can be challenging to convert faceted geometry into a solid in many cases. Fluent Meshing is designed to work with surface models so faceted geometry does not need to be converted into solid before import. This can be a quality-of-life improvement when working with surface representations of solid bodies in Ansys CFD products.

Automation in Ansys EnSight

Computational Engineering International, Inc. (CEI) originally developed a suite of products that included EnSight and was acquired by Ansys in 2017. EnSight is a market leading post-processor for Computational Fluid Dynamics (CFD) with multiphysics visualization capabilities. It is easy to use with a modern interface that has transient capabilities and can efficiently handle very large data sets, which are common in CFD simulations, especially transient ones.

EnSight has continued to improve their Python integration over the years and continues to lead in automation capabilities for the world of CFD post processing. Any action that takes place in EnSight is recorded in what is referred to as the command language. Whether the action is a zoom, translate, or rotate of the camera, or the creation of post processing objects like a clip plane, vector arrow plot, or contour – the action is saved in the command language. See below Command Panel:

The command language is a comprehensive journaling language in EnSight that contains all the detailed information associated with the operations or actions taken place in the current session. This command language can be converted into a Python script which can be executed using the built-in interpreter. The user will copy the commands to be converted into Python and paste them into a new file.

The actions are more human-readable in Python and allow for logic operations and loops. The user can make changes to the Python script as appropriate and save for use in other EnSight sessions to automate processes, which can be a huge time saver in certain situations. For example, if you need to create several post processing objects in EnSight for a variety of result files for use in a report, you will only need to do it once because you can reuse the commands for all results files.

Check out this YouTube video on automating the creation images of post-processing objects in EnSight using Python.

Utilizing the built-in Python interpreter in EnSight is a great way to automate repetitious post-processing procedures.

Troubleshooting Unphysical Solution Results and Identifying Poor Mesh Elements

Not if, but when you run into CFD convergence issues, it is often due to a poor-quality mesh, an ill-posed problem, or inappropriate solver settings. There are a variety clues that indicate lack of solution convergence such as high residuals, solution monitors that do not make sense, and mass or energy imbalance. When residuals are high or increasing (diverging) it is a good indication that there is unphysical behavior in the solution that is the cause. You will need to identify where this unphysical behavior is occurring in the model so that it can be remedied.

Often reporting minimum and maximum values of the solution variables (velocity, pressure, temperature, etc.) is a good place to start when attempting to identify unphysical behavior. For example, if the maximum flow speed is measuring much higher than you’re expecting, you will want to identify where in the domain this unexpected behavior is occurring. An iso-surface is a good tool to use for identifying the location of odd behavior in the solution field.

You can compute the range of a particular solution variable in the iso-surface panel. If the range is not what you expect or does not make physical sense, it is a good idea to create an iso-surface to identify where the potential unphysical behavior is occurring. You can use the iso-surface in concert with other mesh objects in a scene and take a look at where the unexpected behavior is occurring:


In this example the location of high flow speed appears to be unphysical. You will want to interrogate the mesh in that particular region to look for clues – this can be done in the solver or mesher. Everyone is in a hurry to get results and it can be tempting to move forward with a poor-quality mesh in the solver, but you run an increased risk of solution convergence issues in the solver when doing so. It is best to start with a good quality mesh to accelerate solution convergence. Meshing is somewhere between an art and a science, but there are four primary mesh metrics that are used in concert when judging overall mesh quality – orthogonal quality, skewness, aspect ratio, and size change. To avoid mesh-related convergence issues, it is best to keep the minimum orthogonal quality above 0.1, skewness below 0.95, aspect ratio below 100, and size changes below 5.

To inspect the mesh quality inside of Ansys Fluent meshing, open the Display Grid panel from the menu bar, select the specific mesh quality metric to measure, then choose the quality range before hitting the display button. The elements within the specified range will be displayed in the graphics window as shown below:

To inspect the mesh quality in the Ansys Workbench mesher you will display the mesh histogram from within the mesh tab then choose the mesh metric to measure as shown in the figure below.

You can limit the range of the histogram to only contain the poorest quality elements by clicking the control button to access the range controls. From here you can limit the range of the x-axis then hit the reset button adjust the y-axis range. You may also want to consider reducing the number of bars in the histogram as well. Click the bars of the histogram to display the elements of that quality indicated: