User login

You are here

VISCOELASTIC UMAT

Hello every body,

 

I am looking for VISCOELASTIC UMAT code based on Maxwell or Kelvin elements. If someone can help me with it.

 Regards

Comments

Frank Richter's picture

 

 For the Maxwell model you find it in my PhD thesis
"Upsetting and Viscoelasticity of Vitreous SiO2: Experiments, Interpretation and Simulation"
http://opus.kobv.de/tuberlin/volltexte/2006/1179/

The
Kelvin-Voigt model can be derived in an analogous manner. The code is
underneath. I have the derivation written up as a pdf document; but this
thing here does not allow me to upload it. Disclose your e-mail adress,
then I can send it to you.

Good luck

Frank

--------------------------------------------------------

      SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATV),
     1 DDSDDE(NTENS,NTENS),
     2 DDSDDT(NTENS),DRPLDE(NTENS),
     3 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
     4 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)
C
C
      INTEGER i, j
      REAL Y, n, eta
      REAL lambda, thetalambda, mu, thetamu
      REAL A, B, C, D, F, G
C
      REAL, DIMENSION(NTENS,NTENS):: DDSDE
      REAL, DIMENSION(NTENS,NTENS):: DDSDS
      REAL, DIMENSION(NTENS):: SIGold
C
      Y = PROPS(1)
      n = PROPS(2)
      eta = PROPS(3) ! shear viscosity
C
      lambda = Y*n/((1.0d0+n)*(1.0d0-2.0d0*n))
      mu = Y/(2.0d0*(1.0d0+n))
      thetalambda = 3.0d0*eta/Y
      thetamu = eta/mu
C
      A = lambda*(1.0d0 + thetalambda/DTIME) +
     1    2.0d0*mu*(1.0d0 + thetamu/DTIME)
      B = lambda*(1.0d0 + thetalambda/DTIME)
      C = lambda + 2.0d0*mu
      D = lambda
      F = 2.0d0*mu*(1.0d0 + thetamu/DTIME)
      G = 2.0d0*mu
C
      DO i = 1,NTENS
        DO j = 1,NTENS
          DDSDDE(i,j) = 0.0d0
          DDSDE(i,j) = 0.0d0
          DDSDS(i,j) = 0.0d0
        END DO
      END DO
C
C DEFINE TENSOR COEFFICIENTS RELATED TO NORMAL STRESSES
C
      DO i = 1,NDI
         DO j = 1,NDI
            DDSDDE(i,j) = B
            DDSDE(i,j) = D
            DDSDS(i,j) = 0.0d0
         END DO
         DDSDDE(i,i) = A
         DDSDE(i,i) = C
         DDSDS(i,i) = -1.0d0
      END DO
C
C DEFINE TENSOR COEFFICIENTS RELATED TO SHEAR STRESSES
C
      DO i = NDI+1,NTENS
       DDSDDE(i,i) = F/2.0d0
       DDSDE(i,i) = G/2.0d0
       DDSDS(i,i) = - 1.0d0
      END DO
C
C STORE PRESENT STRESS STATE IN ARRAY SIGold
C
      DO i= 1,NTENS
        SIGold(i) = STRESS(i)
      END DO
C
C UPDATE STRESSES
C
      DO i = 1,NTENS
        DO j = 1,NTENS
          STRESS(i) = STRESS(i) + DDSDDE(i,j)*DSTRAN(j) +
     1                DDSDE(i,j)*STRAN(j) +
     2                DDSDS(i,j)*SIGold(j)
        END DO
      END DO
C
      RETURN
      END

------------------------------------------
Ruhr-University
Bochum
Germany

Dr. Richter,

I realize this forum post is many years old, but I would be supremely interested in viewing the PDF derivation for your Kelvin-Voigt model. I am a graduate student at California Polytechnic State University, and your PhD work has been fundamental to my thesis and as well as the work of my peers. 

Would it still be possible to get this from you? 

Thank you,

Austin C.

accummin [at] calpoly [dot] edu

sergkuznet's picture

Hi Frank! Thank you for sharing your UMAT code here. I just started working on the viscoelastic material and will need to implement a nonlinear anisotropic viscoelastic material in UMAT. Your code seems to be a great start. You mentioned above the pdf write up for derivation. I was wondering if you may share it and your PhD thesis, the ilnk above doesn't work? My email is sergkuznet@hotmail.com

Thank you!

Frank Richter's picture

sergkuznet's picture

Great thanks!

Subscribe to Comments for "VISCOELASTIC UMAT"

Recent comments

More comments

Syndicate

Subscribe to Syndicate