# Composite Failure UMAT in Plane Stress

My end goal is to develop an Abaqus UMAT that can be used for progressive failure of laminated composites in plane stress. Im working from the ground up here, but Ive reached a sticking point. I implemented and validated isotropic elasticity and then orthotropic elasticity for a single composite (8-ply) shell.

Now Im working with a 4x16 mesh of shell elements, and the problem Im having is that Abaqus seems to be having a convergence problem right at the point of failure. Ive got solution-dependent variables to flag failure, and if I disable the degradation, I can see that the failure stress is being reached in one of the plys, and the appropriate solution-dependent variable gets set. However, if I enable the degradation portion of my UMAT, then Abaqus gets stuck iterating right where failure first occurs. The last step printed to the odb file is the one where all stresses are within allowables.

Im wondering if it might have something to do with my degradation approach. Right now, Im using the simplest possible method: if the stress is above allowable, then reduce all elastic moduli by a factor of 1e5. Im confused as to why this causes convergence issues, though. Even if I use a degradation factor smaller than 1e5 Abaqus crashes. In other words, it seems that once any material point undergoes softening, Abaqus cant get the solution to convergence. My expectation here is that the other plys should continue to carry the load once failure occurs in the first ply, but this does not seem to be occurring.

Does anyone have any thoughts or suggestions? They would be much appreciated. Thank you!

Hello there,

I think that possibly your damage model is not man enough for the job.

In the best scenario, results would be mesh-dependent, as softening would tend to concentrate on a single row of elements (mathematically, softening results in the property of ellipticity being lost).

Moreover, I suspect you have another problem, in that your description might not be able to describe progressive degradation. To help me understand more, what would you expect to happen to a 1D bar of your material subject to a constant, increasing stress rate?

Hope it helps

Hello,

log on to

[url] http://simulia.custhelp.com/cgi-bin/abaqus.cfg/php/enduser/home.php [/url]

and register.

Search for answer ID

3123 Abaqus/Explicit VUMAT for the simulation of damage and failure in unidirectional fiber composite materials

Good luck

Frank

Hello,

It gives error- error during compilation. what can be the problem?

*****************************************************************************

** UMAT FOR ABAQUS/STANDARD INCORPORATING ELASTIC BEHAVIOUR FOR PLANE **

** STRAIN AND AXI-SYMMETRIC ELEMENTS. **

**************************************************************************

**************************************************************************

**

**

**

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)

DIMENSION DSTRES(3),C(3,3)

PARAMETER (ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0,

1 SIX=6.D0, NINE=9.D0, TOLER=0.D-6)

PI=DACOS(-1.D0)

C

C PROPERTIES

C

E11=PROPS(1)

E22=PROPS(2)

V12=PROPS(3)

G12=PROPS(4)

V21=PROPS(2)*PROPS(3)/PROPS(1)

ALPHA0=PROPS(5)*PI/180

XC=PROPS(6)

XT=PROPS(7)

YC=PROPS(8)

YT=PROPS(9)

SL=PROPS(10)

ETA_T=-1/TAN(2*ALPHA0)

ETA_L=-(PROPS(10)*COS(2*ALPHA0))/(PROPS(8)*COS(ALPHA0)**2)

ST=PROPS(8)*COS(ALPHA0)*(SIN(ALPHA0)+ETA_T*COS(ALPHA0)/TAN(2*ALPHA0))

ST1T=PROPS(7)/PROPS(1)-V21*PROPS(9)/PROPS(2)

C

C MATERIAL STIFFNESS MATRIX

C

DEV=1-V21*V12

C(1,1)=E11/DEV

C(1,2)=V12*E11/DEV

C(1,3)=0

C(2,1)=C(1,2)

C(2,2)=E22/DEV

C(2,3)=0

C(3,1)=0

C(3,2)=0

C(3,3)=G12

C

C EVALUATE NEW STRESS TENSOR

C

DO K1=1,NDI

TERM1= 0.

TERM2 = 0.

DO K2=1,NDI

TERM1 = TERM1+C(K1,K2)*STRAN(K2)

TERM2 = TERM2 + C(K1,K2)*(STRAN(K2)+STRAN(K2))

END DO

DSTRESS(K1)=TERM1

STRESS(K1)=TERM2

END DO

I1 = NDI

DO K1=1,NSHR

I1 = I1+1

DSTRES(I1) = C(I1,I1)*DSTRAN(I1)

STRESS(I1) = C(I1,I1)*(DSTRAN(I1)+STRAN(I1))

END DO

C

C CREATE NEW JACOBIAN

C

DO K1=1,NTENS

DO K2=1,NTENS

DDSDDE(K2,K1) = 0.

END DO

END DO

C

DO K1=1,NDI

DDSDDE(K1,K1) = C(K1,K1)

END DO

C

DO K1=2,NDI

N2 = K1-1

DO K2=1,N2

DDSDDE(K2,K1) = C(K2,K1)

DDSDDE(K1,K2) = C(K1,K2)

END DO

END DO

I1 = NDI

DO K1=1,NSHR

I1 = I1+1

DDSDDE(I1,I1) = C(I1,I1)

END DO

C

C TOTAL CHANGE IN SPECIFIC ENERGY

C

TDE = 0.

DO K1=1,NTENS

TDE = TDE + (STRESS(K1)-.5*DSTRES(K1))*DSTRAN(K1)

END DO

C

C CHANGE IN SPECIFIC ELASTIC STRAIN ENERGY

C

TDE=0.0

DO K1=1,NTENS

TDE=TDE+(STRESS(K1)+0.5*DSTRESS(K1))*DSTRAN(K1)

END DO

DEE = 0.

DO K1=1,NDI

TERM1 = 0.

TERM2 = 0.

DO K2=1,NDI

TERM1 = TERM1 + C(K1,K2)*STRAN(K2)

TERM2 = TERM2 + C(K1,K2)*DSTRAN(K2)

END DO

DEE = DEE + (TERM1+.5*TERM2)*DSTRAN(K1)

END DO

I1 = NDI

DO K1=1,NSHR

I1 = I1+1

DEE = DEE + C(I1,I1)*(STRAN(I1)+0.5*DSTRAN(I1))*DSTRAN(I1)

END DO

SSE = SSE + DEE

RETURN

END

Your subroutine is not too long, but it will require a bit more time to review and fix it properly.

Unfortunately I am very busy these days. I can help, but only for a fee. Send me a [URL= https://polymerfem.com/sendmessage.php ]message[/URL] if you are interested.

/Jorgen

Mr

Hello there,

Im now facing exactly the same convergence problem when trying to simulate progress damage with USDFLD. When reaching the failure criterion, it will suffer with convergence difficulty with little increment. Can you please tell me how you finally solve it? Thanks

Xinyao

[QUOTE=hobscrk777,10607]My end goal is to develop an Abaqus UMAT that can be used for progressive failure of laminated composites in plane stress. Im working from the ground up here, but Ive reached a sticking point. I implemented and validated isotropic elasticity and then orthotropic elasticity for a single composite (8-ply) shell.

Now Im working with a 4x16 mesh of shell elements, and the problem Im having is that Abaqus seems to be having a convergence problem right at the point of failure. Ive got solution-dependent variables to flag failure, and if I disable the degradation, I can see that the failure stress is being reached in one of the plys, and the appropriate solution-dependent variable gets set. However, if I enable the degradation portion of my UMAT, then Abaqus gets stuck iterating right where failure first occurs. The last step printed to the odb file is the one where all stresses are within allowables.

Im wondering if it might have something to do with my degradation approach. Right now, Im using the simplest possible method: if the stress is above allowable, then reduce all elastic moduli by a factor of 1e5. Im confused as to why this causes convergence issues, though. Even if I use a degradation factor smaller than 1e5 Abaqus crashes. In other words, it seems that once any material point undergoes softening, Abaqus cant get the solution to convergence. My expectation here is that the other plys should continue to carry the load once failure occurs in the first ply, but this does not seem to be occurring.

Does anyone have any thoughts or suggestions? They would be much appreciated. Thank you![/QUOTE]

Hi there,

Im currently facing exactly the same problem like yours. When I tried to simulate progressive damage of a laminate structure with USDFLD, it wil meet convergence difficulty upon reaching the failure stress. Can you please tell me how youve solved this? Thanks a lot

Xinyao

- help seeking on VUMAT for Neo-hooke model in ABAQUS5 months ago
- YLD2000-2D (Barlat2000) Implementation - LS-Dyna Umat9 months ago
- User difined Material Model In LS Dyna12 months ago
- Constitutive model of BERGSTROM-BOYCE MODEL3 years ago
- ZWT Model Implementation LS DYNA3 years ago

- 21 Forums
- 3,851 Topics
- 13.2 K Posts
- 5 Online
- 29.2 K Members