24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 902  |  回复: 6

gelitao1234

金虫 (正式写手)

[求助] 程序运行的结果很奇怪,不知道原因是什么

程序如下,程序运行结果是TTT的值是NaN,数组TEMP的结果也是这样的,原因是什么?
C
C....<< CACULATION  OF  TEMPERATURE>>
      
       SUBROUTINE TEMPER
       PARAMETER(MX=181,MY=151,MZ=161)
       IMPLICIT DOUBLE PRECISION(A-H,O-Z)
       COMMON /PARA3/ NX,NY,NZ
       COMMON /PARA4/ DT,TIME
       COMMON /TEMP/ TEMP(0:MX+2,0:MY+2,0:MZ+2)
     &,               TEMPH(0:MZ+2)
     &,               SGST(0:MX+2,0:MY+2,0:MZ+2)
      COMMON /FLOWS/ UU(0:MX+2,0:MY+2,0:MZ+2)
     &,              VV(0:MX+2,0:MY+2,0:MZ+2)
     &,              WW(0:MX+2,0:MY+2,0:MZ+2)
      COMMON /DELT1/ DXU(0:MX+1),DYU(0:MY+1),DZU(0:MZ+1)
      COMMON /DELT2/ DXV(0:MX+1),DYV(0:MY+1),DZV(0:MZ+1)
      COMMON /DELT3/ DXW(0:MX+1),DYW(0:MY+1),DZW(0:MZ+1)
      
      COMMON /DELT3/ DXT(0:MX+1),DYT(0:MY+1),DZT(0:MZ+1)
      
      COMMON /DELT3/ DXP(0:MX+1),DYP(0:MY+1),DZP(0:MZ+1)
C....<INITIAL CONDITION >
      DO K=0,NZ+2
      DO J=0,NY+2
      DO I=0,NX+2

      TEMP(I,J,K)=1.2D0
      END DO
      END DO
      END DO

      DO J=0,NY+2
      DO I=0,NX+2

      TEMP(I,J,2)=6.D0
      TEMP(I,J,1)=6.D0

      END DO
      END DO
C....<< TEMPERATURE B.C.>>
      DO K=1,NZ+1
      DO J=1,NY+1
      TEMP(1,J,K)=TEMP(2,J,K)
      TEMP(NX+1,J,K)=TEMP(NX,J,K)
      END DO
      END DO
      DO J=1,NY+1
      DO I=1,NX+1
      TEMP(I,J,1)=TEMP(I,J,2)
      TEMP(I,J,NZ+1)=TEMP(I,J,NZ)
      END DO
      END DO
      DO K=1,NZ+1
      DO I=1,NX+1
      TEMP(I,1,K)=TEMP(I,2,K)
      TEMP(I,NY+1,K)=TEMP(I,NY,K)
      END DO
      END DO
C

C....<TEMPERATURE CACULATION >
      DO K=2,NZ
      DO J=2,NY
      DO I=2,NX
C....<<SPACING LENGTH>>
      H1=DXP(I-1)
      H2=DXP(I)
      H3=DYP(J-1)
      H4=DYP(J)
      H5=DZP(K-1)
      H6=DZP(K)
      DX=DXU(I-1)
      DY=DYV(J-1)
      DZ=DZW(K-1)

C....<<CACULATION>>
      YIX=DT*UU(I,J,K)*(TEMP(I+1,J,K)-TEMP(I-1,J,K))
      YIY=DT*VV(I,J,K)*(TEMP(I,J+1,K)-TEMP(I,J-1,K))
      YIZ=DT*WW(I,J,K)*(TEMP(I,J,K+1)-TEMP(I,J,K-1))
      ERX=TEMP(I+1,J,K)/(DX*H2)-TEMP(I,J,K)*(1.D0/(DX*H1)+1.D0/(DX*H2))
      ERY=TEMP(I,J+1,K)/(DY*H4)-TEMP(I,J,K)*(1.D0/(DY*H3)+1.D0/(DY*H4))
      ERY=TEMP(I,J,K+1)/(DZ*H6)-TEMP(I,J,K)*(1.D0/(DZ*H5)+1.D0/(DZ*H6))
      TEMP(I,J,K)=TEMP(I,J,K)+YIX/(DXT(I)+DXT(I+1))
     & +YIY/(DYT(J)+DYT(J+1))
     & +YIZ/(DZT(K)+DZT(K+1))  
     & -DT*SGST(I,J,K)*(ERX+TEMP(I-1,J,K)/(DX*H1))
     & -DT*SGST(I,J,K)*(ERY+TEMP(I,J-1,K)/(DY*H3))
     & -DT*SGST(I,J,K)*(RYZ+TEMP(I,J,K-1)/(DZ*H5))
      END DO
      END DO
      END DO
C....<<HORIZENTAL AVERAGING >>
       DO K=0,NZ+1
       TEMPH(K)= 0
      END DO

       DO K=1,NZ+1
       TEMPH(K-1)= TEMPH(K)/DFLOAT(NX+1)*(NY+1)
      DO J=1,NY+1
      DO I=1,NX+1
       TEMPH(K)=TEMPH(K)+TEMP(I,J,K)
      END DO
      END DO
      END DO
C....<<AVERAGING & SUBTRACTION>>
      TTT=0.D0
      DPLAY=0.D0
      DO K=1,NZ+1
      DO J=1,NY+1
      DO I=1,NX+1
      TTT=TTT+TEMP(I,J,K)
      END DO
      END DO
      END DO
      
      DO K=1,NZ+1
      DO J=1,NY+1
      DO I=1,NX+1
      TEMP(I,J,K)=TEMP(I,J,K)-TTT/DFLOAT((NX+1)*(NY+1)*(NZ+1))
      END DO
      END DO
      END DO
      DPLAY=TTT/DFLOAT((NX+1)*(NY+1)*(NZ+1))      
      WRITE(*,601)DPLAY
  601 FORMAT(' TTT',F8.1)
      RETURN  
      END
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

感谢参与,应助指数 +1
ERY=TEMP(I,J,K+1)/(DZ*H6)-TEMP(I,J,K)*(1.D0/(DZ*H5)+1.D0/(DZ*H6))
      TEMP(I,J,K)=TEMP(I,J,K)+YIX/(DXT(I)+DXT(I+1))
     & +YIY/(DYT(J)+DYT(J+1))
     & +YIZ/(DZT(K)+DZT(K+1))  
     & -DT*SGST(I,J,K)*(ERX+TEMP(I-1,J,K)/(DX*H1))
     & -DT*SGST(I,J,K)*(ERY+TEMP(I,J-1,K)/(DY*H3))
     & -DT*SGST(I,J,K)*(RYZ+TEMP(I,J,K-1)/(DZ*H5))
这两段里,首先ERY可能是ERZ(重复了)?其次,RYZ是ERZ?
你的RYZ完全没有赋值啊。
2楼2013-06-16 20:18:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gelitao1234

金虫 (正式写手)

引用回帖:
2楼: Originally posted by pippi6 at 2013-06-16 20:18:20
ERY=TEMP(I,J,K+1)/(DZ*H6)-TEMP(I,J,K)*(1.D0/(DZ*H5)+1.D0/(DZ*H6))
      TEMP(I,J,K)=TEMP(I,J,K)+YIX/(DXT(I)+DXT(I+1))
     & +YIY/(DYT(J)+DYT(J+1))
     & +YIZ/(DZT(K)+DZT(K+1))  
     &a ...

万分感谢。我尝试一下看看。
3楼2013-06-16 23:56:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
gelitao1234: 金币+20 2013-06-17 10:31:06
引用回帖:
3楼: Originally posted by gelitao1234 at 2013-06-16 23:56:43
万分感谢。我尝试一下看看。...

