Non-linear Convergence

Livin' ON a Prayer*

In the few tingling seconds between saving the project and hitting Solve on Ansys, I would mutter a prayer under my breath. There is always an indescribable brief sense of helplessness and hope. Non-linear problems are tough because... they are nonlinear! A small nudge can have disproportional effects.

Learning how to solve non-linear problems takes patience and luck. Here are some resources which I found useful in my journey in learning the secret arts (in no particular order):
4. Ansys: Could you give me tips and tricks for Non-linear simulations? (link)
5. John Higgins: Obtaining and Optimizing Structural Analysis Convergence (link)
6. PADT: Overcoming Convergence Difficulties (Part I & II)
7. Ansys: Snap Fit Analysis - Best Practice (link)
8. Charlie Wells: Xansys words-of-wisdom (link)

It is no doubt worth reading the lecture notes on Ansys.com: Basic Structural Nonlinearities with ANSYS Mechanical 17.0 (link)

Some of the best tips I found useful:
1. Align nodes between contact and target if possible in the sliding direction (link)
2. Save Newton-Raphson Residuals & Identify Element Violation before analysis starts (link)
3. Use MPC for bonded contacts if needed (link).
4. Set small initial time steps. Here is my default setting for difficult problems:

The first step would thus be 1/100= 0.01s with a minimum time step of 1/1000= 0.001s. Apply this to all "Current Step Number" of interest.

5. Have similar size mesh at contacts. If not, Contact has finer mesh while Target is coarser.
6. Slice and dice geometry such that the volumes adjacent to contacts can be Hexahedron elements.
- Starting with pretty mesh by the contacts reduces the distortion during the analysis.
- Hexahedron elements are less distorted when capturing curved geometries (e.g. holes).
7. Drop Contact Normal Stiffness Factor (i.e. FKN) to 0.01. Watch out for excessive penetration.
8. Use Contact Tool to see if any contacts are open. Pinball radius may need tweaking.
9. Switch model to Displacement driven instead of Force driven for better stability.
10. Avoid over-constrained model whenever possible (e.g. symmetry and bonded contacts)
11. Move the body to be just in contact so that it doesn't 'fly' a small distance before touching.

What Next?
There are more complicated techniques when desperate like ramping up FKN using RMODIF gradually. Another is to swap out displacement driven to force driven mid-flight. Many more are described in the links above. Hopefully more exotic techniques aren't required. Otherwise, as Bon Jovi famously sang...
Woah, we're half way there
Woah, livin' on a prayer
Take my hand, we'll make it I swear
Woah, livin' on a prayer

Good luck!

1Bow your head towards Canonsburg and pray to the Ansys gods before clicking solve - Joe

1. Thanks, Jason! Great tips

2. Great summary!

3. Really appreciate it!

ANSYS User Defined Results

There is an abundant of options in ANSYS classic when one wishes to post process results. ANSYS workbench default pull down menu post processing options are more limited but they can still be accessed via the User Defined Results. One way not commonly used but can come in handy is as follows: Zeroth: Under Analysis Settings, there is "Output Controls" where you can toggle to "Yes" what you would like to save before the solution starts. This is like OUTRES in APDL. Output Controls First: After solving the model, click on Solution in the tree to highlight it. Solution Second: Click on Worksheet in the toolbar. Worksheet Third: In the worksheet, you will see list of results that are saved. Right click on it to create the User Defined Results. Create User Defined Results So here we have it. You could of look up the different expressions in the help document but I find this method of accessing the results convenient.  Example: Aspec

Export Stiffness Matrix from Ansys

It is sometimes useful to extract the mass and stiffness matrix from Ansys.     *SMAT, MatK, D, IMPORT, FULL, file.full, STIFF       *PRINT, matk, matk, txt Exporting mass matrix would be similar:       *SMAT, MatM, D, import, full, file.full, MASS The above script uses APDL Math to get the job done. (Please see previous post for another example). The ordering of the matrix is unfortunately not concurrently exported. To verify the sequencing is as expected, we will work to replicate a truss example in the  Finite Element Trusses course notes by Bob Greenlee. Figure 1: Truss Problem Setup Model Creation Script to create model: /prep7 !! Creates Model to reflect course notes ! Properties et ,1,1  mp , ex, 1, 29.5e6 r , 1, 1 ! Geometry n ,1 $n ,2, 40$  n ,3, 40, 30 $n ,4, 0, 30 e ,1,2$  e ,2,3 $e ,1,3$  e ,3,4 ! Boundary Conditions d ,1,ux,0 $d ,1,uy,0 d ,2,uy,0 d ,4,ux,0$  d ,4,uy,0 f ,2,fx,20e3 f ,3,fy,-25e3 ! solves /solu eqslv , sparse