Search
Close this search box.
Notifications
Clear all

Linear and non-linear viscoelastic modeling using UMAT

11 Posts
6 Users
0 Reactions
2,353 Views
Posts: 13
(@PeteHailey)
Active Member
Joined: 14 years ago

Hi jorgen,

I have written a umat code based on following paper.
Ihave been scratching my head past one week why it is not able to show relaxation

I am attaching my UMAt code ,paper used for it and the input file.

C *************************************************************************

SUBROUTINE SDVINI(STATEV,COORDS,NSTATV,NCRDS,NOEL,NPT,
1 LAYER,KSPT)

INCLUDE ABA_PARAM.INC

DIMENSION STATEV(NSTATV),COORDS(NCRDS)

DO I = 1,6
STATEV(I) = 0.0D0
END DO

RETURN
END

C*************************************************************************

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)

INCLUDE ABA_PARAM.INC

C
CHARACTER*80 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)

REAL DSTRES(6),Tij(1),Cijo(NTENS,NTENS),Cijb(NTENS,NTENS),
1 Csum(6),Csumd(6)

REAL W,md

C DIMENSION VARIABLES THAT ARE INTERNAL TO SUBROUTINE

REAL SM1OLD(6)

REAL SM1(6)

DO K1 = 1,6

DO K2=1,6

Cijo(K1,K2)=0.0D0

Cijb(K1,K2)=0.0D0

END DO
END DO
DO K1=1,6

Csumd(K1)=0.0D0
END DO
DO K1=1,6

Csum(K1)=0.0D0
END DO
C Stifness matrix coefficients Cijo-relaxed, Cijb(Unrelaxed-relaxed)

Cijo(1,1)=0.135D6

Cijo(2,2)=0.135D6
Cijo(3,3)=0.135D6
Cijo(4,4)=0.004D6
Cijo(5,5)=0.004D6
Cijo(6,6)=0.004D6

Cijo(1,2)=0.0785D6
Cijo(1,3)=0.0785D6
Cijo(2,1)=0.0785D6
Cijo(3,1)=0.0785D6
Cijo(2,3)=0.0785D6
Cijo(3,2)=0.0785D6

Cijb(1,1)=0.4D6

Cijb(2,2)=0.4D6
Cijb(3,3)=0.4D6
Cijb(4,4)=0.01D6
Cijb(5,5)=0.01D6
Cijb(6,6)=0.01D6

Cijb(1,2)=0.154D6
Cijb(1,3)=0.154D6
Cijb(2,1)=0.154D6
Cijb(3,1)=0.154D6
Cijb(2,3)=0.154D6
Cijb(3,2)=0.154D6
C Tij is relaxation time

Tij(1)=1

WRITE(6,*)THIS IS A TEST
WRITE(6,*) NDI, NSHR, NTENS, NSTATV, NPROPS

WRITE(6,*)STATE VARIABLE AT START
WRITE(6,76) (STATEV(i),i=1,6)
76 FORMAT(6(1pe12.3))

DO I = 1,6
SM1OLD(I) = STATEV(I)
END DO

WRITE(6,*)OLD
WRITE(6,276) (SM1OLD(i),i=1,6)
276 FORMAT(6(1pe12.3))

C DEGREE OF CURE

WRITE(6,*) TIME(1)
WRITE(6,*) TIME(2)
WRITE(6,*) DTIME
WRITE(6,*) ALPHA
WRITE(6,*) TEMP
WRITE(6,*) DTEMP

C EVALUATE NEW STRESS TENSOR

C UPDATE STRESS TENSOR

DO K1 = 1,NTENS

DO K2=1,NTENS
Csum(K1)=Csum(K1)+Cijb(K1,K2)*(DSTRAN(K2))

END DO
END DO
WRITE(6,*)Csum
WRITE(6,375) (Csum(i),i=1,6)
375 FORMAT(6(1pe12.3))

C SM1old is state variable

DO K1 = 1,NTENS

SM1(K1)=(SM1OLD(K1)*(EXP(-DTIME/(Tij(1)))-1))
1 +(Csum(K1)*(Tij(1))/DTIME)
2 *(1-EXP(-DTIME/(Tij(1))))

END DO
WRITE(6,*)NEW
WRITE(6,376) (SM1(i),i=1,6)
376 FORMAT(6(1pe12.3))

DO K1 = 1,NTENS

DO K2=1,NTENS
Csumd(K1)=Csumd(K1)+Cijo(K1,K2)*(DSTRAN(K2))

END DO
END DO

DO K1 = 1,NTENS

DSTRES(K1)=Csumd(K1)+SM1(K1)
STRESS(K1)=STRESS(K1)+DSTRES(K1)

END DO
WRITE(6,*)STRESS
WRITE(6,350) (STRESS(i),i=1,6)
350 FORMAT(6(1pe12.3))

C CREATE NEW JACOBIAN

W=(Tij(1)*(1/DTIME))*(1-exp(-DTIME/(1*Tij(1))))

WRITE(6,*) W

DO K1 = 1,NTENS

DO K2=1,NTENS

DDSDDE(K1,K2)=Cijo(K1,K2)+Cijb(K1,K2)*W

END DO
END DO
DO i=1,6
WRITE(6,551) (DDSDDE(i,j),j=1,6)
551 FORMAT(6(1pe12.3))

END DO

DO I = 1,6
STATEV(I) = SM1(I)
END DO

WRITE(6,*)STATE VARIABLE AT END
WRITE(6,1276) (STATEV(i),i=1,6)
1276 FORMAT(6(1pe12.3))

C
RETURN
END
C

Reply
Posts: 13
(@PeteHailey)
Active Member
Joined: 14 years ago

Hi jorgen and all,

I have written a UMAT for viscoelasticity based on the attached paper and was unable to get the stress relaxation behavior for the example given in the paper.So I reduced no.of terms to one and tried to implement for a simple cantilever beam.

I have not been observing a variation in tip displacement due to changing modulus.I have been working on it for long time.
Please help me..

Thanks in advance
Vamsi

Reply
Posts: 2
(@leo2ole)
New Member
Joined: 12 years ago

Schapery nonlinear Viscoelastic

[QUOTE=Peeyush,989]My eventual goal is to implement the non linear viscoelastic model of schapery into UMAT. But to gain some measure of confidence i was trying to implement the Linear viscoelastic model first using UMAT.

Hi, Based on your above past, I am tryung to develop a similar code using linear viscoelastic to implement the schapery nonlinear.

I have run into quite a lot of stops and quite confusing. I wanted to ask if you were successful at developing this code/program and if i could have a pdf copy as a guide?

Thank you

Reply
Posts: 4
(@ihiribar)
New Member
Joined: 11 years ago

hi sir i m a student of civil engg andi dont know how to make a subroutine ..please i want UMAT code ...

Reply
Page 2 / 2
Share: