Announcement

Collapse
No announcement yet.

How to define the state dependent variables in VUMAT subroutine

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

  • How to define the state dependent variables in VUMAT subroutine

    Hello,
    I am new in VUMAT subroutine. I am implementing a damage model in VUMAT subroutine. I want to know how can I define the state dependent variables in VUMAT. I have two dependent variables, damage and elastic equivalent strain. Following is the position of the state depentent variables in my code. Could any one help please, if it is right of wrong ? thank you

    subroutine vumat(
    1 nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
    2 stepTime, totalTime, dt, cmname, coordMp, charLength,
    3 props, density, strainInc, relSpinInc,
    4 tempOld, stretchOld, defgradOld, fieldOld,
    3 stressOld, stateOld, enerInternOld, enerInelasOld,
    6 tempNew, stretchNew, defgradNew, fieldNew,
    5 stressNew, stateNew, enerInternNew, enerInelasNew )
    C
    INCLUDE 'VABA_PARAM.INC'

    character*80 cmname
    dimension props(nprops), density(nblock),
    1 coordMp(nblock,*),
    2 charLength(*), strainInc(nblock,ndir+nshr),
    3 relSpinInc(*), tempOld(*),
    4 stretchOld(*), defgradOld(*),
    5 fieldOld(*), stressOld(nblock,ndir+nshr),eigVal(nblock,3),
    6 stateOld(nblock,nstatev), enerInternOld(nblock),
    7 enerInelasOld(nblock), tempNew(*), strain(nblock,ndir+nshr),
    8 stretchNew(*), defgradNew(*), fieldNew(*),PrinStrain(nblock,ndir+nshr),
    9 stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev),
    1 enerInternNew(nblock), enerInelasNew(nblock), DDSDDE(3,3)
    *USER SUBROUTINE

    C--- materials properties

    do 100 i = 1,nblock

    stateNew(i,1)=equi_strain
    stateNew(i,2)=damage

    C--- material stiffness

    C--- main code

    .
    .
    .
    .
    stateNew(i,1)=equi_strain
    stateNew(i,2)=damage
    C update stress
    100 continue
    Return
    end

  • #2
    It should suffice to state
    statev(1)=stateNew(i,1)

    Comment


    • #3
      thank you Frank for the reply. Should I define it at the beginning or at the end of the code ?
      is it like that ? :

      equi_strain=stateNew(i,1)
      damage=stateNew(i,2)

      Comment

      Working...
      X