Announcement

Collapse
No announcement yet.

Urgent HELP! USDFLD problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Urgent HELP! USDFLD problem

    Hey everyone...so i am a novice when it comes to finite element modeling...i am using ABAQUS
    so i am facing a bit of a problem and i need help urgently to get my work going!!

    i am using USDFLD to use GETVRM and store the EE (Elastic Strains) as STATEV (That i will use within umat later), the .inp and .for are posted below

    1. When i output the STATEV (using SDV under *output) and i observe the output in ABAQUS, it always zero!! GETVRM isnt getting the EE and storing it?!

    2. how do i use both user subroutines (USDFLD and UMAT) within the same job!?

    i thank whoever would take the time to read through this...and any reply is highly appreciated...its really reallly frustrating me!!

    *HEADING
    MONOTONIC UNIAXIAL FORCE LOADING. AXISYMMETRIC MODEL
    *NODE
    1, 0.0, 0.0
    2, 1.0, 0.0
    3, 1.0, 1.0
    4, 0.0, 1.0
    **
    *NSET,NSET=ALL, GENERATE
    1,4
    *NSET,NSET=TOP
    3, 4
    *NSET, NSET=LEFT
    1, 4
    *NSET, NSET=BOT
    1, 2
    *ELEMENT, TYPE=CAX4, ELSET=ALLE
    1, 1, 2, 3, 4
    *SOLID SECTION, ELSET=ALLE, MATERIAL=MAT
    *MATERIAL, NAME=MAT
    *DEPVAR
    3
    *USER DEFINED FIELD
    **
    *BOUNDARY
    LEFT, 1, 1, 0.0
    BOT, 2, 2, 0.0
    **
    *RESTART, WRITE, FREQ=0
    **
    **
    **
    *STEP, AMPLITUDE=RAMP, NLGEOM, INC=20000
    **
    *STATIC
    1.0E-3, 1.0, 1.E-10 , 1.0E-3
    **
    *BOUNDARY
    *DLOAD
    1, P3, -50.
    **
    *OUTPUT, FIELD, FREQ=10
    *ELEMENT OUTPUT, ELSET=ALLE
    LE, S, SDV
    *NODE FILE, GLOBAL=YES, FREQ=10
    U
    **NT
    *EL PRINT, FREQ=0
    *NODE PRINT, GLOBAL=YES, FREQ=0
    **
    *OUTPUT, HISTORY
    *ELEMENT OUTPUT, ELSET=ALLE
    LE, S, SDV
    *END STEP
    **
    **

    SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
    1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LA YER,
    2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO ,LACCFLA)

    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(3),JARRAY(3),JMAC(*),JMATYP(*),COORD(*)


    CALL GETVRM('EE',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,M ATLAYO,
    1 LACCFLA)

    EE1=ARRAY(1)
    EE2=ARRAY(2)
    EE3=ARRAY(3)

    STATEV(1)=EE1
    STATEV(2)=EE2
    STATEV(3)=EE3

    RETURN
    END

  • #2
    Writing a user-subroutine is never easy :(

    1) I recommend that you add a bunch of print statements in your fortran code
    2) You can use multiple subroutine at once by adding them all to the same fortran source file

    - Jorgen
    Jorgen Bergstrom, Ph.D. PolymerFEM Administrator

    Comment


    • #3
      Figured it!

      Thanks Jorgan , i figured it out...i had to add a *INITIAL CONDITIONS, type=field, however there was another one that i could have used "*Field", the former is entered in the model level, while the latter in the output level within the input file. I tried to understand the difference between them from the manuals but i couldn't?!

      Comment


      • #4
        Dear Mikester
        How can we use both USDFLD and UMAT in a single subroutine?
        Thanks

        Comment


        • #5
          That is easy. Just combine both subroutines in one file, and use that as your user-subroutine file.

          -Jorgen
          Jorgen Bergstrom, Ph.D. PolymerFEM Administrator

          Comment

          Working...
          X