## 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

»

- supandanane's blog
- Log in or register to post comments
- 5202 reads

## Comments

## Viscoelastic UMAT: Maxwell and Kelvin

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

## Viscoelastic UMAT

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

## Hi Frank! Thank you for

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!

## UMAT for viscoelasticity

My thesis is now on

https://depositonce.tu-berlin.de/handle/11303/1574

implementation of a UMAT for a Kelvin-Voigt model:

http://imechanica.org/node/19884

Read also

https://polymerfem.com/forum/finite-element-modeling/constitutive-models...

Good luck

Frank

## Great thanks!

Great thanks!