ottvak
C OTTVAK SOURCE FD218221 21/06/10 21:15:54 11030 & VV4,VV2,OO,TOL,NDEF,X2,RCZ0,RCZ,XC,MV,IERUT) * IMPLICIT INTEGER (I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION SS1(*),SS2(*),SS3(*),XVAL(*) DIMENSION VV1(*),VV3(*),VV4(*) DIMENSION VV2(*),RCZ0(*),RCZ(*),XC(*) DIMENSION SS4(6),VV5(7),OO(3,3) PARAMETER (NAUX=20) * IERUT=0 F0=RCZ0(KV0) F=RCZ(KV0) F00 = F0 X0=0.D0 X1=1.D0 F1 = F JT=0 33 CONTINUE JT=JT+1 IF(JT.GT.NAUX) THEN GO TO 202 ENDIF X2 = X1 - (X0-X1)*F1/(F0-F1) X2 = MAX(X2,0.D0) X2 = MIN(X2,1.D0) IF(MV.NE.0) THEN DO I=1,NDEF SS4(I)=SS1(I)+X2*(1.-X2/2.)*SS2(I)+X2*X2*SS3(I)/2.D0 ENDDO ELSE DO I=1,NDEF SS4(I)=SS1(I)+X2*SS2(I) ENDDO ENDIF IF(MV.NE.0) THEN DO I=1,NVARI VV5(I)=VV1(I)+X2*(1.-X2/2.)*VV3(I) + X2*X2*VV4(I)/2.D0 ENDDO ELSE DO I=1,NVARI VV5(I)=VV1(I) ENDDO ENDIF MW=0 & XC,RCZ,KV0,MW,TOL,IERUT) IF(IERUT.NE.0) RETURN F2=RCZ(KV0) IF(ABS(F2).LE.TOL) GO TO 100 IF(F0*F2.LT.0.D0) THEN X1=X0 F1=F0 ELSE F1 = F1*F0/(F0+F2) ENDIF X0=X2 F0=F2 GO TO 33 * 202 CONTINUE X0=0.D0 X1=1.D0 F0 = F00 F1 = F JT=0 KT=0 43 CONTINUE JT=JT+1 IF(JT.GT.NAUX) THEN IERUT=2 RETURN ENDIF X2 = X1 - (X0-X1)*F1/(F0-F1) IF(X2.LT.0.D0.OR.X2.GT.1.D0) THEN IERUT=2 RETURN ENDIF IF(MV.NE.0) THEN DO I=1,NDEF SS4(I) = X2*(1.-X2/2.)*SS2(I) + X2*X2*SS3(I)/2.D0 ENDDO ELSE DO I=1,NDEF SS4(I)=SS1(I)+X2*SS2(I) ENDDO ENDIF IF(MV.NE.0) THEN DO I=1,NVARI VV5(I) = VV1(I)+X2*(1.-X2/2.)*VV3(I) + X2*X2*VV4(I)/2.D0 ENDDO ELSE DO I=1,NVARI VV5(I) = VV1(I) ENDDO ENDIF MW=0 & XC,RCZ,KV0,MW,TOL,IERUT) IF(IERUT.NE.0) RETURN F2=RCZ(KV0) IF(ABS(F2).LE.TOL) GO TO 100 IF(F1*F2.LT.0.D0) THEN AUX=X1 AUF=F1 X1=X0 F1=F0 X0=AUX F0=AUF ENDIF * 235 CONTINUE KT=KT+1 IF(KT.GT.NAUX) THEN IERUT=2 RETURN ENDIF IF(F1*F2.GT.0.D0) THEN F0 = F0*F1/(F1+F2) X1=X2 F1=F2 X2 = X1 - (X0-X1)*F1/(F0-F1) IF(X2.LT.0.D0.OR.X2.GT.1.D0) THEN IERUT=2 RETURN ENDIF IF(MV.NE.0) THEN DO I=1,NDEF SS4(I) = X2*(1.-X2/2.)*SS2(I) + X2*X2*SS3(I)/2.D0 ENDDO ELSE DO I=1,NDEF SS4(I)=SS1(I)+X2*SS2(I) ENDDO ENDIF IF(MV.NE.0) THEN DO I=1,NVARI VV5(I) = VV1(I)+X2*(1.-X2/2.)*VV3(I) + X2*X2*VV4(I)/2.D0 ENDDO ELSE DO I=1,NVARI VV5(I) = VV1(I) ENDDO ENDIF MW=0 & XC,RCZ,KV0,MW,TOL,IERUT) IF(IERUT.NE.0) RETURN F2=RCZ(KV0) IF(ABS(F2).LE.TOL) GO TO 100 ENDIF IF(F1*F2.LT.0.D0) THEN X0=X1 F0=F1 X1=X2 F1=F2 GO TO 43 ELSE GO TO 235 ENDIF * 100 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales