Segmentation fault while using UMAT in CalculiX

Any idea about segmentation fault??

I get this error when I try to run a static analysis. I am using a USER defined UMAT (elasto-plastic). I suspect that the error is because of this UMAT only because without it there’s no segmentation fault whatever.

Just for information, I have taken this UMAT code from ABAQUS documentation (file-name: cylbillet_slow_usr_umat_umatht.f) so I don’t think there’s any error inside the UMAT code as such. Or maybe it is. Comments??

CalculiX documentation does give some hits on searching ''segmentation fault" but none are linked/related to the use of UMAT (at least that is what I gathered).

Can anyone help?

Hi @bhanups1991, this happens when your program breaks some fundamental rule set by the operating system.

Did you use the umat.f as your template? I think that is the correct approach for compatibility with Abaqus UMATs. However, I do recall there are some differences in the names of the variables - this could be part of the issue.

Yes, I used the umat.f template file.

Actually, I think the error was because of different measures of strain being used in CalculiX (lagrangian) and ABAQUS (logarithmic).

Earlier I entered my UMAT code inside the umat_user.f and then compiled ccx which resulted in the error I mentioned.

I’ve now deleted the required UMAT code from umat_user.f and saved it in a new “my_mat.f” file which I call via the umat_abaqus.f. This “umat_abaqus.f” actually converts the ABAQUS strain/stress measures to CalculiX strain/stress measures which is the reason I am not seeing any segmentation error this time.


Hi, did you see MFRONT?

Hi @bhanups1991, I do recall some differences due to the different strain measures but in my case, it did not go to a segmentation fault, it only gave me the wrong numbers.
It would be good to find out what happened to see if there is a bug in the code or if it is something else.

Thanks for this reminder. I actually had visited this page sometime back but forgot to check it for this particular case.

To be honest, the last time I visited this page, I was kind of confused and reluctant to use this. It is a code generator utility, right?

Anyway, I’ll check this once again, but can we not directly call a UMAT code as I’ve done?


Yes that could also be a possibility.

Since I am still working on it. Let me get back if here if I find something.