somdru
C SOMDRU SOURCE PV 22/04/22 21:15:13 11344
*
IMPLICIT INTEGER(I-N)
IMPLICIT REAL *8(A-H,O-Z)
DIMENSION XMAT(*)
DIMENSION ORMAT(1)
-INC PPARAM
-INC CCOPTIO
*
SEGMENT ECOU
*** COMMON/ECOU/TEST,ALFAH,
2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6),
1 DALPHA(6),EPSPLA(6),E(12),XINV(3),
2 SIPLAD(6),DSIGP0(6),TET,TETI
ENDSEGMENT
C COMMON/ECOU/TEST,ALFAH,
C . HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6),
C . CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6),
C . DALPHA(6),EPSPLA(6),E(12),XINV(3),
C . SIPLAD(6),DSIGP0(6),TET,TETI
*
SEGMENT NECOU
* COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
. ITYP,JFOUR,IFLUAG,
. ICINE,ITHER,IFLUPL,ICYCL,IBI,
. JFLUAG,LEGAUS,LFLUAG,
. IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF
ENDSEGMENT
C COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO,
C . ITYP,JFOUR,IFLUAG,
C . ICINE,ITHER,IFLUPL,ICYCL,IBI,
C . JFLUAG,LEGAUS,LFLUAG,
C . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF
*
* QUELQUES INITIALISATIONS
*
KERRE=0
XMATE =XMAT(1)
XMATM =XMAT(2)
XMATKL=XMAT(3)
XMATC =XMAT(4)
XMATD =XMAT(5)
PEPSI =SQRT(2.D0*XMATC*XMATC+XMATD*XMATD)
* PENTE =XMAT(9)*PEPSI
XI1LIM=SN/XMATE
*
* PROJECTION AU SOMMET
*
IF(IIMPI.EQ.15) WRITE(IOIMP,77387)
77387 FORMAT('0 SOMDRU - ON PROJETTE AU SOMMET ')
77388 FORMAT('0 SOMDRU - XI1LIM= ',1PE12.5,2X,'PENTE= ',1PE12.5/)
*
* 1-ER CAS PAS D'ECROUISSAGE
*
*
400 CONTINUE
IF(ITYP.NE.1.AND.ITYP.NE.5) GO TO 201
DO 202 IB=1,3
SIGEL(IB)=XI1LIM/3.D0
202 CONTINUE
GO TO 205
201 CONTINUE
SIGEL(1)=0.5D0*XI1LIM
SIGEL(2)=SIGEL(1)
IF(ITYP.NE.2) GO TO 204
SIGEL(1)=0.5D0*SIGEL(1)
SIGEL(2)=SIGEL(1)
SIGEL(4)=SIGEL(1)
SIGEL(5)=SIGEL(1)
GO TO 205
204 IF(ITYP.LT.7) GO TO 205
SIGEL(5)=0.D0
SIGEL(2)=0.D0
SIGEL(4)=SIGEL(1)
IF(ITYP.LT.8) GO TO 205
SIGEL(4)=0.D0
SIGEL(1)=XI1LIM
205 CONTINUE
IF(IIMPI.EQ.15) WRITE(IOIMP,77389) (SIGEL(I),I=1,IBOU)
77389 FORMAT(1X,'SOMDRU - SIGEL '/(6(1X,1PE12.5)))
*
* ON CALCULE ALORS DELTA SIGMA PLASTIQUE
*
DO 209 IB=1,IBOU
DSIGP(IB)=STOT(IB)-SIGEL(IB)
209 CONTINUE
*
* ON CALCULE DELTA EPSILON PLASTIQUE PUIS DELTA EPSILON *
*
EPST=EPSTAR+DEPS
IF(IIMPI.EQ.15) WRITE(IOIMP,77390) EPSTAR,DEPS,EPST
77390 FORMAT(1X,'EPSTAR=',1PE12.5,2X,'DEPS=',1PE12.5,2X,'EPST=',
. 1PE12.5/)
RETURN
*
* 2-EME CAS ECROUISSAGE
*
300 CONTINUE
IF(ITYP.NE.1.AND.ITYP.NE.5.AND.ITYP.NE.6) THEN
KERRE=51
RETURN
ENDIF
*
* CAS DES CONTRAINTES PLANES
*
IF(ITYP.EQ.6) THEN
KERRE=52
RETURN
ENDIF
DEPS= -XI1LIM/XMAT(9)
EPST= EPSTAR+DEPS
IF(IIMPI.EQ.15) WRITE(IOIMP,77389) (SIGEL(I),I=1,IBOU)
IF(IIMPI.EQ.15) WRITE(IOIMP,77390) EPSTAR,DEPS,EPST
LAPOIN=1
RETURN
ENDIF
*
* CAS DU MASSIF
*
IF(ITYP.EQ.1.OR.ITYP.EQ.5) THEN
IF(XMATE.EQ.0.D0) THEN
KERRE=52
RETURN
ENDIF
FAC1=(1.D0-2.D0*XNU)/(3.D0*XMATE*YUNG)
FAC2=FAC1*XI1LIM
FAC1=FAC1*XMAT(9)
UNSE = 1.D0/YUNG
UNSE2= UNSE*2.D0*(1.D0+XNU)
W1(1)= UNSE*(STOT(1)-XNU*(STOT(2)+STOT(3)))-FAC2
W1(2)= UNSE*(STOT(2)-XNU*(STOT(1)+STOT(3)))-FAC2
W1(3)= UNSE*(STOT(3)-XNU*(STOT(1)+STOT(2)))-FAC2
W1(4)= UNSE2*STOT(4)
W1(5)= UNSE2*STOT(5)
W1(6)= UNSE2*STOT(6)
AA = 1.D0-2.D0*FAC1*FAC1
BB = 2.D0*FAC1*(W1(1)+W1(2)+W1(3))/3.D0
IF(AA.EQ.0.D0) THEN
IF(BB.EQ.0.D0) THEN
KERRE=53
RETURN
ENDIF
DEPS= CC/2.D0/BB
IF(DEPS.LT.0D0) THEN
KERRE=53
RETURN
ENDIF
ELSE
DISCR=BB**2+AA*CC
IF(DISCR.LT.0D0) THEN
KERRE=53
RETURN
ENDIF
DISCR=SQRT(DISCR)
DEPS1 = (-BB+DISCR)/AA
DEPS2 = (-BB-DISCR)/AA
DEPS=MAX(DEPS1,DEPS2)
IF(DEPS.LT.0D0) THEN
KERRE=53
RETURN
ENDIF
ENDIF
SNN = XI1LIM+XMAT(9)*DEPS
* AM 24/5/93 TEST SUR SN
IF(SNN .LT. 0.D0) THEN
SNN=0.D0
DEPS= -XI1LIM/XMAT(9)
ENDIF
DO 302 IB=1,3
SIGEL(IB)=SNN/3.D0
302 CONTINUE
EPST=EPSTAR+DEPS
IF(IIMPI.EQ.15) WRITE(IOIMP,77389) (SIGEL(I),I=1,IBOU)
IF(IIMPI.EQ.15) WRITE(IOIMP,77390) EPSTAR,DEPS,EPST
RETURN
ENDIF
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales