回 帖 发 新 帖 刷新版面

主题:[讨论]程序

H(i,j)=H(1,1)-(j-1)*F(i)*Q0^2
Q(i,j)=Q0
continue
H(i+1,i)=H(i,NN)
continue
NN=N(NP)+1
HS=H(NP,NN)
QS=Q0
DO 85 i=1,NP
NN=N(i)+1
NN=N(i)+1
DO 85 J=1,NN
Hmax(i,j)=H(i,j)
Hmin(i,j)=H(i,j)
continue
T=0.0
tau=tau0
write(6,88)
format(/8X,'time',2X,'tau',2X,'pipe',7X,'head(M)',7X,'disch.'1'(M3/S)'/20X,'NO',5x,'(1)',5X,'(N+1)',5X,'(1)',5X,'(N+1)'/)
K=0
i=1
NN=N(i)+1
write(6,100)T,tau,i,H(i,1),H(i,NN),Q(i,1)
Q(i,NN)
format(F12.1,F6.3,I4.2F9.2,F9.3,F10.3)
if(NP.EQ.1)GO TO 150
do 140 i=2,NP
NN=N(i)+1
write(6,120)i,H(i,1),H(i,NN),Q(i,1),Q(i,NN)
format(20X,I2,2F9.2,F9.3,F10.3)
continue
T=T+DT
K=k+1
if(T.GT,ilast)GO TO 240
upstream reservoir
Hpp(1,1)=Hres 
CN=Q(1,2)-H(1,2*CA(1)-CF(1)*Q(1,1)*ABS((Q(i,1))
QP(1,1)=CN+CA(1)*Hres
interior points
do 170 i=1,NP
NN=N(1)
CN=Q(i,J+1)-CA(i)*H(i,j+1)-CP(i)*Q(i,j+1)*abs(Q(i,j+1))
CP=Q(i,J-1)-CA(i)*H(i,j-1)-CP(i)*Q(i,j-1)*abs(Q(i,j-1))
QP(i,j)=0.5*(CP+CN)
Hp(i,j)=(CP-QP(i,j))/CA(i)
continue
continue
series junction
NPi=NP-1
if(NO.EQ.1)GO TO 178
DO 175 i=1,NP1
N1=N(i)
NN=N(i)+1
CN=Q(i+1,2)-CA(i+1)*H(i+1,2)-CF(i+1)*Q(i+1,2)*ABS(Q(i+1,2) 1)
CN=Q(i,N1)+CA(i)*H(i,N1)-CF(i)*Q(i,N1)*ABS(Q(i,N1) 1)
HP(i,NN)=(CP-CN)/(CA(i)+CA(i+1))
HP(i+1,1)=HP(i,NN)
QP(i,NN)=CP-CA(i)*HP(i,NN)
continue

Cvalve at downstream end

NN=N(NP)+1
CP=Q(NP,NN-1)+CA(NP)*H(NP,NN-1)-CF(NP)*Q(NP,
NN-1)*ABS(Q(NP,1 NN-1)
If(t,ge,tv)go to 180
Call parab(t,dxt,y,tau)
Go to 190
 TAU-TAUF
 If(tau,le,0,0)go to 200
CV=(QS*TAU)**2/(HS*CA(NP))
     QP(NP,NN)=0.5*(-CV+SQRT(CV*CV+4.*CP*CV))
     HP(NP,NN)=(CP-QP(NP,NN))/CA(NP)
     Go to 210
qp(np,nn)=0.0
     Hp(np,nn)=cp/ca(np)

   stcring variables for next time step

 do 230 i=1,np
 NN=N(NP)=1
 Do 220 j=1,nn
 Q(i,j)=Qp(i,j)
 H(i,j)=Hp(i,j)
 If(H(i,j),gt,Hmax(i,j))Hmax(i,j)=H(i,j)
 If (H(i,f),lt,Hmin(i,j))Hmin(i,j)=H(i,j)
 continue
 continue
     If (k,fq,iprint)go to 90
     Go to 150
 write(6,250)
 format(/8x,pipi no,3x,section no,3x,max
      Press,,3x,1min,press,/)
      Do 270 i=1,NP
      NN=N(i)=1
      Do 270 j=1,nn
      Write(6,266)i,j,hmax(i,j),hmin(i,j)
 format(9x,i2,3x,i2,2fi3,2)
continue
Stop
End
Subroutine parab(x,dx,y,x)
 Dimension y(20)
 I=X/DX
 R=(X-i*DX)*DX
 If(i,eq,0)r=r-1
 I=I=1
 If(i,lt,2)i=2
 Z=Y(I)=0.5*R*(Y(i=1)=R*(Y(i+1)*Y(i-1)-2*Y(i)))
 Return
 End 



这个程序怎么运行  还有就是怎么改正确了可以运行啊   我是个菜鸟啊 谢谢了 !!

回复列表 (共5个回复)

沙发

先自己编译一下试试,出错的话把出错的地方和出错信息贴出来:)

板凳

呵呵  不好意思  我是新手啊  这个上面出错太多啊 Compiling Fortran...
E:\gd\gdjs.for
E:\gd\gdjs.for(3) : Error: Syntax error, found ',' when expecting one of: ( % . = =>
 dimension0(10,100),H(10,100),Qp(10,100),Hp=(10,100),
--------------------------^
E:\gd\gdjs.for(3) : Error: Syntax error, found '=' when expecting one of: ( * :: , <END-OF-STATEMENT> ; : ) + . - % (/ [ ] /) . ** / > ...
 dimension0(10,100),H(10,100),Qp(10,100),Hp=(10,100),
--------------------------------------------------^
E:\gd\gdjs.for(3) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> ...
 dimension0(10,100),H(10,100),Qp(10,100),Hp=(10,100),
------------------------------------------------------------^
E:\gd\gdjs.for(5) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( * :: , <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> ...
 1CF(10),AR(10),A(10),L(10),N(10),D(10),Y(10),Hmax(10,100),
------------------------------------------------------------------^
E:\gd\gdjs.for(6) : Error: Syntax error, found IDENTIFIER 'DATAG' when expecting one of: ( * :: , <END-OF-STATEMENT> ; : ) + . - % (/ [ ] /) . ' ** / > ...
 Hmin(10,100) dataG=9.81
---------------------^
E:\gd\gdjs.for(9) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( : % . = =>
 general data
--------------------^
E:\gd\gdjs.for(14) : Error: Unterminated character constant
 1E=',i3/8X,'steady state oisch.',F7.3,'m3/sec'/8X.'
----------------------------------------------------------^
E:\gd\gdjs.for(14) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> ) <HOLLERITH_CONSTANT> ...
 1E=',i3/8X,'steady state oisch.',F7.3,'m3/sec'/8X.'
-----------------------------------------------------------^
E:\gd\gdjs.for(16) : Error: Invalid character_kind_parameter. No underscore
 2VEL=',F7.1,'u'/8X,'time for which transients ake to be computed 
----------------------------^
E:\gd\gdjs.for(17) : Error: Unterminated character constant
 3=',F7.1,'sec'/1
---------------------^
E:\gd\gdjs.for(17) : Error: Invalid character_kind_parameter. No underscore
 3=',F7.1,'sec'/1
------------------------^
E:\gd\gdjs.for(16) : Error: Syntax error, found IDENTIFIER 'U' when expecting one of: ( * :: , <END-OF-STATEMENT> ; : ) + . - (/ [ ] /) ** / > // .LT. ...
 2VEL=',F7.1,'u'/8X,'time for which transients ake to be computed 
---------------------^
E:\gd\gdjs.for(24) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> ) <HOLLERITH_CONSTANT> ...
 2 tau curve=',F6.3,'SEC'/8X,'stored tau values'/8X,15F8.3/1
-------------------------------------------------------------------^
E:\gd\gdjs.for(29) : Error: Unterminated character constant
40 format(/8X,'pipe no',5X,'length',5X,'dia',5X,'wavevel.'5X,'fri)
-------------------------------------^
E:\gd\gdjs.for(31) : Error: Unrecognized token ',' skipped
 write(6,50)(i,L(i),D(i),A(i),F(i),i=1,NP)
----------------------^
E:\gd\gdjs.for(35) : Error: Unterminated character constant
51 format(/8X,'pipe no',5X,'adjusted' wave vel;/25X,'(M/sec)/)
---------------------------------------------------------^
E:\gd\gdjs.for(35) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> ) <HOLLERITH_CONSTANT> ...
51 format(/8X,'pipe no',5X,'adjusted' wave vel;/25X,'(M/sec)/)
-------------------------------------------------------------------^
--------------------------------^
E:\gd\gdjs.for(43) : Error: Syntax error, found '.GE.' when expecting one of: BLOCK BLOCKDATA PROGRAM TYPE COMPLEX BYTE CHARACTER DOUBLE DOUBLECOMPLEX ...
 if(AN-ANI).GE.0.5)N(i)=N(i)+1
------------------^
E:\gd\gdjs.for(49) : Error: Unrecognized token '^' skipped
 F(i)=F(i)*L(i)/(2*G*D(i)*N(i)*AR(i)^2)
-------------------------------------------^

E:\gd\gdjs.for(82) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( % . = =>
 Q(i,NN)
---------------^
E:\gd\gdjs.for(92) : Error: Syntax error, found ',' when expecting one of: )
 if(T.GT,ilast)GO TO 240
---------------^
E:\gd\gdjs.for(95) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: :: , : )
 CN=Q(1,2)-H(1,2*CA(1)-CF(1)*Q(1,1)*ABS((Q(i,1))
-------------------------------------------------------^
E:\gd\gdjs.for(112) : Error: Syntax error, found INTEGER_CONSTANT '1' when expecting one of: ( * :: , <END-OF-STATEMENT> ; : ) + . - % (/ [ ] /) . ' ** / > ...
 CN=Q(i+1,2)-CA(i+1)*H(i+1,2)-CF(i+1)*Q(i+1,2)*ABS(Q(i+1,2) 1)
-------------------------------------------------------------------^
(114) : Severe: Too many errors, exiting
Error executing df.exe.

gdjs.obj - 30 error(s), 0 warning(s)

3 楼

dimension0(10,100),H....? 源程序是这样的?
dimension 和 数组名之间应该有空格,数组名不能数字开头



4 楼


是啊 现在正在改这些程序编码啊  我是个菜鸟啊 改起来费劲的很啊  有没有高手一看就知道错误啊!

5 楼

这得自己改啊,点那个错误可以跳到出错的行去。然后自己分析哪出错了吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册