ça fait plusieurs jours que je n'arrive pas a faire fonctionner ce programme quelqu'un peut m'aider à trouver les erreurs:

fichier d'entrée:
19-03-2007
m kg/m3
Hspirale P(1) T(1) Gamma rgaz Lignes
0.11648 625000 291.5 1.1311 100 25

UV UC RC UN RN UK RK SURF
vilbrequin u r u r u r 1 poche
rad rad m rad m rad m m2
U C C N N K K S
0.000 1.484 0.335 -1.658 0.310 -4.800 0.280 0.055
-1.047 0.436 0.325 -2.705 0.298 -5.847 0.270 0.053
-2.094 -0.611 0.323 -3.752 0.295 -6.894 0.268 0.051
-3.142 -1.658 0.310 -4.800 0.280 -7.941 0.255 0.050
-4.189 -2.705 0.298 -5.847 0.270 -8.988 0.245 0.047
-5.236 -3.752 0.295 -6.894 0.268 -10.036 0.235 0.046
-6.283 -4.800 0.280 -7.941 0.255 -11.083 0.220 0.045
-7.330 -5.847 0.270 -8.988 0.245 -12.130 0.210 0.043
-8.378 -6.894 0.268 -10.036 0.235 -13.177 0.205 0.041
-9.425 -7.941 0.255 -11.083 0.220 -14.224 0.185 0.039
-10.472 -8.988 0.245 -12.130 0.210 -15.272 0.180 0.037
-11.519 -10.036 0.235 -13.177 0.205 -16.319 0.165 0.035
-12.566 -11.083 0.220 -14.224 0.185 -17.366 0.155 0.032
-13.614 -12.130 0.210 -15.272 0.180 -18.413 0.150 0.031
-14.661 -13.177 0.205 -16.319 0.165 -19.460 0.140 0.030
-15.708 -14.224 0.185 -17.366 0.155 -20.508 0.130 0.028
-16.755 -15.272 0.180 -18.413 0.150 -21.555 0.125 0.026
-17.802 -16.319 0.165 -19.460 0.140 -22.602 0.110 0.024
-18.850 -17.366 0.155 -20.508 0.130 -23.649 0.100 0.022
-19.897 -18.413 0.150 -21.555 0.125 -24.696 0.000 0.001
-20.944 -19.460 0.140 -22.602 0.110 -25.744 0.000 0.001
-21.991 -20.508 0.130 -23.649 0.100 -26.791 0.000 0.001
-23.038 -21.555 0.125 -24.696 0.000 -27.838 0.000 0.001
-24.086 -22.602 0.110 -25.744 0.000 -28.885 0.000 0.001
-25.133 -23.649 0.100 -26.791 0.000 -29.932 0.000 0.001
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
 
       PROGRAM   D
       INTEGER NT,N,IL
       REAL Roe,PINT,PEXT,DP,C,D,HT,k,rgaz,a,b,Fx,Fy,F,Ga,m
 
       DIMENSION UV1(3600),UC1(3600),RC1(3600),UN1(3600),RN1(3600),
     &  UK1(3600),RK1(3600),SURF1(3600)
 
 
       DIMENSION UV(3600),UC(3600),RC(3600),UN(3600),RN(3600),
     &  UK(3600),RK(3600),P(3600),SURF(3600),PX(3600),m(3600),T(3600),
     &  Fx1(3600),Fy1(3600),Fx2(3600),Fy2(3600),Fx(3600),Fy(3600),
     &  F1(3600),F2(3600),F(3600),MMT1(3600),MMT2(3600),MMT(3600)
 
       double precision pi
 
       OPEN(UNIT=5,status='OLD',form='formatted',FILE='tab4.txt') 
       Read (5,*) 
       Read (5,*)
       Read (5,*)
       Read (5,*) 
       read (5,*) HT,P(1),T(1),Ga,rgaz,IL
 
       write (*,*)'    HT = ',HT
       write (*,*)'    P(1)=',P(1)
       write (*,*)'    T(1)=',T(1)
       write (*,*)'    Ga = ',Ga
       write (*,*)'    IL = ',IL
 
       Read (5,*) 
       Read (5,*)
       Read (5,*)
       Read (5,*) 
       Read (5,*)
 
 
       DO N=1,IL   
       READ(5,*) UV1(N),UC1(N),RC1(N),UN1(N),RN1(N),UK1(N),RK1(N),
     &           SURF1(N)  
 
 
         UV(N)=UV1(N)
         UC(N)=UC1(N)     
         RC(N)=RC1(N)
         UN(N)=UN1(N) 
         RN(N)=RN1(N)        
         UK(N)=UK1(N)         
         RK(N)=RK1(N)      
         SURF(N)=SURF1(N)
         write (*,*)'UV(N),UC(N),RC(N),UN(N),RN(N),UK(N),RK(N),
     &              SURF(N)'
 
        write (*,*)UV(N),UC(N),RC(N),UN(N),RN(N),UK(N),RK(N),
     &              SURF(N)
 
       END DO
 
 
       write(*,*) 'interpolation'
      !    go to 101 
           call interpol(IL,360,UV1,UC1,UV,UC)
101   continue
 
 
       read(*,*)     
       write(*,*) 'début du traitement'
       read(*,*)
 
C     'Calculer la masse,pression,PX et la température'
       N = 1
       m(N) = P(1)*(HT*SURF(1))/(rgaz*T(1))
       write(*,*) 'premier m(1)=',m(N)
       read(*,*)
       DO N=2,IL
         m(N)=m(N-1)
         P(N)=P(N-1)*(SURF(N-1)/SURF(N))**(1/Ga)
         write(*,*) 'm(N),P(N)',m(N),P(N)
         read(*,*)   
         IF (N.LE.6) THEN
              PX(N)=P(1)
              ELSE
              PX(N) = P(N-6)
         END IF
 
         T(N)=T(N-1)*(SURF(N-1)/SURF(N))**(Ga-1)
         write(*,*) 'N = ',N,' m = ',m(N),' P = ',P(N),' T = ',T(N)
       END DO
 
       read(*,*)
c      Calcul de la force      
 
       DO N=1,IL
 
        CALL FORCE(HT,P(N),PX(N),UC(N),RC(N),UN(N),RN(N),Fx1(N),
     &       Fy1(N),F1(N))
 
        CALL FORCE(HT,P(N),PX(N),UN(N),RN(N),UK(N),RK(N),Fx2(N),
     &       Fy2(N),F2(N))
        Fx(N) = Fx1(N) + Fx2(N)
        Fy(N) = Fy1(N) + Fy2(N)
        F(N) = sqrt(Fx(N)**2 + Fy(N)**2)
      !write(*,*) F(N)
       END DO
C      Calcul du moment      
 
       DO N=1,IL
 
        CALL MOMENT(UC(N),RC(N),UN(N),RN(N),Fx1(N),Fy1(N),MMT1(N))
        CALL MOMENT(UN(N),RN(N),UK(N),RK(N),Fx2(N),Fy2(N),MMT2(N))
        MMT(N) = MMT1(N)+MMT2(N)
      !write(*,*) MMT(N)
       END DO 
 
      end