以后最好在subroutine开始时使用
implicit none
可以帮助你查出许多没有定义、没有赋值、写错变量这样的初级错误
4楼2013-06-17 05:54:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gelitao1234

金虫 (正式写手)

非常感谢你,你的建议对我帮助很大
5楼2013-06-17 10:30:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gelitao1234

金虫 (正式写手)

引用回帖:
4楼: Originally posted by pippi6 at 2013-06-17 05:54:43
以后最好在subroutine开始时使用
implicit none
可以帮助你查出许多没有定义、没有赋值、写错变量这样的初级错误...

非常感谢你,你的建议对我帮助很大
6楼2013-06-17 10:31:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gelitao1234

金虫 (正式写手)

引用回帖:
4楼: Originally posted by pippi6 at 2013-06-17 05:54:43
以后最好在subroutine开始时使用
implicit none
可以帮助你查出许多没有定义、没有赋值、写错变量这样的初级错误...

非常感谢你,你的建议对我帮助很大
7楼2013-06-17 10:31:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gelitao1234 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿安徽大学计算机科学与技术学硕,331分求调剂 +5 蒋昌鹏qtj 2026-04-01 5/250 2026-04-02 08:10 by fxue1114
[考研] 重庆大学材料与化工085600,初试370+,求求调剂建议 +4 shzhou_ 2026-04-01 5/250 2026-04-02 07:47 by 尚水阁主
[考研] 一志愿北交大材料工程,总分358 +4 cs0106 2026-04-01 4/200 2026-04-02 07:42 by 尚水阁主
[考研] 279求调剂 +7 莫xiao 2026-04-01 7/350 2026-04-01 22:05 by 客尔美德
[考研] 286求调剂 +16 PolarBear11 2026-03-26 16/800 2026-04-01 21:31 by 七度不信任
[考研] 286求调剂 +5 lim0922 2026-03-26 5/250 2026-04-01 19:08 by 客尔美德
[考研] 086502化学工程342求调剂 +7 阿姨复古不过 2026-03-27 7/350 2026-04-01 16:14 by yanflower7133
[考研] 0703求调剂 +4 zizimo 2026-03-31 4/200 2026-04-01 16:04 by yanflower7133
[考研] 英一数二生物信息学287分,本科生物科学,求调剂 +3 碧水xyz 2026-03-29 4/200 2026-04-01 15:35 by plum
[考研] 330分求调剂 +11 qzenlc 2026-03-29 11/550 2026-04-01 14:32 by chenqifeng666
[考研] 291求调剂 +3 迷蒙木木 2026-04-01 4/200 2026-04-01 11:07 by 逆水乘风
[考研] 318求调剂 +8 七忆77 2026-04-01 8/400 2026-04-01 10:37 by Jaylen.
[考研] 289求调剂 +7 BrightLL 2026-03-29 7/350 2026-03-31 22:05 by 544594351
[考研] 复试调剂 +7 双马尾痞老板2 2026-03-31 7/350 2026-03-31 19:49 by Dyhoer
[考研] 一志愿a区211,085601-307分求调剂 +10 党嘉豪 2026-03-31 23/1150 2026-03-31 18:44 by JourneyLucky
[考研] 一志愿浙江大学工科动力工程370,数一121,专业课135,现在能去哪里 +3 080700调剂 2026-03-30 4/200 2026-03-31 12:00 by KLMY666
[考研] 292求调剂 +13 是妍子也是研子 2026-03-30 13/650 2026-03-30 18:01 by 小徐0109
[考研] 317分 一志愿南理工材料工程 本科湖工大 求调剂 +12 芋泥小铃铛 2026-03-28 12/600 2026-03-30 17:06 by wangjy2002
[考研] 求调剂,一志愿 南京航空航天大学大学 ,080500材料科学与工程学硕 +6 @taotao 2026-03-26 7/350 2026-03-30 10:43 by 我是小康
[考研] 291求调剂 +5 Y-cap 2026-03-29 6/300 2026-03-29 13:18 by mumin1990
信息提示
请填处理意见