I am modelling polycrystal shape memory alloys upon uniaxial loading using Abaqus UMAT. I modelled single crystal which are unrotated or rotated successfully. But when I model polycrystal shape memory alloys I get always this error in Abaqus message file: "***NOTE: THE SOLUTION APPEARS TO BE DIVERGING. CONVERGENCE IS JUDGED UNLIKELY. ***ERROR: TOO MANY ATTEMPTS MADE FOR THIS INCREMENT" . I know that this problem occurs because of the material Jacobian. I calculated my Jacobian numerically using finite difference.
I used this algorithm which Matsgd wrote for me in another thread:
1. Calculate the stress at time t+dt based on the strain at t+dt (and the state variables at time t).
2. Update STRESS and STATEV in the UMAT. Do not modify these when calculating DDSDDE.
Define SIX strain increment vectors:
de1 = alpha*[1 0 0 0 0 0]
de2 = alpha*[0 1 0 0 0 0]
de3 = alpha*[0 0 1 0 0 0]
de4 = 2*alpha*[0 0 0 1 0 0]
de5 = 2*alpha*[0 0 0 0 1 0]
de6 = 2*alpha*[0 0 0 0 0 1]
If your constitutive model uses engineering shear strains, ignore the factor "2" above.
For each of the strain increment vectors above, calculate a stress vector, using the known strain epsilon at time t+dt, and the strain increment vectors above. In other words, calculate stresses just the same way you would do normally, only this time based on the SIX strain vectors:
(epsilon + de1) -> sigma1
(epsilon + de2) -> sigma2
(epsilon + de3) -> sigma3
(epsilon + de4) -> sigma4
(epsilon + de5) -> sigma5
(epsilon + de6) -> sigma6
The first column of C is then given by
The second is given by
This algorithm is useful for single crystal problems. However, when I use polycrystal model, my solution does not converge. What can I do? Can it be an another problem different from Jacobian calculation? or Can I try different things in calculation of Jacobian?