| 查看: 1920 | 回復: 10 | ||
xiaobear20金蟲 (小有名氣)
(⊙o⊙)…
|
[求助]
FORTRAN新手 求助主程序循環(huán)問題
|
|
我現(xiàn)貼出主程序部分: PROGRAM MAIN USE SAME IMPLICIT NONE N=120 M=241 ITMAX=60 ITER=0 CALL INPUT CALL GRID DO I=1,M !!!!!!初始條件!!!!!!!!!! DO J=2,N-1 W(I,J)=1-EXP(-ETA(J)) ENDDO ENDDO 60 ITER=ITER+1 SELECT CASE(ITER-ITMAX) CASE(:-1) ! <= -1 整數(shù) GO TO 70 CASE(0) ! =0 WRITE(6,2500) GO TO 70 CASE(1 ! >=1WRITE(6,2600) GO TO 90 END SELECT 70 DO I=1,M DO J=2,N-1 WOLD(I,J)=W(I,J) ENDDO ENDDO CALL EDDY CALL CMOM CALL SOLV DO I=2,M DO J=2,N-1 CONVER(I,J)=ABS(1-(WOLD(I,J)/W(I,J))) ENDDO ENDDO MX=MAXVAL(CONVER) !選取誤差中的最大值 IF(MX.LE.EPS)THEN ! <=0.0001 !收斂判斷 EPS=0.0001 誤差 CONVER GO TO 90 ELSE GOTO 60 ENDIF 90 CALL OUTPUT END PROGRAM 程序主要過程如下是,(計算的是一個二維網(wǎng)格點上的速度,即二維數(shù)組),先給迭代的矩陣賦初值,繼而進行第一次迭代,每次迭代完后,把此次結(jié)果與上一次的結(jié)果進行比較,逐點比較,選出最大誤差,再與收斂條件ESP比較,如滿足條件則輸出結(jié)果,如不滿足,再返回迭代,直到滿足收斂條件為止,(其中也對迭代的次數(shù)進行了判斷) 我的問題如下:不知道怎么回事,程序只進行了一次計算就輸出了結(jié)果,沒有進行第二次,還有誤差判斷CONVER(I,J)總是為0,我把子程序的結(jié)果也輸出看了一下,各個子程序還是運行了一次。我就不知道問題在哪了。是結(jié)構(gòu)問題還是別的,求大神指道,分少別嫌棄啊,急等啊 子程序 CALL EDDY CALL CMOM CALL SOLV 在子程序EDDY中都用到了初始值,CMOM是矩陣系數(shù)的計算,SOLV是最后的結(jié)果計算,謝謝 |

至尊木蟲 (職業(yè)作家)
|
這個程序沒有辦法改,比如你的 W(I,J) 的值有更新嗎?在你的程序中,你的 WOLD 與 W 一直都是一樣的,那么 CONVER 當然總是 0 了。因此,只迭代一次是很正常的。如果在 WOLD 之后,還有 W 更新,那么情況可能會不一樣。但這個沒有辦法看出來,因為你的所有 subroutine 的返回值是啥都看不出來…… 另外,你似乎喜歡用全局變量作為 subroutine 的參數(shù)和返回值,很多時候,這個習慣并不好,呵呵…… |
金蟲 (小有名氣)
(⊙o⊙)…

至尊木蟲 (職業(yè)作家)
金蟲 (小有名氣)
(⊙o⊙)…

至尊木蟲 (職業(yè)作家)
至尊木蟲 (職業(yè)作家)
至尊木蟲 (職業(yè)作家)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 284求調(diào)劑 +10 | Zhao anqi 2026-03-22 | 10/500 |
|
|---|---|---|---|---|
|
[考研] 求材料,環(huán)境專業(yè)調(diào)劑 +3 | 18567500178 2026-03-18 | 3/150 |
|
|
[考研] 306求0703調(diào)劑一志愿華中師范 +7 | 紙魚ly 2026-03-21 | 8/400 |
|
|
[考研] 考研化學308分求調(diào)劑 +7 | 你好明天你好 2026-03-23 | 8/400 |
|
|
[論文投稿] 急發(fā)核心期刊論文 +3 | 賢達問津 2026-03-23 | 5/250 |
|
|
[考研] 291 求調(diào)劑 +4 | 化工2026屆畢業(yè)?/a> 2026-03-21 | 5/250 |
|
|
[考研] 工科材料085601 279求調(diào)劑 +8 | 困于星晨 2026-03-17 | 10/500 |
|
|
[考研] 263求調(diào)劑 +6 | yqdszhdap- 2026-03-22 | 9/450 |
|
|
[考研] 北科281學碩材料求調(diào)劑 +8 | tcxiaoxx 2026-03-20 | 9/450 |
|
|
[考博] 招收博士1-2人 +3 | QGZDSYS 2026-03-18 | 4/200 |
|
|
[考研] 材料學碩301分求調(diào)劑 +7 | Liyouyumairs 2026-03-21 | 7/350 |
|
|
[考研] 材料求調(diào)劑 +5 | @taotao 2026-03-21 | 5/250 |
|
|
[考研] 0805 316求調(diào)劑 +3 | 大雪深藏 2026-03-18 | 3/150 |
|
|
[考研] 材料學碩333求調(diào)劑 +3 | 北道巷 2026-03-18 | 3/150 |
|
|
[考研] 083200學碩321分一志愿暨南大學求調(diào)劑 +3 | innocenceF 2026-03-17 | 3/150 |
|
|
[考研] 一志愿南昌大學,327分,材料與化工085600 +9 | Ncdx123456 2026-03-19 | 9/450 |
|
|
[考研] 308求調(diào)劑 +3 | 阿姐阿姐家啊 2026-03-18 | 3/150 |
|
|
[考研] 求調(diào)劑一志愿南京航空航天大學289分 +3 | @taotao 2026-03-19 | 3/150 |
|
|
[考研]
|
簡木ChuFront 2026-03-19 | 8/400 |
|
|
[考研] 0703化學調(diào)劑 +4 | 18889395102 2026-03-18 | 4/200 |
|