Skip to main content

Defining Ansys Superelement SUB File Manually

Photo by  James Owen  on  Unsplash A surprisingly popular blog-post written here is Exporting Stiffness Matrix from Ansys . A sensible follow up question is what can one do with the exported stiffness matrix? In a recent Xansys Forum post, a question was raised on how we can edit the stiffness matrix of a superelement and use it for our model.  An approach presented below is to first create a superelement that has the same number of DOF and nodal location that will serve as a template. An APDL script can then be written to edit the stiffness matrix entries as desired before exporting to a new superelement *.SUB file for use in future models. The self-contained script below demonstrates this.  /prep7 et ,1, 185 mp , ex, 1, 200e3 mp , prxy, 1, 0.33 w = 0.1 ! single element (note nodal locations) n , 1, w, -w, -w n , 2, w, w, -w n , 3, -w, w, -w n , 4, -w, -w, -w n , 5, w, -w, w n , 6, w, w, w n , 7, -w, w, w n , 8, -w, -w, w e , 1, 2, 3, 4, 5, 6, 7, 8 /solu antype , substr     ! analy

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.NormalOrientation =NormalOrientationType.XAxis
   sx.Name = "Normal Stress X at "+nowTime
   sy.NormalOrientation =NormalOrientationType.YAxis
   sy.Name = "Normal Stress Y at "+nowTime
   sz.NormalOrientation =NormalOrientationType.ZAxis
   sz.Name = "Normal Stress Z at "+nowTime

   # Equivalent Stress
   se.Name = "Equivalent Stress at "+nowTime

   # Maximum Principal Stress
   sm = ExtAPI.DataModel.Project.Model.Analyses[0].Solution.AddMaximumPrincipalStress()
   sm.Name = "Maximum Principal Stress at "+nowTime

   # Total Deformation
   dt = ExtAPI.DataModel.Project.Model.Analyses[0].Solution.AddTotalDeformation()
   dt.Name = "Total Deformation at "+nowTime

   # Directional Deformation
   dx = ExtAPI.DataModel.Project.Model.Analyses[0].Solution.AddDirectionalDeformation()
   dx.Name = "Directional Deformation X at "+nowTime
   dy = ExtAPI.DataModel.Project.Model.Analyses[0].Solution.AddDirectionalDeformation()
   dy.Name = "Directional Deformation Y at "+nowTime
   dz = ExtAPI.DataModel.Project.Model.Analyses[0].Solution.AddDirectionalDeformation()
   dz.Name = "Directional Deformation Z at "+nowTime

# Evaluates All Results

# End of Script

This and Other Related Posts
ACT Console: Link
Text List of Named Selection: Link
ACT to Automate Post-Processing: Link


  1. This is really nice, unfourtunately you don't get proper documentation on this from ANSYS. Is there a way to not only generate thse objects but also to export the values? Similar like right click -> export data, but programmatically.


Post a Comment