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

Text List of Named Selections

PADT's script on writing out named selections to a text file in the ACT Console did not work for me when I copied-and-pasted it into the ACT console. Perhaps it was meant to be used with Linux OS? I tweaked the code a little for my Windows 10, Ansys WB 18.1. Here's my take:

a = ExtAPI.DataModel.AnalysisList[0]  #Get the first Analysis if multiple are present
workingdir = a.WorkingDir
path = workingdir.split("\\")

#Put the output file in the "user_files" directory for the project.
slashes = '\\'
userdir = slashes.join(path[:len(path)-4])+'\\user_files'

#Use the name of the system in case the snippet is
#used on multiple independent systems in the project.
system_name=a.Name
system_name.replace(' ','_')
model = ExtAPI.DataModel.Project.Model
nsels = model.NamedSelections  #Get the list of Named Selections

if nsels:
    f = open("%s\\%s_named_selections_checked.txt"%(userdir,system_name), "w")
    for child in nsels.Children:
        f.write("%s\n"%child.Name)
    f.close()

This and Other Related Posts
ACT Console: Link
Text List of Named Selection: Link

ACT to Automate Post-Processing: Link

Comments