Book Interview with SIMULIA

Here is the transcript of Gautam's web based interview with Mr Rene Springer, Business Development Manager (Academics), SIMULIA Americas, in January 2012. The original posting can be viewed on the Simulia Learning Community at https://swym.3ds.com/#post:6799


 

Rene Sprunger:

January 15, 2012

I am very excited to announce a new book on Abaqus Scripting!  Gautam Puri contacted me two years ago from Georgia Tech that he was interested in writing a book.  He mentioned to me that he taught himself scripting with Abaqus and found little information on this subject.  I was so impressed with him that I hired him as an intern last year.  I highly recommend using his book for your research. 

Gautam is graduating this spring and will be looking for employment (hint hint).
 

Rene – Can you briefly describe what this book is about?

Gautam – The book is aimed at Abaqus users who would like to write Python scripts to complement their FEA studies.  The title - “Python Scripts for Abaqus – Learn by Example” is quite descriptive since the focus all through the book is on learning from examples. The Abaqus documentation with the scripting user manual and scripting reference manual   already has all the theory a researcher would need, but it is not geared toward beginners, and creating a working script within a reasonable amount of time is a real challenge for someone just starting out. That’s where this book comes in. It will get you up and running in a few days, and you’ll go from writing your first line of Python code to setting up entire models in Abaqus using the Python scripting interface.

Rene – You say Python scripting complements the FEA studies. Can you elaborate?

Gautam - Generally when you perform a study in Abaqus, you write an input file in a text editor that sets up your model, or you use the graphical user interface (Abaqus/CAE) to create a model (and Abaqus creates the input file in the background when you run the job). What you have here is a single FEA model.  As part of your research, you might be required to run an optimization where you change some parameters in this model, such as dimensions, loads, materials, etc. to find out what gives you the best results. You would need to edit your model (in case of a small change) or recreate it entirely from scratch. Depending on how many simulations you plan to run, this can become a very time consuming process.

By writing a script you can automate this process. You parameterize your model – or in simple terms assign stuff to variables. Maybe some of your dimensions can be assigned to variables, or some of your loads and boundary conditions. You can then edit the variable values and run the script, and it will recreate your model along those new parameters. You can create a loop which runs the analysis for varying sets of input variables/parameters, and then tabulates the results for these. Every time it changes the parameters, it can recreate your model, making decisions (based on your programming) about how other parameters will change as well. This is great for any sort of optimization study.

Rene – So the focus is on optimization?

Gautam - Well not exactly. More precisely, you can use a script to perform any sort of repetitive task. If all of your FEA models have a few things in common, such as material and section properties, you can write a script to define materials and sections. And every time you create a new model in the GUI (Abaqus/CAE), you can run the script instead of manually creating those material and section properties again. You can also use it to do something mundane like formatting all your history output plots a certain way, and it will control little details like the titles on your axes, line styles, etc. If it’s repetitive, use a script to do it.

Rene – Who is the target audience?

Gautam – It’s a little hard to pin down exactly who the target audience is, other than the fact that they are beginners to scripting in Abaqus. There are a lot of Abaqus users around the world in various industries and in academia. Python scripting does not apply to any particular field or industry, but can be used to programmatically accomplish anything you can do in Abaqus/CAE. So I guess anyone who is required to program up an Abaqus simulation with a script becomes the target audience.

The book is not an Abaqus tutorial though, so you need to know how to use the software itself (and if you don’t, of course there are the videos on my site and the tutorial series on the SLC). If for instance you are doing composites analysis, you need to know how to do that in Abaqus/CAE. The book will then help you translate your current model into a script and control it programmatically.

Rene – Have you received any feedback so far?

Guatam - The book has been out for about two months now, and the feedback has been great. Some of the researchers who purchased it have been waiting on it for a while since the website went online about 8 months before publication.

About half the buyers have been from academia (professors or graduate students) and the other half are from industry. I won’t name the companies themselves, but they span the engineering/technology spectrum from aerospace and mechanical engineering to petroleum and computer hardware. I was surprised to receive an order from an eye lens manufacturer, I didn’t know these guys were doing advanced FEA with Abaqus, let alone writing Python scripts.

Rene – What is your experience with scripting?

Gautam - A few years ago as an undergraduate student at Georgia Tech, I was working on a research project which relied heavily on Abaqus. This was in fact my first foray into Abaqus, not just Python scripting. The study was about optimizing the geometry and material properties of blast-resistant panels (armor plating) which consisted of two plates with a honeycomb structure in between. Manufacturing and testing such panels in the real world would have been too expensive, so simulations were the way to go. I needed to change the dimensions as well as material properties thousands of times, and this involved reassigning loads, boundary conditions, remeshing, etc. The models took more than half an hour to create by hand each time, so doing this manually a few thousand times was out of the question.

I realized I could automate the process with a Python script. We did not know anybody who had used the Abaqus scripting interface and I was also unable to find any tutorials online. So I taught myself scripting using the Abaqus documentation, the Python.org website, replay files, and a lot of trial and error. The process took a lot of time, and since I wasn’t working full-time on the project it ended up taking a few months to do what should have taken a few weeks. A lot of time was wasted debugging scripts and just getting things to work.

I worked on this project for about a year. After the project was completed (and results published) I started thinking about writing a beginners manual and posting it online so other students could use it.

Rene – And this turned into a book?

Gautam - It basically started off as that pet project. I also made some Abaqus tutorial videos which I posted on YouTube and these grew quite popular. So it wasn’t very organized in the beginning. Writing the little tutorial manual was in fact partly a learning experience also since my focus previously had been on getting the job done by the deadlines, rather than fully understanding how it all worked. I went ahead and emailed SIMULIA at this point just sort of testing the waters, and spoke with you. And since you guys were supportive, I decided to go through with turning this into a proper book.

I also put up a little website about it to see if people were interested, since it was going to be a pretty big time commitment. I got a lot of emails from researchers both in academia and in the commercial world. Most people were having the same frustrating experiences with scripting that I once did, and were interested in a book on this topic. Honestly, without their input I might have reconsidered the whole thing.

Rene – What was the biggest challenge?

Gautam – It was the time commitment. Since this was a side project from the beginning, it consumed most of my free time and weekends. I also kept exceeding the deadlines I’d set for myself, and the release date was constantly pushed back all the way from April till September 2011.

Rene – Where can this book be purchased?

Gautam – Currently the book is sold on the website www.abaquspython.com