Helpful New Meshing Feature in ANSYS Mechanical 17.0 – Nonlinear Mechanical Shape Checking

ansys=new-mesh-r17Meshing 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:ansys-new-meshing-17-01
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:

ansys-new-meshing-17-02

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

pinball-wizard-pinball-machine-ANSYS-3
A pinball machine based on The Who’s Tommy

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.

pinball_radius_contact_illustration

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.

pinball_radius_bonded_noseparation

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.

pinball_radius_visualization

 

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:

pinball_radius_change

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

Hamlet-Large-DeflectionIt 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.

Ted-rod-fishing1

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.

Undeformed_deformed_rod

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.

Force_vs_Deflection

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:blade_large_defl

Small Deflection:blade_small_defl

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

non-linear-thumbWhen 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.
cs1

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.
cs2

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_2
QUOT,3,2, , , , , ,-1/area_,1,

cs3This 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).
cs4

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.
cs5

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.
cs6

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.
cs7

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.
cs8

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.
cs9