Customizing the Output in Ansys Mechanical With User Defined Results (UDR)

In many situations, we have seen customers ask for ways to output custom results from ANSYS Mechanical. The usual results like Total Deformation, Equivalent Stress or Equivalent Plastic Strain may not be enough for your needs. Depending on the requirements (say a specification you are designing a part to), you can create a User Defined Result to output the needed result. ANSYS already outputs various quantities via User Defined Results that can be viewed in the Worksheet. Here is a quick look at some of what is available:

These quantities are used to create your own results output. User Defined Results can be operated on in several ways. Here is an excerpt from the ANSYS Help documentation (Mechanical Applications > Mechanical User’s Guide > Using Results > User Defined Results > User Defined Results Expressions):

 

Just as a simple example, say Total Deformation is required and is not output automatically (it is, just an example). If you add an UDR to the results, then type in the expression sqrt(Ux^2+Uy^2+Uz^2), keeping in mind these expressions are case sensitive, you get to resultant deformation from all three component values. Compare this to Total Deformation.

One can also do something more complex, say safety factor calculations. If your specified safety factor is not directly related to the Yield Strength or Ultimate Strength of the material, but some factor of, an UDR can be used; constants can be created and used just like any User Defined Result in the Worksheet. An example is shown here, where a safety factor is calculated based on a value of 6,200 psi. The safety factor looks at the First Principal Stress output, computes the safety factor, then caps the display at 7. Values less than 0 psi (compression when looking at the First Principal Stress) are set to the highest safety factor allowed (7 in this case).

A small note on the equation written in the graphic, in order to display a constant value (0 or 7 in this example), it must be multiplied by the identity matrix (matrix of 1’s). If you are just using a constant for equation manipulation, the identity matrix is not required.

User Defined Results can be a powerful tool if the output from Ansys Mechanical isn’t quite tailored to your needs.

Slip Slidin’ Away! Modifying Friction Coefficients During a Mechanical Simulation

There are situations in which it may be necessary to tweak friction coefficient in a nonlinear contact analysis during the simulation. Currently, the Ansys Workbench GUI does not support this capability directly; however, it is possible to vary the friction coefficient using a command object.

The Ansys documentation has several references of doing this as listed under the Help section; Mechanical APDL > Material Reference > Nonlinear Material Properties > Contact Friction as shown below.

This section on the documentation describes defining contact friction using TB,FRIC which is a material property used with current technology contact elements. It can be used to define coefficient of friction for both isotropic or orthotropic friction models. It further discusses varying friction coefficient in a multiple load step scenario, as well as implementing user defined friction  using TB,FRIC with TBOPT = USER.

The example presented here will show how to use commands object within Workbench to vary friction coefficient. The friction coefficient is defined via the TB,FRIC command. To define the friction that is function of temperature, time, normal pressure, sliding distance, etc. you can use the TBFIELD command in conjunction with the TB,FRIC. In this example presented, the friction is varied with time (to simulate it’s change through the load step).

Below is a graphic of the nonlinear contact between the Aluminum housing and steel ring gear.

 

The command object used to modify friction as a function of time is shown below.

This command object uses the information in the table below to modify friction :

Time                Friction Coefficient
0                      0
0.2                  0.1
0.4                  0.3
0.6                  0
0.8                  0.15
1                      0

As an example of the friction can vary, notice the friction coefficient is zero for time = 0.6 and time = 1.0.

During the run, the output controls under Analysis Settings was set to Yes for Nodal Forces, Contact Miscellaneous and General Miscellaneous.

A quick look at the contact results confirms our findings. The contour plot for contact friction stress shows zero results for time = 0.6 and 1 which m

Another sanity check is to check for reaction force through the frictional contact with the extraction method set to contact element option; this also reveals zero (nearly zero reaction force at these time points). The very small discrepancy noted on the reaction force is due to a few overlapping nodes on a boundary condition.

Restarts in Ansys Mechanical Can Save Time and Effort!

‘Restarting’ the process in ANSYS Mechanical Products by which a model is solved starting from a previously solved point. The previously solved point contains data for all nodes/elements in the model; there is no results mapping and interpolation when a restart is performed. This is the most accurate method for starting an analysis from a previously solved point.

By default, restarts are not kept when a simulation finishes. The user must modify the Analysis Settings in ANSYS Mechanical to keep the restarts points that will be needed. Those options are shown below:

Restarts do have limitations. For instance, modification of loads in a step before a restart point is to be used invalidates that restart point. Several tables in the ANSYS Help documentation characterize what happens to restart points if objects in the model tree are changed. This section can be found in Mechanical Applications > Understanding Solving > Solution Restarts, as shown.

 

Here’s one of the tables showing where restarts can be used followed by common questions we related to restarts.

What can solution restarts be used for?
For cases where some subset of the loads does not change and only a few loads change/vary. This is commonly referred to as load case modeling. ANSYS Mechanical FEA can do load case modeling.

Can you give an example of load case modeling?
A model that solves bolt pretension in the first several steps and then locks them in place. Commonly, service loads are applied after the bolt tightening is simulated. The service loads can represent multiple load cases, say one load case is a pressure load, another is a force load.

Another example is a ROPS (Roll Over Protection System) analysis, where loads are sequentially applied on a structure until some criteria is met (usually energy dissipated by the structure). Once the criteria are met for one load case, the load is removed and another load is applied. This process can also be done via restarts.

Why would we do this?
This saves time on solving models. Using the example above, without restarts, the bolt pretension steps would need to be solved every time a load case is added/modified. With restarts, loads can just be activated/deactivated in a step following the bolt pretension and the bolt pretension final step used as the restart point.

Things to know before attempting this method:
All of the load cases that will be solved should be known beforehand. The restart analyses require that ALL loads are defined in the initial model. In ANSYS Mechanical, loads cannot be added to the model tree without invalidating the previous results (ignoring the ability to use restarts).

Newly added loads also will not be applied in a restart analysis as the restart method does not create new elements for these new loads.

If bolt pretension is to be used, any loads defined for a load case should be applied in a step after the final bolt pretension, as usual.

Also, if bolt pretension is used, a step after the final pretension occurs IS REQUIRED. If this is not included, ANSYS assumes the last bolt pretension will be Loaded and not Locked. This means that ANSYS would modify the pretension to maintain whatever preload you have assigned, rather than applying the service loads as a working load on the bolt. Physically, it would be like tightening/loosening the bolt as the service loads are applied.

Method:
The general steps to this method are as follows:

  1. Set up a model with all of the loads applied to the structure. This includes bolt pretensions and any loads that need to be simulated for the load cases. Set up the Analysis Settings as required for the analysis (multiple load steps, Large Deflections, etc.).
  2. Modify the Restart Controls to keep all restart points once the model is solved.
  3. Modify the loads for the load case studies to be inactive.
  4. Solve the model.
  5. Duplicate the analysis, sharing the Engineering Data, Geometry and Model cells. This guarantees the model setup remains the same for all models.
  6. In the new system, activate the load for the first load case study.
  7. Use the Tools > Read Results File… and locate the file.rst from the previously run analysis. This imports the results data into the model.
  8. Modify the Restart Analysis options in Analysis Settings to restart from the end of the first simulation (the final bolt pretension loading, for example).
  9. Solve the model.

Example:
The example shown here uses an oil field fluid end model with bolt pretensions applied. There are two load cases: 1) a pressure load on the cylinder bore, 2) a force load applied on one side of the fluid end body.

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.