Numérotation des lignes :

C ELPTI7    SOURCE    CHAT      05/01/12    23:37:56     5004        SUBROUTINE ELPTI7 (NMAX,NM,ENTIER)      IMPLICIT INTEGER(I-N)        IMPLICIT REAL*8 (A-H,O-Z)-INC CCREEL        SEGMENT STAB           REAL*8 ICOS(INMAX), INTELL(INM,6)        END SEGMENT        LOGICAL ON_C        INTEGER NMAX,NM        INTEGER N,M,K,P,INT,ENTIER        REAL*8 VALA,ALPHA,ALPHA0,THETA,VAL2,VAL3        REAL*8 VAL4,VAL5,CO1,V1,V2,DV1,DV2,DK,L1 *        WRITE (6,*) '##discretisation integrale elliptique##'        THETA= (45./NMAX)-90.        ALPHA=0.        ALPHA0=0.5*(1.-0.02)        DK= (XPI/NMAX)         INMAX=NMAX        INM=NM+1        SEGINI STAB         DO 1 N=1,INMAX        ICOS(N)= COS (THETA*XPI/180.)        THETA=THETA+(90./INMAX)  1     CONTINUE         INTELL(1,1)=0.        INTELL(1,2)=0.         INT=1  21    INT= INT + 1        DO 2 M=INT,INM        P=M-1        VALA=0.        ALPHA=0.5*P/(INM)c        WRITE (6,*) 'ALPHA=',ALPHA        INTELL(M,1)=ALPHA               DO 3 K=1,INMAX                VAL4=ABS(1.+(2.*ALPHA*ICOS(K)))                VAL5= VAL4**0.5                VALA=VALA-(ALPHA*ICOS(K)*XPI/(VAL5*INMAX))  3           CONTINUE c        WRITE (6,*) 'B1 M',P,'VALA',VALA         K=0        ON_C=.TRUE.        DO WHILE (ON_C)        K=K+1        VAL2=ABS(1.-(2.*ALPHA*ICOS(K)))        VAL3=VAL2**0.5C       WRITE (6,*) 'VAL3',K,'= ',VAL3        VALA=VALA +(ALPHA*ICOS(K)*XPI/(VAL3*INMAX))                IF ((K.GE.INMAX).OR.((XPI/VAL3/INMAX).GE.(2*DK))) THEN                ON_C=.FALSE.                END IF        END DOc        WRITE (6,*) 'B2 M',P,'VALA',VALA,'K', K,(XPI/VAL3/INMAX),(2*DK)         IF (K.GE.INMAX) THEN        INTELL(M,2)=VALA        GOTO 21        END IF         VAL2=0.        V2=(K*XPI/2/INMAX)-(XPI/2)        DV2= DK*((100.-(200.*ALPHA*(COS(V2))))**0.5)/10.         ON_C=.TRUE.        DO WHILE (ON_C)        K=K+1        V1=V2        DV1=DV2        V2=V1+(DV1/2.)        CO1=COS(V2)        VAL2=20.*ALPHA*CO1*DV1/((100.-(200.*ALPHA*CO1))**0.5)        VALA=VALA+VAL2        V2=V1+DV1        DV2= DK*((100.-(200.*ALPHA*(COS(V2))))**0.5)/10.                IF ((K.GE.6000).OR.(V2.GE.0.)) THEN                 ON_C=.FALSE.                END IF        END DO         L1=K        VALA=VALA-VAL2        CO1=COS((DV1-V2)/2)        VAL2=20.*ALPHA*CO1*(DV1-V2)/((100.-(200.*ALPHA*CO1))**0.5)        VALA=VALA+VAL2        INTELL(M,2)=VALAc        WRITE (6,*) 'FIN M',P,'VALA',VALA  2     CONTINUE c        WRITE (6,*) 'INTELL2= ',INTELL(INM,2),'L1= ', L1        ENTIER=STAB        SEGDES STAB         RETURN        END

© Cast3M 2003 - Tous droits réservés.
Mentions légales