ANSYS Mechanical – Overcoming Convergence Difficulties with Automatic Remeshing (Nonlinear Adaptive Region)

One of the problems we can encounter in a nonlinear structural analysis in ANSYS Mechanical is that elements become so distorted that the solver cannot continue.  We get messages saying the solver was unable to complete, and the solver output will contain a message like this one:

`*** ERROR ***                           CP =      37.969   TIME= 14:40:06  Element 2988 (type = 1, SOLID187) (and maybe other elements) has become  highly distorted.  Excessive distortion of elements is usually a         symptom indicating the need for corrective action elsewhere.  Try        incrementing the load more slowly (increase the number of substeps or    decrease the time step size).  You may need to improve your mesh to      obtain elements with better aspect ratios.  Also consider the behavior   of materials, contact pairs, and/or constraint equations.  Please rule   out other root causes of this failure before attempting rezoning or      nonlinear adaptive solutions.  If this message appears in the first      iteration of first substep, be sure to perform element shape checking. `

The Solution branch will have the telltale red lightning bolts, indicating the solution was not able to complete due to nonconvergence.

If you are not aware, one technique we can use to get past this problem of excessive element distortion is to have ANSYS automatically remesh the model or a portion of the model while the solution is progressing.  The current state of the model is then mapped onto the new mesh, in the currently deflected state.  In this manner we can automatically continue with the solution after a slight pause for this remeshing to occur.  Minimally all we need to do as users is insert a Nonlinear Adaptive Region under the Static Structural branch, and review and specify a few settings (more on this later).

Let’s take a look at a simple example.  This is a wedge portion of a circular hyperelastic part, subject to a pressure load on the top surface.  Other boundary conditions include a fixed support on the bottom and frictionless supports on the two cut faces of the wedge.

For this case, the nonlinear adaptive region is the entire part.

The initial mesh was setup as a default mesh, although note that for 3D models the nonlinear adaptive capability requires a tetrahedral mesh up through the current version, 2019 R2.

Prior to solving with the nonlinear adaptive region included, this model fails to converge at about 56% of the total load.  With the addition of the nonlinear adaptive region, the model is automatically remeshed at the point of excessive element distortion, and the solution is able to proceed until the full load is applied.  The force convergence graph has a solid vertical orange line at the point where remeshing occurred.  The method can result in multiple remeshing steps although in the sample model shown here, only one remeshing was needed.

The image on the left, below, shows the original mesh at the last converged substep before remeshing occurred.  The image on the right is the first result set after remeshing was completed.

The tabular view of a result item will show in the last column if remeshing has occurred during the solution.

Here is the final deformation, for the full amount of pressure load applied on the top surface.

Next, let’s take a look at the nonlinear adaptive region capability in more detail.

First, multiple substeps must be used for the solution.  If we are performing a nonlinear analysis, this will be the case anyway.  Second, Large Deflection needs to be turned on in the Analysis Settings branch.  Also, results must be stored at all time points (note that time is a tracking parameter in a static analysis, but all static as well as transient results in ANSYS Mechanical are associated with a value of ‘time’).

There are several restrictions on features that CAN’T be in the model, such as cyclic symmetry (hence the frictionless support BC’s on the simple model shown above), Auto Asymmetric Contact, Joints, Springs, Remote Forces and Displacements, etc.  Also certain material properties are excluded, such as Cast Iron plasticity and Shape Memory Alloy.  Also, as mentioned above, for 3D models, the mesh must be tetrahedral.  For a full listing of these restrictions, refer to the ANSYS Mechanical User’s Guide.  A search on ‘nonlinear adaptive’ will take you to the right location in the Help.

Nonlinear Adaptive Regions can be scoped to 3D solid and 2D bodies, or to elements via a Named Selection.

In the Details view for the Nonlinear Adaptive Region, the main option to be defined is the Criterion by which remeshing will be initiated.  There are three options available in Mechanical:  Energy, Box, and Mesh.

The Energy criterion checks the strain energy of each element within the Nonlinear Adaptive Region.  If the strain energy is above a criterion, remeshing is triggered.  The input is an energy coefficient between zero and one, and is a multiplier on the ratio of total strain energy of the component divided by the number of elements of the component.  Recommended values are 0.85-0.9.  A lower coefficient will tend to cause remeshing to be more likely.

