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
Recent posts

CMS circa Ansys 2019 R3

CMS circa 2019R3 Roughly a year ago, I wrote about how you could reuse CMS elements using APDL snippets within Ansys Mechanical. The new feature of Condensed Geometry in recent releases unfortunately does not completely solve the problem; but does get you half way there. To recap, the goal here is to have a part (A) that is complicated/ huge  but now condensed into a teeny-tiny Super-Element. Changes can be quickly made to other parts (B). When combined together (C/D), the model as a whole is smaller and faster to solve since A is reused. This blog post is an update to the earlier post that uses the same technique but takes advantage of two new tools:  Condensed Geometry & Mesh Numbering . To get started, download the Ansys 2019R3 archived file to follow along. Archived File with RST ( 177.0MB )    Link  or Archived File without RST ( 1.5MB )   Link The rough procedure: Create and mesh both Analysis A for CMS part and Analysis B for other parts.  Note down maximum

Advice for Enterprising Engineers

This post fits squarely in "other thoughts" category. Some engineers asked for my advice on advancing their careers. To avoid giving bland advice, I hope these strategic framework might help guide their decisions. Be a Hero What does it mean to "Be a Hero"? It means you have to achieve something many people in the company will say is significant. It could be improving a tedious process, solving a customer issue that's been a pain in the rear for too long or introduce a tool that solves an unsolvable problem in the past. Let's call these " Hero Problems ". To be a hero, you will have to first develop an understanding of what the company needs. All companies will have their share of problems. Ask around, pay attention when coworkers say phrases like "I wish we could..." or "this is ridiculous, we should...". These offer clues on real Hero Problems. But why? Why should this be a strategy? This is the " Demand "

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

CMS Superelement Harmonic Analysis

Fig 1: Project Schematic With the release of Mechanical 19.2, substructuring is now available for Modal & Rigid Dynamics without scripting. That just made my  earlier post on CMS outdated! Note that there is still a key limitation where Generation and Expansion Pass must be performed on your local machine. To get ahead of the game a bit, here is a way to do Harmonic Analysis extending on previous work . (Please go through that before this post). Some points of note: The method of merging the CMS and non-CMS models together into System C is the same. All files related to the superelement has to be copied over to the solver file directory as before. Modal analysis need not be performed first as the example here uses  Full Method  instead of Modal Superposition for simplicity.  The script expands the responses the same way as Modal Analysis does so the script will look familiar. Additional Resources: Example: Harmonic Response to Unbalanced Force using CMS ( Link ) Exa

Learning Python for Ansys and Beyond

Figure 1: Colab by Google Ansys has  ACT extension where users can do some customization using a popular programming language called Python. The barriers to learning Python is now much lower but I'm still stumped by Object Oriented Programming. Hopefully this post would be useful to those who fit the following demographics: Knows simple programming concepts like loops and functions Understand some Calculus Side Notes on Ansys ACT Before You Begin Ansys uses  IronPython 2.7  which is an implementation in the .NET framework. Unfortunately, as I understand it, some libraries such as NumPy are difficult to install . Colabs Colaboratory Research by Google (Fig 1) is a neat tool. All you need is a free Google account and you can execute Python scripts in the browser. No installation required! It has Jupyter notebook running in the background and allows both Python 2 or Python 3. While NumPy and Matplotlib is already installed by default, you could install other librarie

Modal Submodeling

This post was inspired by CAEAI's blog post on modal analysis sub-modeling and an XANSYS question. Their instructions were not explicit and everything was done in Ansys Classic. The goal here is to show modal submodeling in Ansys Workbench. Here's a walk through of an example: Step 1 Solve the coarse model Modal Analysis (System A). Fig 1: Coarse Model Modal Analysis (System A) Step 2 Create a finely meshed submodel Harmonic Response Model (System B). This will be the submodel. Fig 2: Project Schematic After creating the desired mesh, add a named selection at the cut boundaries called  cut_face . Add the following command snippet in the Setup branch. !! Creates cut boundary NODE file ! WB will complain but boundarynodes.node file should be created /prep7 cmsel , s, cut_face nwrite , boundarynodes, node finish /exit The above step writes out a file listing the nodes and their coordinates which will be used for interpolation. After solving for the mode