gamtr
C GAMTR SOURCE CB215821 16/04/21 21:16:59 8920 . PREC,RFSG,RFEP,RFPR,KERRE) C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO C DIMENSION S(*),DS(*) DIMENSION CP(3) C IT=ITR+1 GO TO(100,200),IT WRITE(IOIMP,20) IT KERRE=640 RETURN C 100 CP(1)=S(1) CP(2)=S(2) CP(3)=S(4) X=DS(4)*DS(4)-DS(1)*DS(2) R=MIN(R1,R2) Y=(R-S(1))*DS(2)+(R-S(2))*DS(1)+2.D0*S(4)*DS(4) Z=S(4)*S(4)-S(1)*S(2)+R*(S(1)+S(2))-R*R IF(ABS(X).LT.RFSG*RFSG) X=0.D0 IF(X.EQ.0.D0) GO TO 1 DELTA=Y*Y-4.D0*X*Z VRF=MAX(ABS(Y),RFSG) RFRF=VRF*VRF*RFPR*RFPR IF(IIMPI.EQ.9) WRITE(IOIMP,1001) X,Y,Z,DELTA IF(ABS(DELTA).LE.RFRF.AND.DELTA.LE.0.D0) DELTA=0.D0 IF(DELTA.GE.0.D0) GO TO 2 WRITE(IOIMP,22)DELTA RETURN 2 RADEL=SQRT(DELTA) GAMT1=(-Y+RADEL)/(2.D0*X) IF(GAMT1.GT.1.D0) GAMT1=1.D0 GAMT1=0.D0 GO TO 8 C 200 IF(F1ST.GT.R1) GO TO 3 GAMT1=100.D0 GO TO 4 IF(F1DS.NE.0.D0) GO TO 5 GAMT1=100.D0 GO TO 4 GAMT1=(R1-F1S)/F1DS IF(F1ST.GT.R1.AND.GAMT1.LT.0.D0) GAMT1=0.D0 4 IF(F2ST.GT.R2) GO TO 6 GO TO 8 IF(F2DS.NE.0.D0) GO TO 7 GO TO 8 C IF(GAGA.LE.0.D0) GO TO 9 IRZ=1 DENOR=MAX(DENOR,RFPR) IF(DIF.LE.PREC) IRZ=3 RETURN IF(GAMT1.LT.0.D0)GO TO 10 GAMMA=GAMT1 IRZ=1 RETURN IRZ=2 RETURN IRZ=3 RETURN 1 IF(Y.NE.0.D0) GO TO 11 WRITE(IOIMP,21) RETURN IRZ=1 C 20 FORMAT(1X,'ERREUR DANS GAMTR IL FAUT DETERMINER IT =',I4) 21 FORMAT(1X,'ERREUR DANS GAMTR DETERMINANT EST NUL') 22 FORMAT(1X,'ERREUR DANS GAMTR DELTA EST NEGATIF DELTA =',1PE12.5) 1001 FORMAT(1X,'X =',1PD12.5,1X,'Y =',1PD12.5, . 1X,'Z =',1PD12.5,1X,'DELTA =',1PD12.5) 1002 FORMAT(1X,'GAMT1 =',1PD12.5,1X,'GAMT2 =',1PD12.5) C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales