Skip to main content


Showing posts from June, 2018

Non-linear Convergence

Saying 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): 1. CAEAI: Best Practices (link) 2. Joseph Metrisin: contact convergence debugging guidelines (link)  3. Rod Scholl: contact analysis guidelines (link) 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 re…

ACT to Automate Post-Processing

I gushed about the ACT console in a previous post. Here's another example of automatically populating some post processing objects for all time steps inside Mechanical after a solve. Copy-and-paste it in Mechanical ACT Console Command Line, then hit the Enter key.

Text file of script: Link.

# Extracts at each time step... # x, y, z stress components, von Mises stress, max principal stress, total deformation, and x, y, z normal deformation components numsteps = ExtAPI.DataModel.Project.Model.Analyses[0].AnalysisSettings.NumberOfSteps for ct in range(numsteps): setTime = str(ct+1) + " [s]" nowTime = str(ct+1) + "s" # Normal Stresses sx=ExtAPI.DataModel.Project.Model.Analyses[0].Solution.AddNormalStress() sx.NormalOrientation =NormalOrientationType.XAxis sx.DisplayTime=Quantity(setTime) sx.Name = "Normal Stress X at "+nowTime sy=ExtAPI.DataModel.Project.Model.Analyses[0].Solution.AddNormalStress() sy.NormalOrientation =Norma…