ottocr
C OTTOCR SOURCE AM 11/05/03 21:17:51 6955 C responsable MILLARD & XLTR,XINVL,SBILI,FCRIT,PENTE,LEBIL, & PRECIE,PRECIZ,XCOMP,XLAMC,KERRE) C========================================================================= C C ENTREES : C SIGMA,W,WMAX,SMAX,BILIN,WRUPT,BTR,XLTR,XINVL,SBILI C CETTE FOIS, LEBIL EST EN ENTREE C C SORTIES : C FCRIT,PENTE C C========================================================================== C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO C PARAMETER (XZER=0.D0,UNDEMI=.5D0,UN=1.D0,DEUX=2.D0,TROIS=3.D0) PARAMETER (NC=4) C & WRUPT(3),XLTR(3),XINVL(3),SBILI(3),FJ(3),XCOMP(*) DIMENSION FCRIT(*),NN(*),SMAX(*) DIMENSION LEBIL(*) * DIMENSION DFF(6),DGG(6) C C INITIALISATIONS C KERRE=0 DO IC=1,NC FCRIT(IC)=-1.D4*PRECIZ ENDDO * DO IC=1,NCA JC=NN(IC) * GO TO (1,1,1,4),JC * KERRE=99 RETURN * 1 CONTINUE * IF (XINVL(JC).NE.XZER) THEN * WREOUV(JC) = BTR*MIN(WMAX(JC),WRUPT(JC)) PRECIW=PRECIE/XINVL(JC) IF(IIMPI.EQ.42) THEN PRINT *,' ' PRINT *,'OTTOCR - JC =',JC PRINT *,'OTTOCR - W =',W(JC) PRINT *,'OTTOCR - WMAX =',WMAX(JC) PRINT *,'OTTOCR - WREOUV =',WREOUV(JC) PRINT *,'OTTOCR - WRUPT =',WRUPT(JC) PRINT *,'OTTOCR - SMAX =',SMAX(JC) PRINT *,'OTTOCR - LEBIL =',LEBIL(JC) ENDIF * * * cas ou le materiau n'est pas totalement casse * --------------------------------------------- * IF(WMAX(JC).LT.WRUPT(JC)) THEN IF(ABS(W(JC)-WREOUV(JC)).LT.PRECIW) THEN IF(WMAX(JC).EQ.0.D0.OR.BTR.EQ.UN) THEN * * le materiau vient d'atteindre la limite * ************************************************** **** AM AMELIORATION POUR BRUIT NUMERIQUE ************************************************** ELSE IF(WMAX(JC).NE.0.D0.AND. & ABS(W(JC)-WMAX(JC)).LT.PRECIW) THEN * * on a deja atteint la limite, mais on a w = wmax tres petits * on reprend la sequence qui est plus loin dans le cas * ou W > WREOUV * * CAS A L'INTERSECTION SECANTE - POST PIC * IF(LEBIL(JC).EQ.0) THEN ELSE IF(LEBIL(JC).EQ.1) THEN * ELSE IF(LEBIL(JC).EQ.2) THEN PRINT *,'OTTOCR CAS IMPOSSIBLE SELON ',JC KERRE=7 RETURN ENDIF ************************************************************* **** AM fin de l'amelioration ************************************************************* ELSE * * CAS A L'INTERSECTION SIGMA=0 - SECANTE * IF(LEBIL(JC).EQ.0) THEN IF(FCRIT(JC).GE.-PRECIZ) THEN ENDIF * ELSE IF(LEBIL(JC).EQ.1) THEN * ELSE IF(LEBIL(JC).EQ.2) THEN PRINT *,'OTTOCR CAS IMPOSSIBLE SELON ',JC KERRE=7 RETURN ENDIF ENDIF * ELSE IF(W(JC).GT.WREOUV(JC)) THEN IF(W(JC)-WMAX(JC).GT.PRECIW) THEN PRINT *,' OTTOCR - W > WMAX SELON ',JC PRINT *,'W(JC) =',W(JC) PRINT *,'WMAX(JC) =',WMAX(JC) KERRE=7 RETURN * ELSE IF(ABS(W(JC)-WMAX(JC)).LT.PRECIW) THEN * * CAS A L'INTERSECTION SECANTE - POST PIC * IF(LEBIL(JC).EQ.0) THEN ELSE IF(LEBIL(JC).EQ.1) THEN * ELSE IF(LEBIL(JC).EQ.2) THEN PRINT *,'OTTOCR CAS IMPOSSIBLE SELON ',JC KERRE=7 RETURN ENDIF * ELSE IF(W(JC).LT.WMAX(JC)) THEN ENDIF ELSE IF(W(JC).LT.WREOUV(JC)) THEN PRINT *,' OTTOCR - W < WREOUV SELON ',JC PRINT *,'W(JC) =',W(JC) PRINT *,'WREOUV(JC) =',WREOUV(JC) KERRE=7 RETURN ENDIF * * cas ou le materiau est totalement casse * --------------------------------------- * ELSE IF(WMAX(JC).GE.WRUPT(JC)) THEN IF(IIMPI.EQ.42) THEN PRINT *,'W(JC) =',W(JC) PRINT *,'WREOUV(JC) =',WREOUV(JC) ENDIF * IF(ABS(W(JC)-WREOUV(JC)).LT.PRECIW) THEN * IF(IIMPI.EQ.42) THEN PRINT *,' OTTOCR - ON EST A LA LIMITE ' ENDIF * IF(FCRIT(JC).GE.-PRECIZ) THEN ENDIF ELSE IF(W(JC).GT.WREOUV(JC)) THEN ENDIF ENDIF ENDIF GO TO 100 * 4 CONTINUE * & PRECIE,PRECIZ,XCOMP,XLAMC,KERRE) FCRIT(4) = FCR4 GO TO 100 * 100 CONTINUE * ENDDO * IF(IIMPI.EQ.42) THEN WRITE(IOIMP,77000) (FCRIT(IC),IC=1,4) 77000 FORMAT( 2X, ' OTTOCR - FCRIT '/(4(1X,1PE12.5)/)/) 77003 FORMAT( 2X, ' OTTOCR - PENTE '/(4(1X,1PE12.5)/)/) ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales