I Have got the following errors in ABAQUS after running with the following subroutine.Please help me by sorting out the errors and warnings. Please suggest if  any improvements required in the subroutine

Errors and Warnings:

Bad Material definition in element number 7 instance TARGET-1: zero or negative initial dilatational modulus caused by bad material data. Please check your material input and any initial conditions if necessary.

The parameter hourglass on the *section controls option is relevant for solid, membrane, and shell elements with reduced integration wherever applicable. This warning can be ignored if the feature is applied to these element types only.

The parameter distortion control on the *section controls option is relevant for solid elements wherever applicable. This warning can be ignored if the feature is applied to solid elements only.

Output variable sdv has no components in this analysis for element type c3d8r

Output request dmicrt is not available for the material for element type c3d8r

Output request sdeg is not available for the material for element type c3d8r

4800 elements are distorted. Either the isoparametric angles are out of the suggested limits or the triangular or tetrahedral quality measure is bad. The elements have been identified in element set WarnElemDistorted.

There are 6 warning messages in the data (.dat) file.  Please check the data file for possible errors in the input file.

A material defined in user subroutine VUMAT must be defined as purely elastic (using the initial elastic modulus) at the beginning of the analysis (stepTime=0). This is an informative message. It does not necessarily indicate that user subroutine VUMAT is incorrectly defined.

subroutine vumat(

1 nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,

2 stepTime, totalTime, dt, cmname, coordMp, charLength,

3 props, density, strainInc, relSpinInc,

4 tempOld, stretchOld, defgradOld, fieldOld,

3 stressOld, stateOld, enerInternOld, enerInelasOld,

6 tempNew, stretchNew, defgradNew, fieldNew,

5 stressNew, stateNew, enerInternNew, enerInelasNew )

C

INCLUDE 'VABA_PARAM.INC'

C

C

C All arrays dimensioned by (*) are not used in this algorithm

dimension props(nprops), density(nblock),

1 coordMp(nblock,*),

2 charLength(*), strainInc(nblock,ndir+nshr),

3 relSpinInc(*), tempOld(*),

4 stretchOld(*), defgradOld(*),

5 fieldOld(*), stressOld(nblock,ndir+nshr),

6 stateOld(nblock,nstatev), enerInternOld(nblock),

7 enerInelasOld(nblock), tempNew(*),

8 stretchNew(*), defgradNew(*), fieldNew(*),

9 stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev),

1 enerInternNew(nblock), enerInelasNew(nblock)

C

character*80 cmname

C

C

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

** VUMAT,PROBABILISTIC DAMAGE MODEL FOR ABAQUS/EXPLICIT INCORPORATING **

** ELASTIC PROPERTIES AND WEIBULL PARAMETERS **

** **

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

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

**

**

**

*USER SUBROUTINE

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

+ SIX=6.D0, NINE=9.D0,XALPHA=0.31,S=4.18)

C

DIMENSION XIDEN(M,N),XC(6,6),XS(6,6),

+ STR(M,N),XDAM(nblock,M),JAC(6,6),STRN(M,N),

+ XPRIN(nblock,M),XDEF(nblock,M),XPRINN(nblock,M),

+ XSTRESSK(nblock),XPRINR(nblock,M)

dimension eigVal(nblock,M), eigVec(nblock,M)

real V

integer seed

seed=7654321

C

C XDAM=DAMAGE VALUE CORRESPONDING TO EACH PRICIPAL DIRECTION,XPRIN=PRINCIPAL STRESS

C XDEF=MODIFIED GROWTH DEFECT DENSITY CORRESPONDING TO EACH PRINCIPAL STRESS

C XPRINN-PRINCIPALSTRESS NEW,XPRIN-PRICIPAL STRESS OLD

C XPRINR-PRINCIPAL STRESS RATE

C

C--------------------------------------------------------------------

C

C SPECIFY MATERIAL PROPERTIES

C ALL DIMENSIONS ARE IN meter

C

E=props(1)

XNUE=props(2)

XDENSITY=props(3)

XPOROSITY=props(4)

XM=props(5)

XMEANFS=props(6)

XEFFVOL=props(7)

ALAMBDA=E*XNUE/(ONE+XNUE)/(ONE-TWO*XNUE)

AMU=E/(ONE+XNUE)/2

V=SQRT(E/XDENSITY)

DO I=1,M

DO J=1,N

STR(I,J)=0.0

END DO

END DO

DO I=1,NTENS

DO J=1,NTENS

JAC(I,J)=0.0D0

ENDDO

ENDDO

C STATE VARIABLES:1 TO 3 ARE DAMAGE VALUE VARYING FROM 0 TO 1

C STATE VARIABLES:4-FAILURE STRESS

C STATE VARIABLES:5,6,7-PRINCIPAL STRESSES

C STATE VARIABLES:8,9,10-DEFECT DENSITY CORRESPONDING TO EACH PRINCIPAL STRESS

if (stepTime.eq.zero) then

do 101 i = 1,nblock

K=1/(XEFFVOL)/((XMEANFS)**XM)

PK=ran(seed)

XSTRESSK(i)=((K)**(ONE/XM))*((XEFFVOL)**(ONE/XM))

1 *((LOG(ONE/(ONE-PK)))**(ONE/XM))

JAC(1,1)= (ALAMBDA+TWO*AMU)

JAC(2,2)= (ALAMBDA+TWO*AMU)

JAC(3,3)= (ALAMBDA+TWO*AMU)

JAC(4,4)= AMU

JAC(5,5)= AMU

JAC(6,6)= AMU

JAC(1,2)= ALAMBDA

JAC(1,3)= ALAMBDA

JAC(2,1)= ALAMBDA

JAC(2,3)= ALAMBDA

JAC(3,1)= ALAMBDA

JAC(3,2)= ALAMBDA

DO R=1,NTENS

stressNew(i,R)=stressOld(i,R)+

2 (DOT_PRODUCT(JAC(R,:),strainInc(i,:)))

ENDDO

101 continue

return

endif

do 100 i = 1,nblock

C

C WRITE STRESSES IN MATRIX FORM

C

DO r = 1,3

STR(r,r) = stressOld(i,r)

END DO

STR(1,2) = stressOld(i,4)

STR(2,1) = stressOld(i,4)

STR(1,3) = stressOld(i,5)

STR(3,1) = stressOld(i,5)

STR(2,3) = stressOld(i,6)

STR(3,2) = stressOld(i,6)

c FIND THE EIGEN VALUES OF THE STRESSOLD MATRIX

CALL VSPRINC( NBLOCK, STR, eigVal, ndir, nshr )

C EVR IS THE PRICIPAL STRESSES

DO r=1,3

XPRIN(i,r)=eigVal(i,r)

ENDDO

C

C WRITE STRESSES IN MATRIX FORM

C

DO r = 1,3

STRN(r,r) = stressNew(i,r)

END DO

STRN(1,2) = stressNew(i,4)

STRN(2,1) = stressNew(i,4)

STRN(1,3) = stressNew(i,5)

STRN(3,1) = stressNew(i,5)

STRN(2,3) = stressNew(i,6)

STRN(3,2) = stressNew(i,6)

c FIND THE EIGEN VALUES OF THE STRESSNEW MATRIX

CALL VSPRINC( NBLOCK, STRN, eigVal, ndir, nshr )

C EVR IS THE PRICIPAL STRESSES

DO r=1,3

XPRINN(i,r)=eigVal(i,r)

ENDDO

C FINDING THE PRINCIPAL STRESS RATE

DO r=1,3

XPRINR(i,r)=(XPRINN(i,r)-XPRIN(i,r))/stepTime

ENDDO

C FINDING THE DEFECT DENSITY CORRESPONDING TO EACH PRICIPAL STRESS

C FINDING THE DAMAGE VALUE CORRESPONDING TO EACH PRINCIPAL STRESS

C REFER EQUATION 83

DO Q=1,3

IF (XPRINR(i,Q).LE.ZERO) THEN

stateNew(i,Q)=stateOld(i,Q)

ELSE

IF ((XPRIN(i,Q).GT.ZERO).AND.(XPRINR(i,Q).GT.ZERO))THEN

IF (XPRIN(i,Q).LE.XSTRESSK(i)) THEN

stateNew(i,Q+7)=0.0

stateNew(i,Q)=0.0

ELSE

stateNew(i,Q+7)=K*((XPRIN(i,Q))**XM)

C XBETA IS THE VALUE OF THE RIGHT HAND SIDE IN THE EQUATION 81

XBETA=6*S*((0.33*V)**3)*XDEF(i,Q)

RKO=((1-XDAM(i,Q))*(XBETA*(totalTime**2)))/2

RKT=((1-(XDAM(i,Q)+((dt*RKO)/2)))

1 *(XBETA*((totalTime+dt/2)**2))/2)

RKTH=(1-(XDAM(i,Q)+(dt*RKT)/2))

1 *(XBETA*((totalTime+dt/2)**2))/2

RKF=(1-(XDAM(i,Q)+(dt*RKTH)))

1 *(XBETA*((totalTime+dt)**2))/2

RK=RKO+2*RKT+2*RKTH+RKF

stateNew(i,Q)=stateOld(i,Q)+((dt/6)*RK)

ENDIF

ELSE

stateNew(i,Q+7)=0.0

stateNew(i,Q)=0.0

ENDIF

ENDIF

ENDDO

C STATE VARIABLES:1 TO 3 ARE DAMAGE VALUE VARYING FROM 0 TO 1

C STATE VARIABLES:4-FAILURE STRESS

stateNew(i,4)=XSTRESSK(i)

stateNew(i,5)=XPRIN(i,1)

stateNew(i,6)=XPRIN(i,2)

stateNew(i,7)=XPRIN(i,3)

C UPDATING THE STRESS MATRIX:TO DO THAT UPDATE THE COMPLIANCE TENSOR

C MATRIX AND INVERSE THE COMPLIANCE TENSOR TO OBTAIN THE CONSTITUTIVE TENSOR

C XC=COMPLIANCE TENSSOR,XS=INVERSE OF COMPLIANCE TENSOR

XC(1,1)=ONE/E/(1-stateNew(i,1))

XC(1,2)=(-XNUE)

XC(1,3)=(-XNUE)

XC(1,4)=0.0

XC(1,5)=0.0

XC(1,6)=0.0

XC(2,1)=(-XNUE)

XC(2,2)=ONE/E/(1-stateNew(i,2))

XC(2,3)=(-XNUE)

XC(2,4)=0.0

XC(2,5)=0.0

XC(2,6)=0.0

XC(3,1)=(-XNUE)

XC(3,2)=(-XNUE)

XC(3,3)=ONE/E/(1-stateNew(i,3))

XC(3,4)=0.0

XC(3,5)=0.0

XC(3,6)=0.0

XC(4,1)=0.0

XC(4,2)=0.0

XC(4,3)=0.0

XC(4,4)=(ONE+XNUE)/((ONE-stateNew(i,2))**(XALPHA))

3 /((ONE-stateNew(i,3))**(XALPHA))

XC(4,5)=0.0

XC(4,6)=0.0

XC(5,1)=0.0

XC(5,2)=0.0

XC(5,3)=0.0

XC(5,4)=0.0

XC(5,5)=(ONE+XNUE)/((ONE-stateNew(i,3))**(XALPHA))

4 /((ONE-stateNew(i,1))**(XALPHA))

XC(5,6)=0.0

XC(6,1)=0.0

XC(6,2)=0.0

XC(6,3)=0.0

XC(6,4)=0.0

XC(6,5)=0.0

XC(6,6)=(ONE+XNUE)/((ONE-stateNew(i,1))**XALPHA)

5 /((ONE-stateNew(i,2))**XALPHA)

C FINDING XS=INVERSE OF COMPLIANCE TENSOR BY GUASS JORDAN METHOD

CALL INVERSEA(XC,XS)

DO R=1,NTENS

stressNew(i,R)=stressOld(i,R)+DOT_PRODUCT(XS(R,:),strainInc(i,:))

ENDDO

100 continue

return

end

********************END OF VUMAT SUBROUTINE******************************

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

C ** INVERSE OF A 6X6 MATRIX BY GAUSS JORDAN METHOD

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

C ** INVERSE OF A 6X6 MATRIX BY GAUSS JORDAN METHOD

SUBROUTINE INVERSEA(A,C)

C

INCLUDE 'VABA_PARAM.INC'

C

PARAMETER (M=6,N=6)

DIMENSION A(M,N),B(6,12),C(M,N)

INTEGER I,J,N

C ** BUILDING AUGUMENTED MATRIX B

DO 40 J=1,N

DO 30 I=1,N

B(I,J)=A(I,J)

30 CONTINUE

40 CONTINUE

DO I=1,N

DO J=N+1,2*N

IF ((J-I).EQ.N) THEN

B(I,J)=1.0

ELSE

B(I,J)=0.0

ENDIF

ENDDO

ENDDO

DO 160 I=1,N

B(I,:)=B(I,:)/B(I,I)

DO 150 J=1,N

IF (I.NE.J) THEN

B(J,:)=B(J,:)-B(J,I)*B(I,:)

ENDIF

150 CONTINUE

160 CONTINUE

DO I=1,N

DO J=N+1,2*N

C(I,J-6)=B(I,J)

ENDDO

ENDDO

RETURN

END

More Bhanu Savarni Kosuri's questions See All
Similar questions and discussions