Notifications
Clear all

Composite Failure UMAT in Plane Stress

8 Posts
7 Users
0 Likes
1,176 Views
Posts: 1
Topic starter
(@eric01)
New Member
Joined: 11 years ago

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!

Topic Tags
7 Replies
Posts: 124
(@bw_composite)
Estimable Member
Joined: 16 years ago

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

Topic Tags
7 Replies
Posts: 80
(@FrankMonkey)
Trusted Member
Joined: 14 years ago

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

Reply
Posts: 1
(@mahbod)
New Member
Joined: 9 years ago

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

Reply
Posts: 3990
(@jorgen)
Member
Joined: 4 years ago

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

Reply
Posts: 3
(@rocketzjuer)
New Member
Joined: 6 years ago

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!

Reply
Posts: 3
(@rocketzjuer)
New Member
Joined: 6 years ago

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

Reply
Page 1 / 2
Share: