User login

Navigation

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 

Subscribe to Comments for "I need some guidance on writing USDFLD subroutine on Abaqus"

More comments

Syndicate

Subscribe to Syndicate