Skip to main content

Posts

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 MATLABmmwrite.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 = mmread('mytemp.mtx'); % mmread.m must is in working directory

Recent posts

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)
Example: Modal and Harmonic …

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 functionsUnderstand 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 on 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 libraries using !pip install. All…

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 model, Ansys Workbench will flash a lot of e…

Ansys Student in the Cloud

Cloud Computing*?
Cloud computing is all the rage now for good reason. It is tempting to own a low cost computer and remote-desktop to a supercomputer. One could, in theory, run Ansys on Chromebook with internet connection by connecting to a Cloud Computing Providers Virtual Machine. I took a quick look and have the following to report.

Setting Up Windows Virtual Machine (VM) : Quick Start
Google Compute: YouTube 
Micosoft Azure: YouTube1 & YouTube2

Patience is key. After starting up the Virtual Machine for the first time, one has to wait a bit (15 minutes?) before the virtual machine really starts for one to remote login. I fiddled around with the "source IP ranges", setting it to 0.0.0.0 and even my own IP address. It was unclear if that was useful or waiting alone did the trick.

Once logged in, one has to override the strict security set by the Internet Explorer to allow download of the free Ansys Student.

Finally, remember to Shut Down from the remote desktop and &quo…

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 Metrisin1: 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…