abaqus-subroutine: problem with writing data to external file
abaqus-subroutine: problem with writing data to external file
(OP)
Hello everyone!
I've got a problem with my UMAT. I'd like to write the element number to an external file if a certain stress is reached. Everything is working fine, but my UMAT writes the every element number exactly three times. Do you have an Idea where that comes from and how to fix it?
Thanks for your help
I've got a problem with my UMAT. I'd like to write the element number to an external file if a certain stress is reached. Everything is working fine, but my UMAT writes the every element number exactly three times. Do you have an Idea where that comes from and how to fix it?
Thanks for your help





RE: abaqus-subroutine: problem with writing data to external file
Are you writing every element once the threshold has been passed? Only the element for which the threshold has passed? Are you looping over different components of the stress (so printing the element each time S11, S22, S12, etc exceeeds the threshold)?
RE: abaqus-subroutine: problem with writing data to external file
IF(Y==1.D0)THEN
X = X + 1.D0
STATEV(1)= X
END IF
IF (X==1 .AND. NPT.EQ.1) THEN
open(unit=18,file=filex,status='old',position='append')
write(18,*)TIME(2),NOEL, NPT
GOTO 500
END IF
IF(Y==1.D0)THEN
GOTO 200
END IF
EMOD= PROPS(1) * PERCSIC + PROPS(3) * PERCAIR
ENU = PROPS(2) * PERCSIC + PROPS(4) * PERCAIR
HEALEDVOLUME = 0.D0
EBULK3 = EMOD/(1.0-2.0*ENU)
EG2 = EMOD/(1.0+ENU)
EG = EG2/2.0
ELAM = (EBULK3-EG2)/3.0
DO K1 = 1, 3
DO K2 = 1, 3
DDS(K2,K1) = ELAM
END DO
DDS(K1,K1) = EG2 + ELAM
END DO
C
DDS(4,4) = EG
C
C DETERMINE STRESS INCREMENT
C
TRVAL = DSTRAN(1)+DSTRAN(2)+DSTRAN(3)
DO K=1,3
DSTRESS(K) = 2*EG*DSTRAN(K)+ELAM*TRVAL
END DO
DSTRESS(4) = EG*DSTRAN(4)
C UPDATE STRESS
DO K = 1,NTENS
STRESS(K) = STRESS(K) + DSTRESS(K)
END DO
C DETERMINE JACOBIAN
DO I=1,3
DO J=1,3
DDSDDE(I,J) = DDS(I,J)
END DO
END DO
DDSDDE(4,4) = DDS(4,4)
IF(STRESS(1).GT.2280 .AND. NOEL.NE.10 .AND. NOEL.NE.91) THEN
Y = 1
STATEV(2) = Y
END IF
GOTO 300
500 CONTINUE
200 CONTINUE
DO K = 1, NTENS
STRESS(K) = 0.D0
END DO
DSTRESS(4) = 0.D0
DO K = 1, NTENS
DSTRAN(K) = 0.D0
END DO
300 CONTINUE
The Problem is, that my data-file Looks like this:
50
51
50
51
50
51
150
151
150
151
150
151
...
Do you have an idea how to fix it?
RE: abaqus-subroutine: problem with writing data to external file
Another option is try, if you have a VUMAT, the explicit version and see if you notice the same behavior.
Are you new to this forum? If so, please read these FAQ:
http://www.eng-tips.com/faqs.cfm?fid=376
http://www.eng-tips.com/faqs.cfm?fid=1083