Notifications
Clear all

General VUMAT question  


Hongchul
Posts: 2
(@Hongchul)
New Member
Joined: 10 years ago

I have a three invariant geo-plasticity model that has been verified with great success in research FE code and I would now like to implement the model in abaqus as a vumat. To that end I have run into two problems that I cannot seem to overcome:

1. I need to call a subroutine that checks the user inputs (props array) before any calculations are made. The subroutine also needs to modify the user inputs if need be.

2. After checking user inputs I need to call a subroutine to initialize the state variable array. The initial values of some of the state variables will be initialized based on values in the props array.

It seems that I could probably come up with a work around using UMAT and the SDVINI subroutine, but I would like to use VUMAT as the code is mainly used for shock physics applications.

Any insight on how to approach the above two problems in Abaqus would be much appreciated!

Tim Fuller

Ph.D. candidate

Dept. of Mech. Eng.

University of Utah

Topic Tags
3 Replies
Jorgen
Posts: 3874
Moderator
(@jorgen)
Member
Joined: 10 months ago

Based on your description it sounds to me like it should be sufficient to use a VUMAT subroutine. Inside a VUMAT subroutine you can modify the props array and initialize state variables in any way you like.

- Jorgen

Topic Tags
3 Replies
Hongchul
Posts: 2
(@Hongchul)
New Member
Joined: 10 years ago

Jorgen,

Thank you for the reply. Im relieved to know that I can modify the props array, despite it being labeled input only. As for the state variable array, how would you suggest initializing each value? Im thinking of some statement like:

IF(TOTALTIME.EQ.ZERO) CALL STATEVINIT(PROPS,STATEOLD,...)

which would replace STATEOLD at time t=0.0 with the initialized array from the routine STATEVINIT. This doesnt seem real elegant, however, and Im not sure that I would be properly initializing the state variables for each element. Do you have a suggestion on how to initialize the state variables for each cell before calculations begin?

Thanks,

Tim Fuller

Reply
Jorgen
Posts: 3874
Moderator
(@jorgen)
Member
Joined: 10 months ago

Well, what I meant was that you can create a copy of the props array and then modify that copy. It is not a good idea to overwrite an input only variable.

Your if-statement looks about right. Note that you should not overwrite the stateold since that is input only. You need to work with statenew.

-Jorgen

Reply
Share: