User login

Navigation

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 =λ+ 2.0 d0 *亩
D = lambda
F = 2.0d0*mu*(1.0d0 + thetamu/DTIME)
μG = 2.0 d0 *
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 issergkuznet@hotmail.com

Thank you!

Frank Richter's picture

sergkuznet's picture

Great thanks!

Subscribe to Comments for

Recent comments

More comments

Syndicate

Subscribe to Syndicate