The Box criterion defines a geometry region based on a coordinate system and bounds relative to that coordinate system.  Elements in the Nonlinear Adaptive Region whose nodes have all moved within the box will be remeshed.  The idea is that if it’s known that elements will be highly distorted as they move into a certain region, we can ensure that remeshing will occur there.

The Mesh criterion allows us to specify that remeshing will occur if mesh quality measures drop below certain levels as the mesh distorts.  For 3D models, the available measures are Jacobian Ratio and Skewness.  These are described in the Mechanical User’s Guide in the section on Nonlinear Adaptive Region.

In the example shown above, the Energy criterion was used with an energy coefficient of 0.85.

There are some things to be aware of when you are trying to implement a Nonlinear Adaptive Region to help overcome convergence difficulties.  First, if any of the restricted features mentioned above are included in the model, such as remote displacements, it’s not going to work.  Therefore, it’s important to review the list of restrictions in the Help and make sure none of those are applied in your model.  Second, ‘buckling’ or element distortion due to an unstable structure is not a behavior that Nonlinear Adaptive Regions can help with.  The Nonlinear Adaptive Region capability is more suited to problems like hyperelastic seals being compressed or objects that are undergoing a high degree of bending (but not snapping through).

Also, a coarse mesh that distorts may not produce a usable remesh.  The remeshing step may occur, but the simulation may not be able to proceed beyond that and stops with an error in element formulation error.  More mesh refinement may be needed in this case.

As a further word of caution, self contact problems may not work very well within the context of Nonlinear Adaptive Regions.  If self contact is needed, consider splitting the bodies into multiple parts to avoid self contact.

There are some other considerations for the method as discussed in the Help, but hopefully the guidelines and recommendations presented here will allow you to filter potential applications appropriately and setup models that can take advantage of the Nonlinear Adaptive Region capability.  We have a short animation which shows the remeshing step in the sample model.

If you have nonlinear static structural models with convergence difficulties due to excessive element distortion, please consider using this method to help you get a fully converged solution.

Here is a video to help everyone visualize:

Meshing for Nonlinear Structural Problems

Overcoming convergence difficulties in nonlinear structural problems can be a challenge. I’ve written a couple of times previously about tools that can help us overcome those difficulties:

I’m pleased to announce a new tool in the ANSYS Mechanical tool belt in version 17.0.
With version 17.0 of ANSYS we get a new meshing option for structural simulations: Nonlinear Mechanical Shape Checking. This option has been added to the previously available Standard Mechanical Shape Checking and Aggressive Mechanical Shape Checking. For a nonlinear solution in which elements can become significantly distorted, if we start with better-shaped elements they can undergo larger deformations without encountering errors in element formulation we may encounter fewer difficulties as the nodes deflect and the elements become distorted. The nonlinear mechanical setting is more restrictive on the element shapes than the other two settings.

We’ve been recommending the aggressive mechanical setting for nonlinear solutions for quite a while. The new nonlinear mechanical setting is looking even better. Anecdotally, I have one highly nonlinear customer model that reached 95% of the applied load before a convergence failure in version 16.2. That was with the aggressive mechanical shape checking. With 17.0, it reached 99% simply by remeshing with the same aggressive setting and solving. That tells you that work has been going on under the hood with the ANSYS meshing and nonlinear technology. By switching to the new nonlinear mechanical shape checking and solving again, the solution now converges for the full 100% of the applied load.
Here are some statistics using just one measure of the ‘goodness’ of our mesh, element quality. You can read about the definition of element quality in the ANSYS Help, but in summary better shaped elements have a quality value close to 1.0, while poorly shaped elements have a value closer to zero. The following stats are for tetrahedral meshes of a simple turbomachinery blade/rotor sector model (this is not a real part, just something made up) comparing two of the options for element shape checking. The table shows that the new nonlinear mechanical setting produces significantly fewer elements with a quality value of 0.5 or less. Keep in mind this is just one way to look at element quality – other methods or a different cutoff might put things in a somewhat different perspective. However, we can conclude that the Nonlinear Mechanical setting is giving us fewer ‘lower quality’ elements in this case.

 Shape Checking Setting Total Elements Elements w/Quality <0.5 % of elements w/Quality <0.5 Aggressive Mechanical 31683 1831 5.8 Nonlinear Mechanical 31865 1249 3.9

