Elastic and Plastic deformation gradients in AB Viscoplastic model
I am trying to write a VUMAT to implement the Arruda-Boyce viscoplastic model. After assuming linear elasticity at the beginning of the analysis, the total deformation gradient (F) can be easily obtained from defgradNew.
I am a little bit confused about how to decompose F into its elastic and plastic components. Should I obtain the plastic components from the state variables and then, of course, find the elastic part via the product of F and the inverse of the plastic part?
How about the plastic flow rate, the rate of the plastic deformation, time-derivative of the deformation gradient, and the strain softening. How to incorporate these to capture the material response?
My reference is Chapter 8 of your book (Mechanics of Solid Polymers).
Thank you very much,
Good question. You need to save either the elastic or the plastic components of F as state variables. I typically save Fp. Then you need to write an equation for the time-derivative of Fp, and calculate Fp at time t+dt. Once you have Fp at t+dt, you can calculate Fe at t+dt, which you can use to calculate the new stress at t+dt.
Best of luck,
The total F(t+dt) is provided by Abaqus, so you can calculate Fe(t+dt) once you have calculated Fp(t+dt).
Many many thanks. I realized that the total F at the beginning and at the end of the time step is given by defgradOld and defgradNew, respectively.
Once again, I appreciate your guidance. It means everything to my research.
I have written the code for AB viscoplastic model. I must have missed a few important details as there is an excessive distortion of elements.
The only part of the code that I borrowed is the one that utilizes Jacobi method for eigen values and vectors (In order to calculate the Hencky strain).
If you have a minute, kindly have a look at my code (attached) and (if possible) give me some hints on where I could be wrong.
At first sight, your code looks reasonable. Unfortunately it is very time consuming to carefully review code, and my schedule is too busy to spend hours reviewing the code. I'm happy to answer any questions, however 😀
I'm not quite sure I understand. The plastic deformation at the start of an increment needs to be obtained from the state variables. Similarly, you need to save the new plastic deformation at the end of an increment as the state variables.