Transferring Deformed Geometry Between Ansys Applications

Often there is a need to export the deformed geometry from Ansys Mechanical. Possibly to a 3D printer to show to customers, or maybe a new CAD geometry file is needed that can be used for drawings or further design evaluation. Ansys Mechanical offers two options for users for doing this task.

Exporting STL (Standard Tessellation Language) files from the deformed results is one option. The STL file may be opened within Ansys Discovery and reverse engineered to create deformed solid geometry from the STL facets.

I have posted a YouTube video that demonstrates this technique. In the video, I have a rubber cushion that is compressed between two metal plates as shown. The rubber geometry gets deformed and the goal here is to export the deformed faceted geometry and create smooth solid geometry from that.

Ansys Mechanical can also export a deformed geometry in a proprietary PMDB (Part Manager Database) format which can be opened up within Ansys Discovery and modified further, or it can simply be opened up within Mechanical for further analysis.

I have also posted a YouTube video that shows how to work with this PMDB file format. In this video, we transfer the deformed geometry shown above from a previously solved FEA and then link its Solution cell to the Model cell of a new Static Structural block.


Design of Roll Over Protection Systems and Trailer Rear Impact Guards Using Ansys Mechanical Energy Absorption Calculations

Many companies use Ansys to reduce chance of injury and death when an accident occurs such as the overturning of a tractor or the rear impact crash of a car into the back of a trailer. An effective method to minimize danger to vehicle occupants during an accident is to ensure that that the structure absorbs sufficient energy through plastic deformation during the accident impact.

Many vehicles have Roll Over Protection Systems (ROPS) to reduce injury to operators. Figure 1 shows a Bobcat skid steer loader including its ROPS, which is the black cage structure surrounding the driver.

Manufacturers in the earth-moving and agricultural equipment industries design ROPS structures in accordance with the standards ISO 3471 and SAE J2194, respectively. These standards specify physical tests involving sequential pushes in the lateral, vertical, and longitudinal directions while ensuring that the structure absorbs sufficient energy through plastic deformation in each push direction. In addition, there are limitations on the structure deformation to ensure that the structure does not infringe on the volume occupied by the operator, referred to as the Deflection Limited Volume (DLV).

A cost-effective ROPS design approach is to use engineering simulation to design a vehicle to meet energy absorption and deformation requirements. This type of engineering simulation is difficult, however, and many finite element products are not able to accurately calculate the energy absorption during the tests. The challenges are that the finite element code must be able to represent a nonlinear stress strain curve that extends far into the plastic range; quickly and reliably converge as the structure experiences large deformation, plastic strain, and nonlinear contact; and accurately calculate energy absorption. Ansys Mechanical is very well suited for this type of simulation.

The tractor-trailer industry relies on rear impact guards to absorb energy when a car runs into the back of a trailer. Figure 2 shows the rear impact a Chevrolet Malibu crashing into the rear impact guard of a trailer.


DRD recently teamed up with Wilson Trailer of Sioux City, IA to use Ansys Mechanical for design of trailer rear impact guards. Wilson Trailer uses a test method from the Transport Canada Motor Vehicle Safety called Test Method 223. Test Method 223 requires 5-inch displacement loads to be applied at 3 locations of the rear impact guard as shown in Figure 3 and then removed, and the guard must absorb at least 20,000 Joules energy for each load application.

When we simulate a ROPS test or a rear impact guard test in Ansys, we must accurately track the energy absorption as illustrated in Figure 4, which is a component of Test Method 223.

The Ansys Workbench graphical user interface does not have a built-in button to calculate the absorbed strain energy, however, it’s very easy to perform this calculation using a commands object. Figure 5 shows the content of a commands object to calculate absorbed energy and where it belongs in the model tree.

Note that for convenience the commands object calculates the strain energy in two systems of units, lbf-in and Joules, and stores the values into parameters that start with the character string “my_”. When the commands object has been executed Ansys will display all parameters and their values for parameter names starting with “my_” in the commands object details window as shown in Figure 6.

Tricks for Producing Averaged Results for Surfaces or Volumes in Ansys Mechanical

