0% found this document useful (0 votes)
275 views3 pages

ABAQUS Kelvin Voigt

This subroutine defines a Kelvin-Voigt material model for the ABAQUS finite element program. It calculates stress updates based on the material properties of Young's modulus, Poisson's ratio, and shear viscosity. The stress is computed from strain increments using coefficients A, B, C, D, F, and G that depend on the material properties and time increment. The previous stress state is stored and used to update the current stresses based on the stress-strain relationships.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
275 views3 pages

ABAQUS Kelvin Voigt

This subroutine defines a Kelvin-Voigt material model for the ABAQUS finite element program. It calculates stress updates based on the material properties of Young's modulus, Poisson's ratio, and shear viscosity. The stress is computed from strain increments using coefficients A, B, C, D, F, and G that depend on the material properties and time increment. The previous stress state is stored and used to update the current stresses based on the stress-strain relationships.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

ABAQUS – KELVIN VOIGT

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

You might also like