prjdru
C PRJDRU SOURCE FANDEUR 22/05/02 21:15:29 11359 . EPSTAR,ITER,SN,DHOOK,AM,A,BM,XMAT,YUNG,XNU,LAPOIN,KERRE, & ecou,necou) * IMPLICIT INTEGER(I-N) IMPLICIT REAL *8(A-H,O-Z) DIMENSION AM(*),A(*),BM(*),XMAT(*),DHOOK(*) -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 EXTERNAL DDOT * DATA COEPT/1.D-3/ DATA ITMAX/25/ * * QUELQUES INITIALISATIONS * IIMPI0=IIMPI JEBOUC=0 2020 JEBOUC=JEBOUC+1 KERRE=0 LESN0 =0 LAPOIN=0 XMATE =XMAT(1) XMATM =XMAT(2) XMATKL=XMAT(3) XMATC =XMAT(4) XMATD =XMAT(5) PEPSI =SQRT(2.D0*XMATC*XMATC+XMATD*XMATD) PENTF=PENTE * IF(IIMPI.EQ.15) THEN WRITE(IOIMP,77991) YUNG,XNU,ITYP,IMAPLA,PEPSI 77991 FORMAT('0 PRJDRU YUNG=',1PE12.5,2X,'XNU=',1PE12.5/ . 2X,'ITYP=',I4,2X,'IMAPLA=',I4,2X,'PEPSI=',1PE12.5/) WRITE(IOIMP,77992) (XMAT(IJ),IJ=1,9) 77992 FORMAT('0 PRJDRU XMAT ' /(3(1X,1PE12.5))) WRITE(IOIMP,77995) SSTAR,SELAS,EPSTAR 77995 FORMAT('0 PRJDRU SSTAR=',1PE12.5,2X,'SELAS=',1PE12.5,2X, . 'EPSTAR=',1PE12.5/) ENDIF * * CALCUL DE LA MATRICE DE HOOKE ( ISOTROPE ONLY | ) * * GO TO (101,102,103,104,105,106,107,108,109),ITYP 101 CONTINUE DO IA=1,3 AM((IA-1)*6+IA) =1.D0 AM((IA-1)*6+21+IA)=3.0D0 W2(IA)=1.D0 ENDDO AM(2)=-0.5D0 AM(3)=-0.5D0 AM(7)=-0.5D0 AM(9)=-0.5D0 AM(13)=-0.5D0 AM(14)=-0.5D0 GO TO 200 102 CONTINUE * ON SAUVE D COMPACTE SUR 10 VALEURS DANS CVNMSD DHOOK(1)=CVNMSD(1) DHOOK(2)=CVNMSD(2) DHOOK(7)=CVNMSD(3) DHOOK(8)=CVNMSD(4) DHOOK(15)=CVNMSD(5) DHOOK(22)=CVNMSD(6) DHOOK(23)=CVNMSD(7) DHOOK(28)=CVNMSD(8) DHOOK(29)=CVNMSD(9) DHOOK(36)=CVNMSD(10) DO IA=1,2 AM(6*(IA-1)+IA)=ALFAH AM(6*(IA-1)+21+IA)=1.D0 W2(3+IA)=1.D0 ENDDO AM(2)=-0.5D0*ALFAH AM(7)=-0.5D0*ALFAH AM(15)=3.0D0*ALFAH AM(23)=-0.5D0 AM(28)=-0.5D0 AM(36)=3.0D0 GO TO 200 103 CONTINUE DHOOK(1)=CVNMSD(1) DHOOK(2)=CVNMSD(2) DHOOK(7)=CVNMSD(3) DHOOK(8)=CVNMSD(4) DHOOK(15)=CVNMSD(5) DHOOK(22)=CVNMSD(6) DHOOK(23)=CVNMSD(7) DHOOK(28)=CVNMSD(8) DHOOK(29)=CVNMSD(9) DHOOK(36)=CVNMSD(10) AM(1)= 1.D0 AM(2)=-0.5D0 AM(7)=-0.5D0 AM(8)= 1.D0 AM(15)=3.0D0 W2(1)= 1.D0 W2(2)= 1.D0 GO TO 200 104 CONTINUE AM(15)=1.D0 W2(3)=1.D0 GO TO 200 105 CONTINUE AM(1)=0.5D0*(COVNMS(2)+COVNMS(3)) AM(8)=0.5D0*(COVNMS(1)+COVNMS(3)) AM(15)=0.5D0*(COVNMS(2)+COVNMS(1)) AM(2)=-0.5D0*COVNMS(3) AM(3)=-0.5D0*COVNMS(2) AM(7)=-0.5D0*COVNMS(3) AM(9)=-0.5D0*COVNMS(1) AM(13)=-0.5D0*COVNMS(2) AM(14)=-0.5D0*COVNMS(1) AM(22)=-0.5D0*COVNMS(4) AM(29)=-0.5D0*COVNMS(5) AM(36)=-0.5D0*COVNMS(6) DO IB=1,3 W2(IB)=1.D0 ENDDO GO TO 200 106 CONTINUE AM(1) =1.D0 AM(8) =1.D0 AM(15)=1.D0 AM(2)=-0.5D0 AM(3)=-0.5D0 AM(7)=-0.5D0 AM(9)=-0.5D0 AM(13)=-0.5D0 AM(14)=-0.5D0 AM(22)=3.0D0 W2(1)=1.D0 W2(2)=1.D0 W2(3)=1.D0 GO TO 200 107 CONTINUE AM(1)=ALFAH AM(22)=1.D0 W2(4)=1.D0 GO TO 200 108 CONTINUE AM(1)=1.D0 W2(1)=1.D0 GO TO 200 109 CONTINUE * 200 CONTINUE TST10=TST*1.D1 IF(IIMPI.EQ.15) WRITE(IOIMP,77883) TST,DHOOK(1),DHOOK(8), 77883 FORMAT('0 PRJDRU - TST=',1PE12.5/2X, . 'DHOOK(1)=',1PE12.5,2X,'DHOOK(8)=',1PE12.5,2X, . 'DHOOK(15)=',1PE12.5/'0 TEST=',1PE12.5,2X, . 'COEPT=',1PE12.5/) * * INITIALISATIONS AVANT ITERATIONS * ITER =0 EPSTA0 = EPSTAR/PEPSI EPST = EPSTA0 * AM 24/5/93 TEST SUR SN IF(SN.LT.0.D0) THEN LESN0=1 SN = 0.D0 PENTF=0.D0 ENDIF DEPS =0.D0 DEPSI=0.D0 SJ1=XINV(1) SJ2=XINV(2) IF(IIMPI.EQ.15) THEN WRITE(IOIMP,77993) (SIGEL(IJ),IJ=1,IBOU) 77993 FORMAT('0 PRJDRU SIGEL ' /(6(1X,1PE12.5))) 77994 FORMAT('0 PRJDRU SN=',1PE12.5,2X,'SI=',1PE12.5,2X, . 'SJ1=',1PE12.5,2X,'SJ2=',1PE12.5) ENDIF * * ------------------------------- * | LES ITERATIONS INTERNES | * ------------------------------- 555 CONTINUE ITER=ITER+1 IF(IIMPI.EQ.15) WRITE(IOIMP,77886) ITER 77886 FORMAT('0 >>>>>>>>>>> PRJDRU - ITER =',I4/) * * AM 24/5/93 TEST SUR SJ2 IF(IIMPI.EQ.15) WRITE(IOIMP,71886) SJ2,TST10 71886 FORMAT('0 SJ2=',1PE12.5,2X,'TST10=',1PE12.5/) IF(SJ2.LT.TST10) GO TO 6 * 1108 CONTINUE DO IM=1,IBOU DALPHA(IM) = SIGEL(IM) ENDDO IF(IIMPI.EQ.15) WRITE(IOIMP,72677) (W1(IJ),IJ=1,6) 72677 FORMAT(1X,' W1 '/(6(1X,1PE12.5))) ELTB=XMATD/SJ2 ELT =XMATM/SJ2 IF(IIMPI.EQ.15) WRITE(IOIMP,73677) (SIPLAD(IJ),IJ=1,6) 73677 FORMAT(1X,' SIPLAD '/(6(1X,1PE12.5))) IF(IIMPI.EQ.15) WRITE(IOIMP,73674) (W1(IJ),IJ=1,6) 73674 FORMAT(1X,' W1 '/(6(1X,1PE12.5))) IF(IIMPI.EQ.15) WRITE(IOIMP,73675) (DSIGP0(IJ),IJ=1,6) 73675 FORMAT(1X,' DSIGP0 '/(6(1X,1PE12.5))) DEPSI=(SI-SN)/(ELT1+PENTF+1.E-20) DEPS = DEPS+DEPSI IF(IIMPI.EQ.15) WRITE(IOIMP,77888) DEPSI,DEPS 77888 FORMAT('0 PRJDRU - DEPSI=',1PE12.5,2X,'DEPS=',1PE12.5/) IF(DEPS.LT.0.D0) GO TO 5 EPST = EPSTA0+DEPS 77812 FORMAT('0 PRJDRU - XMATKL',1PE12.5,2X,'PENTE=',1PE12.5, . 2X,'EPST=',1PE12.5,2X,'SN=',1PE12.5/) * * AM 24/5/93 TEST SUR SN IF(SN.LT.0.D0) THEN SN=0.D0 PENTF=0.D0 LESN0=1 * AM 12/8/93 ON REMBOBINE DEPS = DEPS-DEPSI ITER=ITER-1 IF(IIMPI.EQ.15) WRITE(IOIMP,71108) 71108 FORMAT('0 ****** PRJDRU - ON REMBOBINE '/) GO TO 1108 ENDIF DO I=1,IBOU EPSPLA(I)=EPSPLA(I)+SIPLAD(I)*DEPSI ENDDO * * PETITE MODIF 19/8/92 * IF(MOD(ITER,5).EQ.0) THEN DO IM=1,IBOU SIGEL(IM)=(SIGEL(IM)+DALPHA(IM))*0.5D0 ENDDO ENDIF SJ1=XINV(1) SJ2=XINV(2) * AM 24/5/93 * SI XMATE=0 PAS DE PB DE SOMMET * SINON, SI ON DEPASSE LE SOMMET, ON PROJETTE DESSUS * IF(XMATE.EQ.0.D0) GO TO 210 XI1LIM=SN/XMATE IF(IIMPI.EQ.15) WRITE(IOIMP,77811) SJ1,SN,XI1LIM,SJ2 77811 FORMAT('0 PRJDRU - SJ1=',1PE12.5,2X,' SN =',1PE12.5, . 2X,'XI1LIM=',1PE12.5,2X,'SJ2=',1PE12.5/) IF(SJ1.GT.XI1LIM) GO TO 6 210 CONTINUE STST=ABS(SI-SN) * IF(IIMPI.EQ.15) THEN 77887 FORMAT('0 PRJDRU - SI=',1PE12.5,2X,'SN=',1PE12.5,2X, . 'STST=',1PE12.5,2X,'TST=',1PE12.5/2X,'EPST=',1PE12.5) WRITE(IOIMP,77677) (SIGEL(IJ),IJ=1,IBOU) 77677 FORMAT(1X,'NOUVELLE SOLUTION'/(6(1X,1PE12.5))) WRITE(IOIMP,71677) (EPSPLA(IJ),IJ=1,IBOU) 71677 FORMAT(1X,'NOUVELLE DEF PLA'/(6(1X,1PE12.5))) ENDIF * IF(STST.LE.TST) GO TO 3 IF(ITER.GT.ITMAX) GO TO 4 GO TO 555 * * PROJECTION AU SOMMET * 6 CONTINUE IF(IIMPI.EQ.15) WRITE(IOIMP,77387) 77387 FORMAT('0 PRJDRU - ON VA PROJETTER AU SOMMET ') . XNU,PENTF,KERRE,ecou,necou) LAPOIN=1 GO TO 33 * 5 CONTINUE KERRE=1 GO TO 34 4 CONTINUE KERRE=2 34 CONTINUE IF (JEBOUC.EQ.1) THEN IIMPI=15 GO TO 2020 ELSE IIMPI=IIMPI0 ENDIF 3 CONTINUE IF(IIMPI.EQ.15) WRITE(IOIMP,66554) (EPSPLA(IB),IB=1,IBOU) 66554 FORMAT('0 SORTIE DE PRJDRU - EPSPLA ' /1X,6(1X,1PE12.5)/) IF(IIMPI.EQ.15) WRITE(IOIMP,61554) DEPS,EPST 61554 FORMAT('0 SORTIE DE PRJDRU - DEPS = ',1PE12.5,2X,'EPST=', . 1PE12.5) DEPS=DEPS*PEPSI EPST=EPST*PEPSI 33 CONTINUE c RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales