User login

You are here

Parallel Multiscale modeling in ABAQUS using UMAT

Hello everyone,

I am currently in the process of implementing a multiscale modeling approach in ABAQUS/Standard.

Here is what I am doing.

Macroscale ABAQUS model <--> UMAT <--> Python script <--> Microscale ABAQUS model

So basically the microscale model is being called at every macroscale integration point. The UMAT passes the required data to python as command line arguments and the python script returns the stress and tangent modulus in a text file.

The code works when I only use one cpu at the macroscale. When I increase the number of cpus to 2 or more, all the microscale models called in parallel encounter an "unexpected error" in pre.exe. Since we know that when multiple cpus are used, abaqus makes groups of elements to be solved by each cpu, I made separate folders for each element which was then set as the active folder as well as the stratch folder for all microscale calculations for that element. Even then the code does not work.

For cpus=2, I even added a time delay in UMAT for one group of elements just to check whether it was a disk I/O issue. But the solution still crashed during preprocessing of the first element (and later on the second element).

I can't identify the exact issue here.

If anyone has work on similar problems, I could really use some help.

And any suggestion are welcome.




M U Siddiqui 


May be your problem is due to memory allocation for cpu. I have met it in different solver, and the resolution was: define the memory for each cpu. 

Hi Siddiqui,

I had the same issue and at the end I gave up in trying to run the code in parallel. 

I believe that the problem is related to the way one runs the microscale model from the UMAT, i.e., "abaqus cae". Apparently abaqus cae can't run in parallel...

Thanks. At leat now I know the problem isnt in my code. But the limitation has turned the whole code very inefficient.

To check whether in any other instance abaqus cae can run in parallel, I tried calling the microscale model python script using parallel for loop in matlab and there it works just fine. Apparently, the problem come only when calling abaqus cae from UMAT.

I am thinking of two options right now.

  1. Either, switch to use a self-written code for the macroscale in MATLAB or FORTRAN.
  2. Or, to still model in ABAQUS but control the newton's method manually using Python and calling abaqus to solve each iteration. In between the iterations, the microscale model can be called in parallel.

Dear Siddiqui

Hi. I'm working on multiscale modelling of soft tissues. During my researches I became familiar with the mathematical and mechanical basis of the multiscale modeling. As you know the macro-micro analysis are computationally expensive, thus it is common to use commerical FE software such as Abaqus as what you do in your current research. My problem is that i'm very beginner!!! in Abaqus and I kind of in hury to finish my research. I'm wondering if you help me and introduce me some usefull materials about the macro-micro analysis (i.e. textbooks, tutorials, codes,...) using Abaqus.    

 I'm lookng forwad to hearing you ASAP.


Subscribe to Comments for "Parallel Multiscale modeling in ABAQUS using UMAT"

Recent comments

More comments


Subscribe to Syndicate