Occasionally it may be a requirement to report average values of stress or strain from an ANSYS Mechanical analysis. There are tricks to do this either for a group of nodes/elements on a face or elements within a specific volume.

Depending on the requirement, the goal may be to simply report either :

– “Average” stresses on a face (based on nodes)
– “Average” stresses on a face (based on elements)
– “Average” stresses on a volume (based on elements)

Technique 1 : Reporting weighted area average nodal stress

This can be done by implementing the macro in a command object as shown. The weighted area average nodal stress on the surface is reported under the details of the command (in the red circle below) with the parameter named “my_ave_stress1”.

The contents of the command object can be downloaded here.

Note: The surface chosen to do the averaging is defined as named selection ‘Face_01’ (used in the macro). In this technique the weighted averaging is done by calculating area apportioned to the nodes, and multiplied with the corresponding stress values for those nodes, and then summed up, and then we divide that sum by total area of nodes.

Technique 2 : Reporting weighted volume or area average element stress

DRD recommends doing element averaging that is weighted based on volume. This can be done with a command object (shown below) and you can download it here.


If the goal is to use the element area to do the averaging, then there is a technique for this as well. This method is written for 3d solid elements belonging to the ANSYS 18x series solid elements such as : 185 (dropped midside node bricks), 186 (20 node bricks), 187 (10 node tets).

In this technique, you define the surface using a named selection (Face_01). You will additionally create a remote point referenced to that named selection. This is a clever trick, since in a solid 3d mesh, it is not directly possible to know the area of the element face easily. By creating a remote point, we are creating contact/target elements which are then tagged to the solid elements overlaid on that surface, and the area of contacts gives us the area of the solid element faces which can then be used for the element averaging.

This can be done by implementing the command object as shown. The content of the command object can be downloaded here.

The weighted area average element stress on the surface is reported under the details of the command as shown with the parameter named “My_average_elemstress_face”.

Note: If you are running a SOLID 185, 186 or 187, you need to specify that in the command snippet as highlighted below.  In this technique, the weighted averaging is done by calculating area of the elements, multiplied with the corresponding stress values for those elements, summed up, and then we divide that sum by total area of elements.

DRD recommends you test these techniques on a simple part first before attempting on a larger model, and be sure to do the necessary sanity checks to ensure results are accurate.

Wall and Wall-Shadow Zones in Ansys Fluent

Boundaries in Ansys Fluent can be broken into two groups: external boundaries and internal boundaries.  External boundaries appear on the outer boundary of meshed regions (inlets, outlets, interfaces, etc.), while internal boundaries exist within a conformal mesh (interiors, porous-jumps, fans, etc.).  Notably, internal boundaries can exist inside a single cell zone, or can even separate different cell zones as long as the mesh is conformal across the boundary. There is one boundary type that can be used as either an external or internal boundary: walls.

While external walls are straight forward, internal walls are a bit more complex. Internal walls are sometimes called coupled walls or two-sided walls because they are formed by a pair of wall boundaries that are by default coupled together. You most often see coupled walls separating fluid and solid cell zones, but they can also be used as infinitely thin baffles with fluid on both sides.  Each coupled wall pair shows up in the boundary list as a zone and its shadow: one for each side of the wall.  When the coupled wall is between two different cell zones, it is easy to determine which side faces which cell zone as the adjacent cell zone is listed in the boundary condition window.


It is possible for a two-sided wall to exist between a single cell zone. When this occurs, the above reference to the “adjacent cell zone” is no longer useful to determine which side of the wall faces a particular direction. In these instances, it is possible to plot the face area in the direction most aligned with the boundary’s normal direction. The face area vector points from the adjacent cell into the wall (this is opposite of face normal direction). Note that you must initialize the solution to be able to generate the necessary contour plot.

In the below example, the “X Face Area” is plotted on the wall-baffle-shadow zone. The plot shows that the area is largely negative, which implies that this wall faces the +X direction. While this may initially seem backwards, keep in mind that the face area points from the adjacent cell towards the wall. This is backwards of the outward facing normal direction.


Hopefully this article sheds some light on wall/wall-shadow pairs. If you require further assistance with this topic, please contact us at

Wall Settings for Rotating Zones

