User login

You are here

sequential Abaqus input change

Hidroxid's picture


 I need to write a python script that changes the inputs in my MDB file and then runs the abaqus code and gets the output and then goes on with another sets of inputs.

Since I am quite a beginner in abaqus-python scripting, does anyone has any clue how to do this automatically, I mean not changing the inputs in every run manually.




What you're looking for is a process automation tool. These are very common, and our product, HEEDS MDO , does it very well. It will automatically execute designs in series or in parallel, and gives you access to the most powerful optimization available.

Here are the basics of process automation. There are three main steps:

  1. Pre-processing - Adjusting model parameters. This can be done in a product like Abaqus/CAE through their replay file, or you can modify the Abaqus input deck directly (if the parameters you want to modify exist there). You can do the latter if you are modifying things like shell thickness, section material assignment, beam section properties, etc. If you want to do shape changes which would require remeshing, you need to drive an FE-processor like Abaqus/CAE.
  2. Model execution - This is very simple, you just need the name of the input deck. Open a command prompt or terminal window, navigate to the directory where you have the input deck, and execute the following: abaqus interactive job=<jobname>
    You will replace <jobname> with the name of your input deck. You can add other arguments like "cpus=4", "memory=8 gb", etc. as needed. The job will run and pass control back on the command prompt when complete.
  3. Post-processing - This can be done either by driving Abaqus/Viewer with a replay file and writing a rpt file, or by reading the ODB directly with a python script. I've explained how to do the latter at this link. Additionally, you can use certain keywords to get some data to be written to the *.dat file, but this is sometimes more difficult to work with.

I mentioned the replay file a few times, so some more explanation of that may be useful. Abaqus/CAE (and Viewer) automatically records everything you do into a replay file (abaqus.rpy). You can take advantage of that by opening CAE, performing some commands you want to automate, and closing. Then the replay file will contain a python script you can execute to perform the same steps in an automated way. You can then modify inputs in the replay file (like dimension values) and get new designs. To execute a replay file you run the following command: abaqus cae noGUI=<nameofreplay.rpy>
Replace "noGUI" with "startup" if you want interactive execution of the script.

So I hope that helps. Feel free to contact us at RCT if you're interested in optimization and process automation which is simple to use, and yet the most powerful available.

My Company - Red Cedar Technology

Hidroxid's picture

Hello Marcus

 Thanks for your answer,

But somehow I decided to do it using for loops in python and giving different input parameters using for loops.


sabrihussin's picture

Hello there, 

Did you solve it? 

sabrihussin's picture

Hello there, 

Did you solve it? 

Subscribe to Comments for "sequential Abaqus input change"

Recent comments

More comments


Subscribe to Syndicate