General VUMAT question
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
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
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
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
- Thermal residual stresses in orthotropic material using UMAT in ABAQUS6 years ago
- Suggestions in writing Abaqus UMAT for hyperelastic materials7 years ago
- Problem with Orientation8 years ago
- A question about consistent Jacobian8 years ago
- Ogden Material:Closed-form expressions for the derivatives with respect to invariants8 years ago
- 21 Forums
- 3,870 Topics
- 13.2 K Posts
- 7 Online
- 29.4 K Members