You are here
I need some guidance on writing USDFLD subroutine on Abaqus
Hey everyone,
I'm very new on Abaqus, and what I'm trying to do is to assign to a model a changing E modulo as a linear function of Z coordinate ( E(Z)=-33936.651*Z+25e06 ).
I tried to gather some knowledge over the web on how to do so, and I found out that It can be done by writing a USDFLD subroutine, I managed to pick of some exapmles the following code:
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
z=COORD(3)
CV=-33936.651*Z+25000000
FIELD(1)=CV
RETURN
END
First I will very much appreciate it if someone can say what's wrong with this code or why it won't run on Abaqus/CAE 6.1.
Second, am I missing another step? should I do something about an input file too?
Because as far as I understand the input file is only being created as soon as Abaqus starts running the solution for the job...
I will appreciate any sort of help.
Thanks a lot
Itay
http://www.eng-tips.com/view
http://www.eng-tips.com/viewthread.cfm?qid=295995
See that webpage.