C     SUBROUTINES
 
      SUBROUTINE FORCE(HT,PINT,PEXT,CC,rr,DD,kk,FFx,FFy,FF)
 
      !          FORCE(HT,P(N),PX(N),UC(N),RC(N),UN(N),RN(N),Fx1(N),
      !  &       Fy1(N),F1(N))
 
 
 
      INTEGER NX
 
      REAL HT,PINT,PEXT,CC,rr,DD,kk,FFx,FFy,FF,DPX,aa,bb
      double precision pi
      pi=3.14159
 
      DPX = PEXT-PINT
 
      aa=-rr*cos(CC)+kk*cos(DD)
      bb=-rr*sin(CC)+kk*sin(DD)
      FFx=aa*H*DPX
      FFy=bb*H*DPX
      FF=sqrt(FFx*FFx+FFy*FFy)
 
      WRITE (*,*) '    DPX = ',DPX,'    r = ',rr,'    k = ',kk,
     f'    a = ',aa,'    b = ',bb,'    Fx = ',FFx,'    Fy = ',FFy,
     &'    F = ',FF
 
      READ (*,*)    
      RETURN    
      END
 
 
      SUBROUTINE MOMENT(CC,rr,DD,kk,Fx,Fy,MMT)
 
 
      INTEGER NX
 
      REAL CC,rr,DD,kk,Fx,Fy,MMT,aa,bb
      double precision pi
      pi=3.14159
 
 
      aa=(rr*cos(CC)+kk*cos(DD))/2
      bb=(rr*sin(CC)+kk*sin(DD))/2
 
      CALL PRODVECT(aa,bb,0,Fx,Fy,0,MX,MY,MZ)
      MMT = MZ
 
      WRITE (*,*) '    DPX = ',DPX,'    r = ',rr,'    k = ',kk,
     f'    a = ',aa,'    b = ',bb,'    Fx = ',Fx,'    Fy = ',Fy,
     g '    MMT = ',MMT
 
      READ (*,*)    
      RETURN    
      END
 
 
      SUBROUTINE PRODVECT(a,b,c,Fx,Fy,Fz,MX,MY,MZ)  
 
      INTEGER NX
 
      REAL a,b,c,Fx,Fy,Fz,MX,MY,MZ
      double precision pi
      pi=3.14159
 
      MX = b*Fz-c*Fz
      MY = -a*Fz-c*Fx
      MZ =a*Fy-b*Fx
 
 
      WRITE (*,*) 'a,b,c,Fx,Fy,Fz,MX,MY,MZ',
     &             a,b,c,Fx,Fy,Fz,MX,MY,MZ
 
      READ (*,*)    
      RETURN    
      END
 
 
      subroutine INTERPOL(IMAX,KMAX,UV1,UC1,UV,UC)
 
C***********************************************************************
C OBJET   : Interpolations des données contenues dans le fichier       *
C	       d'entrées                                               *
C                                    	                               *
C ENTREES : LIGNE   Nombre de lignes composant le fichier d'entrées    * 
C                    des surfaces                                      *                                   
C	    ITMAX   Itération maximale ou encre angle maximal          *
C	    SURF    Tableau de "LIGNE" lignes contenant les differentes*			      		        
C		    surfaces de fuites				       *
C ES      : SURF   Tableau de "ITMAX" lignes  contenant les differentes*
C		    surfaces de fuites                                 * 
C            	                   				       	    		   *                          
C COMMENT :                                                            *
C MODIF   : JJ/MM/AAAA AUT : Creation                                  *
C***********************************************************************	
 
        dimension  UV1(3600),UC1(3600),UV(3600),UC(3600)
    	real  UVINF,UVSUP,UCINF,UCSUP,pi
    	integer IMAX,KMAX,N,IL
 
        pi=3.14159
 
       UV(1) = UV1(1)
	   UV(KMAX) = UV1(IMAX)
       UC(1) = UC1(1)
	   UC(KMAX) = UC1(IMAX)
 
	  WRITE (*,*) 'INTERPOL xxxxxxxxxxxxxxxxx'
	  READ (*,*)	
C 	INTERPOLATION DES DONNEES CONTENUES DANS  TABINT1 VERS TABINT
       I = 1
      UVINF = UV1(I)
	  UVSUP = UV1(I+1)
	  UCINF = UC1(I)
	  UCSUP = UC1(I+1)
 
	  DO 100 K=2,KMAX-1
	    WRITE(*,*) 'K = ',K
 
        UV(K) = -(K*2*pi)/KMAX
		IF( UV(K).GT.UV1(I+1) )  THEN	      
	      I = I + 1
		  UVINF = UV1(I)
	      UVSUP = UV1(I+1)
	      UCINF = UC1(I)
	      UCSUP = UC1(I+1)
	      WRITE(*,*)'UV(K) = ',UV(K)
		  WRITE (*,*) UVINF,' ',UVSUP,'   ',UCINF,' ',UCSUP
           WRITE(*,*) ' I =',I,' UV1 =',UV1(I),' UC1 =', UC1(I)
		  READ (*,*)                       
								  ELSE
 
          ENDIF
 
          UC(K)=UCINF+(UV(K)-UVINF)*(UCSUP-UCINF)/(UVSUP-UVINF) 
		WRITE (*,*) 'UC(K) = ',UC(K)		
100	   CONTINUE
	  RETURN	
	  END