Skip to main content

Posts

Showing posts from May, 2019

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

Matrix Transfer between MATLAB and Ansys

Matrix Transfer * Reading and writing matrix or arrays to MATLAB and back can be painstaking as described by SimuTech in a well written article  using *TREAD  or *VREAD . Wouldn't it be great to have someone else do the heavy lifting for you on formatting etc? Fortunately there is a Matrix Market format sponsored by NIST that is also supported by Ansys and Matlab. There are two very useful MATLAB functions created just for this purpose: mmread.m   for reading in the Market Matrix file into MATLAB mmwrite.m for writing the matrix into a Matrix Market file Writing Matrix or Arrays from Ansys to be Read by MATLAB In Ansys... /prep7 *dim , c,, 10,10, 1 ! Example Matrix enow = 0 *do , ct, 1, 10              *do , ct2, 1, 10         c(ct,ct2) = ct*ct2     *enddo     *enddo     !!! Writes out Matrix to matlab *dmat , exportmatrix, D, import, APDL, c ! export to matrix file *export , exportmatrix, mmf, mytemp.mtx In MATLAB, the command is simply... c = mmrea