A while ago, a person asked about the hypoplasticity umats, the problem was that the umats were not working when compiled using the oneAPI fortran compiler, an error was encountered “error …please check the msg file”. This error was not occuring if the umat was compiled with earlier fortran compilers such as the parallel XE. oneAPI compiler being free and the others not, this was very frustrating to many of us. Other researchers were able to use oneAPI and no error was occurring to them. Moreover, i also had a simpe elasticity umat which was running perfectly without issues when compiled with oneAPI, which made me think that the problem was actually with the hypoplasticity umats and not with the compilers.
I think i have solved the problem: basically this issue is due to the ”stop” commands present in the Hypoplasticity umats. the oneAPI compiler seems to have a problem with this commands and is shutting down everything. I used the previously working elasticity umat and added a “stop” command to it and it didnt work which confirmed that the problem was actually the stop command. The most surprising is that even if the stop command is not used inside the umat subroutine and is just called inside another subroutine, the umat wont work, for example:
“some code, xit_h subroutine is not called inside umat”
The sand Hypoplasticity umat has a total of 2 stop commands (if a conditions is not met=> stop the program using “stop” command), the xit_h subroutine is also used to call the stop command. One way around it is to modify the lines where “stop” commands are encountered:
– instead of using ”stop”, we should use the abaqus XIT subroutine (you dont need to define XIT it, abaqus will recognize it)
– we could also use the xit_h subroutine that is actually coded in the hypoplasticity umat, but we need to remore the “stop” and replace it with ”call xit”.
I added some pictures to show how i modified the umat, i tested it and it worked for me.
I tried to give clear explanations, i hope you all get this issue solved.
NOTE: the “stop” command issue was figured out by an other person on ResearchGate, i only investigated it and proposed the fix.