Here are images of a portion of the two meshes mentioned above. This is the mesh with the Aggressive Mechanical Shape Checking option set:
The eyeball test on these two meshes confirms fewer elements at the lower quality contour levels.

And this is the mesh with the Nonlinear Mechanical Shape Checking option set:

So, if you are running nonlinear structural models, we urge you to test out the new Nonlinear Mechanical mesh setting. Since it is more restrictive on element shapes, you may see longer meshing times or encounter some difficulties in meshing complex geometry. You may see a benefit in easier to converge nonlinear solutions, however. Give it a try!

Be a Pinball Wizard with Contact Regions in ANSYS Mechanical

I had a very cool music teacher back in 6th or 7th grade in the 1970’s in upstate New York.  Today we’d probably say she was eclectic.  In that class we listened to and discussed fairly recent songs in addition to general music studies.  Two songs I remember in particular are ‘Hurdy Gurdy Man’ by Donovan and ‘Pinball Wizard’ by The Who.  If you’re not familiar with Pinball Wizard, it’s from The Who’s rock opera Tommy, and is about a deaf, mute, blind young man who happens to be adept at the game of pinball.  Yes, he is a Pinball Wizard.  This sing popped into my head recently when we had some customer questions here at PADT regarding the pinball region concept as it pertains to ANSYS contact regions.

I’m not sure if the developers at ANSYS, Inc. had this song in mind when they came up with the nomenclature for the 17X (latest and greatest) series of contact elements in ANSYS, but regardless, you too can be a pinball wizard when it comes to understanding contact elements in ANSYS Mechanical and MAPDL.

Fans of this blog may remember one of my prior posts on contact regions in ANSYS that also had a musical theme (bringing to mind Peter Gabriel’s song “I Have the Touch”):

In this current entry we will go more in depth on the pinball region, also known as the pinball radius.  The pinball region is involved with the distance from contact element to target element in a given contact region.  Outside the pinball region, ANSYS doesn’t bother to check to see if the elements on opposite sides of the contact region are touching or not.  The program assumes they are far away from each other and doesn’t worry about any additional calculations for the most part.

Here is an illustration.  The gray elements on the left represent the contact body and the red elements on the right represent the target body (assuming asymmetric contact).  Target elements outside the pinball radius will not be checked for contact.  The contact and target elements actually ‘coat’ the underlying solid elements so they are shown as dashed lines slightly offset from the solid elements for the sake of visibility.  Here the pinball radius is displayed as a dashed blue circle, centered on the contact elements, with a radius of 2X the depth of the underlying solid elements.

So, outside the pinball region, we know ANSYS doesn’t check to see if the contact and target are actually in contact.  It just assumes they are far away and not in contact.  What about what happens if the contact and target are inside the pinball region?  The answer to that question depends on which contact type we have selected.

For frictionless contact (aka standard contact in MAPDL) and frictional contact, the program will then check to see if the contact and target are truly touching.  If they are touching, the program will check to see if they are sliding or possibly separating.  If they are touching and penetrating, the program will check to see if the penetration exceeds the allowable amount and will make adjustments, etc.  In other words, for frictionless and frictional contact, if the contact and target elements are close enough to be inside the pinball region, the program will make all sorts of checks and adjustments to make sure the contact behavior is adequately captured.

The other scenario is for bonded and no separation contact.  With these contact types, the program’s behavior when the contact and target elements are within the pinball region is different.  For these types, as long as the contact and target are close enough to be within the pinball region, the program considers the contact region to be closed.  So, for bonded and no separation, your contact and target elements do not need to be line on line touching in order for contact to be recognized.  The contact and target pairs just need to be inside the pinball region.  This can be good, in that it allows for some ‘slop’ in the geometry to be automatically ignored, but it also can have a downside if we have a curved surface touching a flat surface for example.  In that case, more of the curved surface may be considered in contact than would be the case if the pinball region was smaller.  This effect is shown in the image below.  Reducing the pinball radius to an appropriate smaller amount would be the fix for eliminating this ‘overconstraint’ if desired.

There is a default value for the pinball region/radius.  It can be changed if needed.  We’ll add more details in a moment.  First, why is it called the “pinball” region?  I like to think it’s because when it’s visualized in the Mechanical window, it looks like a blue pinball from an actual pinball arcade game, but I’ll admit that the ANSYS terminology may predate the Mechanical interface.  The image below shows what I mean.  The blue balls are the different pinball radii for different contact regions.