When setting up rotating machinery in Fluent, users will specify a rotating cell zone with the appropriate angular velocity. The bounds of this domain must be surfaces of revolution for either the frame motion or sliding mesh approaches. This article focuses on the finer details of setting up such a case. Particularly, what needs to be done for walls on the boundary of a rotating zone that should not be rotating? Additionally, sometimes a rotating shaft will exist both within a rotating zone and also within an adjacent stationary zone, how should this be handled? This article will answer these questions.

As an example, consider a case where a fan is placed within a circular duct. It is held in place via the motor and motor mounts. The domain will be split into rotating and stationary zones about halfway along the shaft that connects the fan and motor assembly.


The setup of the rotating zone itself is straightforward. For this analysis, the frame motion approach will be used.  In the Cell Zone Conditions Panel, the “Frame Motion” box will be checked and the appropriate rotation axis, rotation axis direction, and rotational velocity will be set.


In Fluent, all walls are stationary relative to their adjacent cell zone. This means walls within or on a rotating zone are rotating with that zone. Similarly all walls within or on a stationary zone are stationary. Consider the two images below. The duct in the rotating cell zone should not be rotating with the fan. Conversely, the motor shaft that extends into the stationary zone should be rotating, while the cell zone should be stationary. These conditions need to be applied at the boundary level for these two walls.

To address the duct, the user needs to edit the appropriate wall boundary condition. It is helpful to identify where walls will need specific boundary condition settings in the geometry phase so that appropriate named selections can be added to the boundaries. In the boundary condition edit panel, wall motion will be set to “Moving Wall” in the “Absolute” frame. The axis will be setup appropriately with a speed (angular velocity) of zero. Keep in mind that we are defining a wall that will be stationary in the global frame. It can be confusing to select the moving wall option here, but take note of the default option. By default this wall was “stationary” relative to the rotating cell zone, hence the need for this change.

The small section of shaft in the stationary zone will be treated similarly, but will instead have the same angular velocity as the rotating zone. In this model the small section of shaft in the stationary zone likely does not change the result much, but this will not always be the case.

One very important aspect of applying wall velocities as done for both the duct and the shaft is that no velocity can be applied normal to the wall. In the case of cylindrical walls, only rotational velocity around the axis of the cylinder is allowed.

Porous Media for CFD Applications

Porous media is widely used in CFD to reduce the computational expense of modeling things like filters, perforated plates, and tube banks. To accomplish this reduction in computational expense, the losses across the porous device are modeled mathematically using a simple equation rather than by geometrically resolving the flow obstruction.


Using the porous media model requires knowledge of the loss coefficients. These are referred to as the viscous and inertial loss coefficients. These coefficients can be derived from experimental data, empirical correlations in literature, or through CFD. The CFD models used to determine these coefficients are small sections of the full device, which makes the computational expense relatively small.

The pressure loss through a porous domain is represented by the following equation:


The change in pressure has two terms. One where the loss is proportional to velocity, and one where loss is proportional to velocity squared. These are referred to as the viscous and inertial losses, respectively.

While the input for different CFD codes can differ, the input into Ansys Fluent will be the Inertial Loss Coefficient (C2) and the Viscous Loss Coefficient (1/alpha). 

While loss coefficients can be derived via either experiment or literature, it is common to determine these coefficients via a CFD model. Since the main goal of porous media is to reduce computational complexity, naturally the whole device should not be modeled when determining these coefficients. Instead, a small “unit cell” model that fully resolves a small section of the porous geometry is used. The model has the sole purpose of generating data that will be used to determine the inertial and viscous coefficients.

The unit cell model will be run at several flow rates and the pressure drop across the model will be recorded. The velocity vs pressure drop curve formed by this data will be curve fit to the form:

Coefficients a and b will then solved for using:

Knowing that the pressure loss will always follow a parabolic curve as described above, any tuning that is perceived to be needed means that the curve fit must be altered. Similarly, if experimental testing reveals that the pressure drop vs velocity curve follows any shape other than a parabola with a y-intercept of zero, then the porous loss model cannot represent this loss accurately across, though a curve fit could potentially be done for some limited range of velocities.