andrewcm
Mechanical
- Sep 10, 2013
- 8
I've written a UINTER subroutine to describe the cohesive behavior between two elastic bodies. I've been having convergence problems with it and I've figured out that it doesn't converge when the interface stiffness is an order of magnitude or so greater than the elastic modulus of the bodies, and converges when the values are about the same or the elastic modulus is higher. That is, it seems to only want to converge when the deformation of the bodies is relatively small. So I copied the model and used the built-in cohesive interface behavior and found that this works even when the interface stiffness is many orders greater than the elastic modulus. But when I strip my model down so that it's (I think, see below) equivalent to the built-in one, I still get the convergence issues. What does the built-in model have that mine doesn't?
The .msg file is giving the error
***NOTE: THE RATE OF CONVERGENCE IS VERY SLOW. CONVERGENCE IS JUDGED UNLIKELY.
***ERROR: TOO MANY ATTEMPTS MADE FOR THIS INCREMENT
Code:
stress(1) = stress(1) + kn*drdisp(1)
stress(2) = stress(2) + kt*drdisp(2)
stress(3) = stress(3) + kt*drdisp(3)
ddsddr(1,1) = kn
ddsddr(1,2) = 0
ddsddr(1,3) = 0
ddsddr(2,1) = 0
ddsddr(2,2) = kt
ddsddr(2,3) = kt
ddsddr(3,1) = 0
ddsddr(3,2) = 0
ddsddr(3,3) = kt
The .msg file is giving the error
***NOTE: THE RATE OF CONVERGENCE IS VERY SLOW. CONVERGENCE IS JUDGED UNLIKELY.
***ERROR: TOO MANY ATTEMPTS MADE FOR THIS INCREMENT