Note that you don’t see the pinball region displayed as shown in the above image unless you have manually changed the pinball size in Mechanical.  The pinball region can be changed in the Mechanical window in the details view for each contact region by changing Pinball Region from Program Controlled to Radius, like this:

In MAPDL, the pinball radius value can be changed by defining or editing the real constant labeled PINB.

By now you’re probably wondering what is the default value for the pinball radius?  The good news is that it is intelligently decided by the program for each contact region.  The default is always a scale factor on the depth of the underlying elements of each contact region.  In the first pinball region image shown near the beginning of this article, the example plot shows the pinball region/radius as two times the depth of the underlying elements.

The table below summarizes the default pinball radius values for most circumstances for 2D and 3D solid element models.  More detailed information is available in the ANSYS Help.

Default Pinball Radius ValuesLarge Deflection Off
Flexible-Flexible
Large Deflection On
Flexible-Flexible
Frictionless and Frictional1* Underlying Element Depth2*Underlying Element Depth
Bonded and No Seperation0.25*Underlying Element Depth0.5*Underlying Element Depth
Rigid-Flexible Contact: Typically the Default Values are Doubled

Summing it all up:  we have seen how the default values are calculated and also how to change them.  We have seen what they look like as blue balls in a plot of contact regions in Mechanical if the pinball radius has been explicitly defined.  We also discussed what the pinball radius does and how it’s different for frictionless/frictional contact and bonded/no separation contact.

You should be well on your way to becoming a pinball wizard at this point.

Does performing simulation in ANSYS make you think of certain songs, or are there songs you like to listen to while working away on your simulations an addition to The Who’s “Pinball Wizard” and Peter Gabriel’s “I Have the Touch”?  If so, we’d love to hear about your song preferences in the comments below.

To Use Large Deflection or Not, That Is the Question

It seems like I’ve been explaining large deflection effects a lot recently. Between co-teaching an engineering class at nearby Arizona State University and also having a couple of customer issues regarding the concept, large deflection in structural analyses has been on my mind.

Before I explain any further, the thing you should note if you are an ANSYS Mechanical simulation user is this: If you don’t know if you need large deflection or not, you should turn it on. There is really no way to know for certain if it’s needed or not unless you perform a comparison study with and without it.

So, what are large deflection effects? In simple terms the inclusion of large deflection means that ANSYS accounts for changes in stiffness due to changes in shape of the parts you are simulating. The classic case to consider is the loaded fishing rod.

In its undeflected state, the fishing rod is very flexible at the tip. With a heavy fish on the end of the line, the rod deflects downward and it is then easy to observe that the stiffness of the rod has increased. In other words, when the rod is lightly loaded, a small amount of force will cause a certain downward deflection at the top. When the rod is heavily loaded however, a much larger amount of force will be needed to cause the tip to deflect downward by the same amount.

This change in the force amount required to achieve the same change in displacement implies that we do not have a linear relationship between force and displacement.
Consider Hooke’s law, also known as the spring equation:

F = Kx

Where F is the force applied, K is the stiffness of the structure, and x is the deflection. In a linear system, doubling the force results in double the displacement. In our fishing rod case, though, we have a nonlinear system. We might need to triple the force to double the displacement, depending on how much the rod is loaded relative to its size and other properties, and then to double the displacement again we might need to apply four times that force, just using numbers out of my head as examples.

So, in the case of the fishing rod, Hooke’s law in a linear form does not apply. In order to capture the nonlinear effect we need a way for the stiffness to change as the shape of the rod changes. In our finite element solution in ANSYS, it means that we want to recalculate the stiffness as the structure deflects.

This recalculation of the stiffness as the structure deflects is activated by turning on large deflection effects. Without large deflection turned on, we are constrained to using the linear equation, and no matter how much the structure deflects we are still using the original stiffness.

So, why not just have large deflection on by default and use it all the time? My understanding is that since large deflection adds computation expense to have it on, it’s off by default. It’s the same as for a lot of advanced usage, such as frictionless or frictional contact vs. the default bonded (simpler) behavior. In other words, turning on large deflection will trigger a nonlinear solution, meaning multiple passes through the solver using the Newton Raphson method instead of the single pass needed for a linear problem.

