Hi,
I wrote an very simple USDFLD subroutine to remove elements (reduction of E and Nu) with respect to principal stress. It works fine with Abaqus Standard.
Now I've realized I need to run my model with Abaqus Explicit and have a complete dynamic simulation.
The problem is I cannot convert it to a VUSDFLD which does the same thing. I've read couple of VUSDFLD examples but it's just too complicated to learn how to write VUSDFLDs with available learning resources on the Internet. I'd really appreciate any help because I'm really stuck.
sincerely,
Ashkan
Here's the code:
C INITIALIZE FAILURE FLAGS FROM STATEV.
DAMAGE = STATEV(1)
CC GET STRESSES FROM PREVIOUS INCREMENT
CALL GETVRM('S',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP, 1 MATLAYO,LACCFLA)
S11 = ARRAY(1)
S22 = ARRAY(2)
S12 = ARRAY(4)
CC CALCULATING PRINCIPAL STRESS
PRINCIPAL = (S11 + S22)/2.D0 - SQRT( ((S11-S22)/2.D0)**2.D0 + S12**2.D0 )
CC DAMAGE CRITRION: LOWER THAN ** ** MPa, ACTIVATE
IF (DAMAGE .LT. 1.D0) THEN
IF (PRINCIPAL .LT. -84.D6) THEN
DAMAGE = 1.D0
ENDIF
ENDIF
CC
FIELD(1) = DAMAGE
STATEV(1) = FIELD(1)
C
RETURN
END