Hi all,
I'm using user subroutine USDFLD in order to calculate field variables. I want to use these field variables as dependencies for my material's behavior. That means, that the young's modulus changes according to my field variable.
But I read that field variables are only computed for the current increment and not stored. So I think I have to store my field variables as state variables within the USDFLD subroutine. Is that right?
I thougt about something like the following code, but it doesn't actually work, because the field variable is calucated properly, but still equal to zero at the beginning of each increment and I don't see any error messages.
I'd be glad, if anyone might help me with that problem!
Thanks a lot!
Carol
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
& TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LA YER,
& KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO ,LACCFLG)
C
INCLUDE 'ABA_PARAM.INC'
CHARACTER*80 CMNAME, ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD), STATEV(NSTATV), DIRECT(3,3), T(3,3),
& TIME(2)
DIMENSION ARRAY(15), JARRAY(15), JMAC(*), JMATYP(*), COORD(*)
FIELD(1)=STATEV(1)
... calculation of FIELD(1) depending on the stresses, provided from the previous increment ...
STATEV(1)=FIELD(1)
RETURN
END



Reply With Quote
Bookmarks