Here is an example of a simplified fishing rod. The image shows the undeflected rod (top), which is held fixed on the left side and has a downward force load applied on the right end. The bottom image shows the final deflected shape, with large deflection effects included. The deflection at the tip in this case is 34 inches.

In comparison running the same load with large deflection turned off resulted in a tip deflection of 40 inches. Thus, the calculated tip deflection is 15% less with large deflection turned on, since we are now accounting for change in stiffness with change in shape as the rod deflects.

Below we have a force (horizontal axis) vs. deflection (vertical axis) plot for a nonlinear simulation of a fishing rod with large deflection turned on. The fact that the curve is not a straight line confirms that this is a nonlinear problem, with the stiffness (slope of the curve) not constant. We can also see that as the force gets higher, the slope of the curve is more horizontal, meaning that more force is needed for each incremental amount of displacement. This matches our observations of the fishing rod behavior.

So, getting back to our original point, it’s often the case that we don’t know if we need to include large deflection effects or not. When in doubt, run cases with and without. If you don’t see a change in your key results, you can probably do without large deflection.

Here is an example using an idealized compressor vane. In this case, the deflections and stresses with and without large deflection effects are nearly the same (the stress difference is about 0.2%).

Large Deflection On:

Small Deflection:

Bottom line: when in doubt, try it out, with and without large deflection. In ANSYS Mechanical, Large Deflection effects are turned on or off in the details of the Analysis Settings branch.

It’s worth noting that turning on large deflection in ANSYS actually activates four different behaviors, known as large deflection which include large rotation, large strain, stress stiffening, and spin softening. All of these involve change in stiffness due to deformation in one way or another.

If you like this kind of info, or find it useful, we cover topics like this in our training classes. For more info, check out our training pages at http://www.padtinc.com/support/software/training.html.

Checking Hyper-Elastic Material Models

When using hyper-elastic materials, analyst often have little material data to assist them. Fortunate engineers will have a tensile stress-strain curve; a lucky few will also have a simple shear stress-strain curve as well. Where do you start?

To gain confidence in the procedure which is typically used, a set of FEA models were run in a closed loop. The loop consists of assuming some material parameters, running FEA models based upon those parameters, and then using the FEA results to recover the material parameters using ANSYS’s built in hyper-elastic curve fitting.

To isolate the material model from boundary conditions effects, simple FEA models that are 3D but have 1D stress states are used. The figures below show tensile and shear models that can be used to verify material models.

For this article, a 2 Parameter Mooney-Rivlin material model with values consistent with typical Imperial units was selected. The figure below shows the data entry including a value of zero for d which indicates that the material is fully incompressible.

The tensile test FEA model was run with this 2 parameter MR model. The engineering stress-strain results were extracted from the results using /post26 APDL. The results are graphed and listed in the figure below. We use APDL because there are some calculations involved with getting engineering results. For example, the engineering stress was calculated by dividing the reaction force at node n1 by the original area like this:

`RFORCE,2,n1,F,z,Fz_2QUOT,3,2, , , , , ,-1/area_,1,`

This test data was then used in ANSYS’s curve fitting routine. The results of the curve fitting are shown below. The parameters from the curve fitting results are < 0.01% different than the assumed inputs. This is a reassuring result. Note that this is one instance in ANSYS that you are required to use engineering data (for hyper-elastic curve fitting only).

In recent versions of ANSYS, a hyper-elastic response function was introduced. This allows the user to enter the test data and use it without curve fitting. The figure below shows how uniaxial tension test data is entered and the response function activated to use it.

As expected, the response function matched the /post26 output exactly. This method offers a clear advantage in that the user doesn’t need to assume a material model.

The next step in this verification process was to run some simple shear FEA models to compare the curve fitting results. The plot below shows the engineering shear stress-strain curve using the 2 parameter MR model from above.

The data was curve fitted as shown in the figure below. This time both the uniaxial tension and simple shear data are entered. The resulting 2 parameter model differs (<2%) from the entered model.

These new values were used in the FEA models. As shown in the figures below, the change in material parameters (<2%) did not significantly change the tensile or shear stress-strain results (<1%). This raises some interesting questions regarding the 2 parameter MR model that will be explored at a later date.