Skip to main content

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:
  1. Knows simple programming concepts like loops and functions
  2. 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 libraries using !pip install. All notebooks are saved into Google Drive.

Basic Introduction
This very well written Very Basic Introduction to Scientific Python Programming is a great 30 page read to get up to speed. It bridges concepts of programming from math quickly.

Python.org Tutorial
The official tutorial is a bit dry but worth going through quickly especially for Data Structures, Modules and Exceptions.

Automate the Boring Stuff with Python
This free book is a gem for putting Python to use in our every day work-life. Although it is a little sparse as an introduction to Python, it has many valuable step-by-step tricks on specific tasks.

Classes and Object Oriented Programming (OOP)
After trying to learn the concept from different sources, I found Chapter 7 and 10 of Primer on Scientific Computing with Python by Hans Petter Langtangen to be very refreshing. He provided a good numerical problem and attacked it conventionally, pointing out the difficulties and offered OOP as a better solution. It finally clicked for me.

Best of luck!

Addendum (2022)
Epsilon FEA has an amazing presentation on Workbench Scripting. The GitHub of the scripts are very insightful.

Comments

  1. David Beazley's Youtube videos on python are one of my favorites.

    ReplyDelete

Post a Comment

Popular posts from this blog

ANSYS User Defined Results

There is an abundant of options in ANSYS classic when one wishes to post process results. ANSYS workbench default pull down menu post processing options are more limited but they can still be accessed via the User Defined Results. One way not commonly used but can come in handy is as follows: Zeroth: Under Analysis Settings, there is "Output Controls" where you can toggle to "Yes" what you would like to save before the solution starts. This is like OUTRES in APDL. Output Controls First: After solving the model, click on Solution in the tree to highlight it. Solution Second: Click on Worksheet in the toolbar. Worksheet Third: In the worksheet, you will see list of results that are saved. Right click on it to create the User Defined Results. Create User Defined Results So here we have it. You could of look up the different expressions in the help document but I find this method of accessing the results convenient.  Example: Aspec

Export Stiffness Matrix from Ansys

It is sometimes useful to extract the mass and stiffness matrix from Ansys.     *SMAT, MatK, D, IMPORT, FULL, file.full, STIFF       *PRINT, matk, matk, txt Exporting mass matrix would be similar:       *SMAT, MatM, D, import, full, file.full, MASS The above script uses APDL Math to get the job done. (Please see previous post for another example). The ordering of the matrix is unfortunately not concurrently exported. To verify the sequencing is as expected, we will work to replicate a truss example in the  Finite Element Trusses course notes by Bob Greenlee. Figure 1: Truss Problem Setup Model Creation Script to create model: /prep7 !! Creates Model to reflect course notes ! Properties et ,1,1  mp , ex, 1, 29.5e6 r , 1, 1 ! Geometry n ,1 $  n ,2, 40 $  n ,3, 40, 30 $  n ,4, 0, 30 e ,1,2 $  e ,2,3 $  e ,1,3 $  e ,3,4 ! Boundary Conditions d ,1,ux,0 $  d ,1,uy,0 d ,2,uy,0 d ,4,ux,0 $  d ,4,uy,0 f ,2,fx,20e3 f ,3,fy,-25e3 ! solves /solu eqslv , sparse

ANSYS APDL Syntax Highlighting editor

Notepad++ with APDL User Defined Language The editor of my choice is Notepad++  with the available User Defined Language Files for APDL . You can install it without administrative privileges via the zip file. The best part of it is, it's FREE! After installing Notepad++, go to "Language>Define Your Language..." then "Import" the XML file downloaded from the above link. Remember to restart Notepad++ so that the language changes will take into effect. Opening up any *.inp or *.ans files should automatically switch highlighting to APDL. I made some minor edits. Here's my XML file: LINK . I also heard Sublime Text and  Ultraedit  has more advance features but they aren't (totally) free.