johnnyontheweb wrote:In my UMATs, that seems to perfectly works in Abaqus, the array STRAN contains the newest strains, and DSTRAN the current increment. I never added the DSTRAN to the strains to obtain the current strain. Abaqus manual confirms that and I'm pretty sure about that.
Yeah I can confirm that. In ABAQUS one can directly work with the STRAN variable.
johnnyontheweb wrote:On the contrary, STRESS needs to be updated by the user, and the value passed into the routine in my experience is not always the previous converged stress; it's a good thing to keep the last converged stress in your STATEV.
That's interesting. I never had problems using the STRESS variable. Unfortunately the manual is a bit ambiguous.
ABAQUS Manual wrote:This array is passed in as the stress tensor at the beginning of the increment and must be updated in this routine to be the stress tensor at the end of the increment.
This can either be the converged STRESS of the last load/time-increment or what I always assumed till today: The solution of the newest/last newton increment, which is not the converged solution.
This is what I assumed for the STRAINS too, and therefore I was a bit confused in the beginning with the discussion with Mikael.
So my guess for compatibility with ABAQUS is the pass the newest strain (basically STRAN+DSTRAN at the moment) to the UMAT. I am not 100% sure about the stresses, but I will take a deeper look at it this week. And find out if it's the converged stress or the newest stress.
By the way: Thanks Mikael for the UMAT interface (and of course all the developers for this nice project). It's a really good idea, especially for teaching. So we can teach the students something demanded by companys, but also show them the power of open source. Bonus for us: We don't need so many (expensive) ABAQUS licenses. Bonus for them: They can do the simulations on their own computers at home....