Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Use ABAQUS USDFLD to define thermoplastic behaviours, please check my code

Status
Not open for further replies.

kuangyu

Materials
Aug 21, 2012
1
Hi,all.
Recently I have to define nonlinear behaviours of thermoplastic by USDFLD in ABAQUS. However i am quite new in coding. Could you please help me checking my code? Thanks a lot for your help. Some details about my model are listed below.

The nonlinear behaviors of thermoplastic is demonstrated by the equation
E= E0*[1-exp(-k*e)]/(k*e)
In the equation, k=46.1, E0=802, e is the strain from the analysis. The Young's modulus E depends on the strain e.
Before the USDFLD code, I add a SDVINI code to define the initia young's modulus which equals to E0. Unfortunately I am not sure about the SDVINI code also.

Codes
Code:
 SUBROUTINE SDVINI(STATEV,COORDS,NSTATV,NCRDS,NOEL,NPT,LAYER,KSPT)
C
      INCLUDE 'ABA_PARAM.INC' 
C
      DIMENSION STATEV(NSTATV),COORDS(NCRDS)
C
      STATEV(1)=802
C
      RETURN
      END
      SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
     1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
     2 KSPT,KSTEPKINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
     3 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(*),
    1 cOORD(*)
c
c   USER CODE START 

c   DO IT ONLY FOR SPECIFIC MATERIAL
    IF (cmname  .EQ. 'THERMOPLASTIC HDPE') THEN
C
C   DEFINE CONSTANTS
C
    K = 46.1
    E0 = 802

C   GET CURRENT STRAIN (VALUE EE) AND SAVE IT INTO 'ARRAY'
    CALL GETVRM('E',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
    MATLAYO,LACCFLA)

C   E1 OUTPUT = ARRAY(1) AND GET ABSOLUTE VALUE
    EPS = ABS(ARRAY(1))

C   CALCULATE THE Em
    Em = E0*(1-EXP(-K*EPS))/(K*EPS)

C   USE Em AS A FIELD VARIABLE
    FIELD(1) = Em

c   STORE Em AS A SOLUTION DEPENDENT STATE VARIABLE
    STATEV(1) = FIELD(1)
C
    RETURN 
    END


If you can do some corrections to my coding, it will be really appreciable. Thanks.

Best Regards,
Kuang Yu
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor