彭民德:《電子計算60年》(5)用手搖計算機做三峽大壩下不穩定流計算
正如1956年制定的國家12年科學發展規劃和周總理預料的那樣,計算技術是我國國防和經濟建設迫切需要的重點技術。領導高層不久就提出了三峽初步研究設計計算要求。這是推動計算學科發展的時代需求和強大動力。要想建一座亙古未有的高壩,推進三峽工程研究,需要做很多設計計算。首先提出的是大壩下不穩定流計算的課題,要數量地看看建壩對於壩下河道水流的影響。
1954年長江特大洪水後,黨中央就決定進行三峽工程的勘測和科研設計工作,成立了長江流域規劃辦公室(簡稱長辦),設在武漢。1958年3月通過了《中共中央關於三峽水利樞紐和長江流域規劃的意見》。毛澤東主席特意乘船過三峽視察。周恩來總理親自抓,領一批專家到三峽研究壩址優選方案。國家主席劉少奇也到壩址現場考察。聶榮臻元帥講:“我們準備建立的長江三峽水力樞紐,是世界上最大最複雜的水利工程,將成為世界上最大的水力發電站。”(聶榮臻:“全黨抓科學技術工作,實現技術革命”《1956-1967年科學技術發展遠景規劃綱要(修正草案)通俗講話》P167,科學普及出版社,1958年,北京)。在這種形勢下,長辦受命搞研究設計,但是限於當時的技術條件,還無法進行精確的科學計算。
武漢大學當時正在探索“以任務帶學科”的教育改革,天時地利人和便與長辦走到了一起。我們是剛剛組建的計算數學專業三年級學生,是首批以計算為專業的年輕人,恰逢其時,天降大任於我們。1960年夏天,學校選派我們跟著老師參加三峽工程的研究計算,我們也滿腔熱情地盡匹夫之責。但限於條件,當時還沒有電子計算機可用,只能用手搖計算機為建三峽大壩做初步設計計算。我跟江金生、鄧述渝、陳富強、羅石麟、胡國清、陳立強、卞長根同學,組成了一支年輕的8人計算團隊。
工作本上記錄著研究的目的:“三峽大壩建成後,壩的下游的峽谷河道上,由於三峽日調節的影響,水位、流量、流速都將引起變化。離大壩越近,受日調節影響越大,因為河道有調節作用。根據長江的實際情況,枝江站以下水面就比較平緩了。從大壩到枝江都有不同程度的不穩定流問題,因此要從三峽計算到枝江。以枝江正常水位流量關係線作為邊界條件,根據聖維南偏微分方程組,用瞬態法推求壩下各斷面的沿程流態,計算出水位、流量等水力學引數隨時間的變化,繪製有大壩日調節的水面線。日調節不穩定流計算的目的在於選擇滿足多方面綜合條件的最優方案,這些條件是各個部門從各個方面的要求提出來的。”
比如,設定三峽大壩建成後發電出力1700萬千瓦,也就相當於設定了壩高,計算因建壩和以後發電和防洪調節導致壩下的不穩定流,求出各個斷面的流量、流速等水力學引數的變化情況。壩高和下瀉流量隨時間的變化等初始條件由長辦的工程師和老師協商給定。當時已經確定壩址選在三鬥坪,在它與枝江中間,還要考慮葛洲壩,又分葛洲壩建壩(一種方案是庫水位65米)與不建壩兩種情況。
像三峽這麼高的壩,其不穩定流計算沒有先河,又還沒有計算機可用,難度很大。可是任務已經從國家高層佈置下來,只有硬著頭皮幹。我們這些初生牛犢,還不懂得掂量輕重的青年學生,便被分配了最為緊迫的計算任務。長辦一位領導人講:“以前提到三峽初設工作總捏著一把汗,這次有你們這批青年人參加,我們膽子大多了。你們是完成這項任務的主力。”學校和“長辦”的領導都給我們很多鼓勵。好啊,我們就成了主力啦,還是未出茅廬的學生呢。就因為我們是計算數學專業的學生,已學過微分方程,而那組水力學方程正是雙曲型偏微分方程組。又正在學計算方法,學怎麼得到方程的數值解,無疑是一支計算的突擊力量。
領導很重視,總支書記仝懋林同志親自抓,康立山老師帶隊,教計算方法的張正言老師(1960年全國文教戰線群英會代表)也很關心我們並給予指導。本子上記錄著總支書記講:“劉主席、周總理非常關心我們這個工作。”
雖然是學計算數學的,掌握了科學的計算方法,但是學校和長辦都還沒有電子計算機,作為這個專業的學生,我們還沒有見過電子計算機呢。手頭所能用的工具只有:每人一臺手搖計算機,一把計算尺,輪流使用。計算機做加減,計算尺做乘除、開方。這些工具現在已經不稀罕,但在當時可寶貴了。有時侯也還用到算盤。
手搖計算機20世紀被引進到我國,依據國情,只能供高層少數人使用。手搖計算機外形像上個世紀50年代電影裡的手搖電話(如圖所示),但它無需連線訊號線,純粹是機械的,靠手搖轉動做動力,以齒輪傳動原理做計算。資料記載,發明人是1873年在俄國工作的瑞典籍工程師奧涅爾,曾於19世紀末20世紀初在俄國批量生產,成為在20世紀最初的二三十年間,人類主要的一種計算裝置。直至20世紀50年代末,我們還不得不在重要的三峽設計計算上運用它。手搖計算機跟後來的電子計算機除了同屬數字計算工具之外,沒有其它共同點。
手搖計算機直接用十進位制計算,只能做加(乘)法和減(除)法。它有3個區域,a數區、b數區和結果區。a區和b區各提供10個十進位制數位,用拇指和食指捏住一個小撥頭,手工地逐位設定要計算的a值。用同樣的方法在b區置上要參與計算的b數值。然後搖動手柄進行計算,順時針方向轉一圈就是a+b,反時針方向轉一圈就是a-b,在結果區都會顯示相應的結果。再用手工把結果記錄到表格中適當位置。參加計算的數的數位越長,需要驅動更多齒輪,轉動手柄就越費勁,但是數位越長,計算結果會越精確。如果加數與被加數相等,加法就變成乘法。乘法除法都用手柄轉動來完成。有一個小視窗顯示你手搖的圈數,超過了預定圈數會響鈴,可以回退以改正。跟用紙和筆做計算相比,手搖機可以不記錄計算過程和中間值,只記結果。跟算盤相比,算盤做加減都只能一個一個數位進行,就像我們在紙上列豎式必須一位一位進行那樣。而手搖計算機做a+b可以一次轉動就實現多個數位同時完成,包括可以自動進位,因此手搖計算機有明顯的優勢。不過手搖計算機的價格卻要貴得多。只要把整個計算分解為環環相扣的演算法,設計好一張大的計算表格,藉助手搖計算機,整個計算都被記錄在表格上,無須另用草稿紙,也便於回朔複查。藉助於機械式計算,比用手在草稿紙上計算,準確性也要高很多。
本質地說,算盤和手搖計算機都屬於數值計算機,跟電子數值計算機同屬一類。跟電子數值計算機不同的是,它們採用十進位制不是二進位制,動力是手動而非電子,不能夠以每秒運算多少次來衡量計算速度。它們都是我們那一代搞計算的人的親密朋友。特別是手搖計算機,就在當時也是很稀罕的,社會上根本見不著,我們是因為參加三峽初步設計,才有機會用到它們。我們用的幾臺還是兩種型號湊起來的。
在長辦郭工和康老師的指導下,根據水力學數學模型的計算方法,為了給三峽設計提供科學的數量依據,提高了數學模型精度一個檔次,比以往他們採用的簡化形式更接近於實際。計算方法也更好一些。我們設計了計算表格,把數字化求解方程的過程細化並機械化,使得所有計算都在表中進行,所有資料都能用手搖計算機和計算尺完成。表格中的每一欄都編上號,註明它的意義和來歷。於是每次計算都是有依據的,計算結果被記錄在表格的適當位置。而表格中的每個資料,包括中間結果都有明確來源。這樣就消除了主觀隨意性,表格上的每個數都是唯一的,不但可以自己檢驗,我們也組織同學相互核對。
現在回頭看那次計算,實際上處在以往沿襲了上千年的算盤計算,和近百年的計算尺計算,向用電子計算機計算轉折的節點上。所用的解微分方程的演算法是計算機上用的演算法,具體地體現在我們那一大張表格的設計上。表格就是計算機的記憶體儲器,其中的每個格子就是記憶體單元。每個格子的數字都有明確的和唯一的計算方法,體現整個演算法的實現步驟。我們的大腦是控制器,我們的手和手搖計算機是運算器。運算結果寫入表格,就是存入記憶體。我們的計算跟電子計算機一樣,不需要草稿紙。跟電子計算不同的,一是儲存不同,我們得在表格中保留每一步計算結果,新資料不會把原來的資料覆蓋掉,資料行會向下增長,表格越來越大。而計算機記憶體單元是可以覆蓋的,中間結果都會丟掉。二是動力不同,我們用手搖而非自動。也意味著我們可以停下來去睡覺,明天接著來。計算機將一氣呵成。因此我們就是一架人工計算機。我們還會盡量把計算步驟細化,把大表劃分為幾個小表,爭取多人能夠同時工作,每人計算一部分,再合成起來,既有順序性,也有並行性。因此我們還是一架有平行計算能力的計算機。進一步說,我們還是由8臺計算機組成的分散式計算網路,一個不但可以任務排程,通訊協同,還具有高階情感的智慧計算機網路。
我們的優勢是年輕熱情,精力充沛,有個團隊。正因為年輕,還不怎麼知道題目的艱鉅,不怎麼害怕。也正因為年輕,還沒有資本搞文人相輕,互不服氣,只說不做,評頭品足之類壞毛病。團隊合作得非常好。在“解放思想”的社會大環境下,在強烈的榮譽感、責任感驅動下,全力以赴投入其中。在臨時開闢的計算室裡,撥盤聲,手柄轉動聲,響鈴聲,與我們的工作熱情交織在一起,充滿了朝氣。
我們分工合作,非常融洽,有條不紊地進行。不過這種計算繁雜枯燥,每個數都不能錯,一旦錯了,它後面的數也就全錯了。人工計算總難免有錯,有時改了一個地方,又發現新的錯。一個錯誤不但影響自己,還波及他人。有時睡覺都不踏實,有的同學剛睡下又跑到計算室去檢查,一干就是通宵,往往連著幾天都在返工而沒有進展。在最困難的時候,多麼希望有能夠自動計算的電子計算機啊,編好程式,設好初始條件,很快就能夠得到結果,有錯誤也能夠追蹤定位。當時國家已經進入經濟困難時期,組裡有的同學犯上了浮腫病。又逢“火爐”武漢盛夏酷暑,在那連電風扇都還沒有的年代,我們吃夠了苦頭。但年輕人有“天將降大任於斯人也”的責任感和光榮感。大家互相鼓勵,互相幫助,苦中有樂,個個精神振奮,全力以赴去幹。還要堅持上課。
適值《毛澤東選集》第四捲髮行,我連夜到街道口新華書店排隊買來一本,在做課題期間,堅持每天集體朗讀學習一篇。毛主席對於中國革命的運籌帷幄,神奇地指揮遼瀋、平津、淮海三大戰役,調動敵我,一步步取得重大勝利,以及藐視一切帝國主義和反動派都是紙老虎的霸氣等等,都給予我們極大鼓舞,有勇氣去戰勝課題上和生活上的一切困難。
幾個月的勞動終於有了成果,我們得到了描述三峽壩下不穩定流微分方程組數值解的一摞計算表格,給三峽大壩的初期設計提供了數量依據,得到了“長辦”方面的認可,做了他們過去想做而無法做的事情,各方面都很滿意。這是一次很好的計算工程實踐,自己得到的鍛鍊也受用終生。
在我們完成了《長江三峽大壩下不穩定流計算》課題後,學校從多方面給予肯定。學校在探索“以任務帶學科”進行教學改革方面無疑這是一個亮點,我們專業班級被評為學校的先進集體。在學校召開的隆重表彰會上,作為這個集體的代表,我作了彙報發言。我相信隨著祖國建設的發展,電子數值計算的星星之火將會發展成燎原之勢,我國電子計算事業也一定會發展起來,表達了專業學子對於電子計算機的渴求。中共一大代表、德高望重的李達校長坐在主席臺上聽了我們的彙報,還親自頒發了獎狀。我感到很光榮,當握住老校長溫柔的手的時候,感到非常親切和激動,感到自己離黨更近,責任更重了。
時間過去了半個世紀,三峽工程已經建成。後來的設計有最先進的電子計算機和最好的計算方法,我們早期的工作已不值一提。在看到大壩建成之時,特別是其後據報導在發電和整個長江流域防洪中已經起到了關鍵作用,我有感於工程的艱辛和長期性,為它凝聚了一代又一代領導人、科學家、建設者們的智慧和汗水而驚歎,為它傲立於世界而自豪。但亦正是有這麼一次早期參與,對於工程今後給環保、生態等將可能帶來的負面影響,也更加多一份擔心。非常擁護國家高層最近關於長江流域保護的策略。祈禱三峽大壩工程好運,永遠護佑、造福華夏兒女。
50多年前,我們用手搖計算機對描述不穩定流的偏微分方程組求了數值解,對於這個課題有了進步。但全部用人力,用手工方法,雖然精神可嘉,依然費時費力。我相信聰明的中國人不會停留在這個水平上。電子計算機的湧向已經指日可待,而且前景一定是非常廣闊的。
(與本文相關的更多內容,可參看 彭民德《電子計算60年》第1章 電子計算新開紀元 電子工業出版社)
相關文章
- 電子計算60年 (彭民德著)
- 彭民德:《電子計算60年》 (37)跨入雲端計算時代
- 彭民德(42) 電子計算大眾化,人人都有計算祕書如影隨形
- 彭民德:《電子計算60年》 (31)計算機網路與第四代計算機計算機網路
- 彭民德:《電子計算60年》(34) 863城市供水排程計算
- 彭民德:《電子計算60年》 (33)網路計算極大地提升了計算能力
- 彭民德:《電子計算60年》(6)我國首臺電子數字計算機104機計算機
- 彭民德:《電子計算60年》(4) 從學習蘇聯電子管計算機開始計算機
- 彭民德:《電子計算60年》(15) 作業系統造就計算機活的靈魂作業系統計算機
- 彭民德:《電子計算60年》 (27) 多種媒體形式擴充套件電子計算內涵套件
- 彭民德:《電子計算60年》(9)空空導彈彈道和脫靶量計算
- 彭民德:《電子計算60年》 (3)學習計算數學跟未來結緣
- 彭民德:《電子計算60年》 (13) 程式語言曾被人無端稱作計算機語言計算機
- 彭民德:《電子計算60年》 (16) UNIX強勢走來
- 彭民德(43)智慧計算成果斐然
- 彭民德:《電子計算60年》 (25)可愛又可恨的BASICA
- 彭民德:《電子計算60年》 (14) 以IBM 360為代表的多使用者計算機系統IBM計算機
- 彭民德:《電子計算60年》 (26) Windows 主導圖形化PCWindows
- 彭民德:《電子計算60年》(12)ALGOL 60與程式自動化Go
- 彭民德:《電子計算60年》(8)DJS 21機的資料、指令和程式JS
- 彭民德:《電子計算60年》(32) 網路數字資訊的特點
- 彭民德:《電子計算60年》(7)DJS 21機的結構和用機環境JS
- 彭民德:《電子計算60年》(29)電腦漢化、文件編輯與鐳射照排
- 彭民德:《電子計算60年》 (22) IBM PC如潮水般湧來IBM
- 彭民德:《電子計算60年》(21) 全國第一屆C語言交流會C語言
- 彭民德:《電子計算60年》(18)UNIX原始碼的一些運用原始碼
- 彭民德:《電子計算60年》 (2)數學的嚴密推理和美的薰陶
- 彭民德:《電子計算60年》(28 )輸入裝置的發展與運用
- 彭民德:《電子計算60年》 (19) UNIX核心反彙編程式碼有啃頭
- 彭民德:《電子計算60年》(35)網際網路時代的製造型企業
- 彭民德:《電子計算60年》 (20) UNIX一本經典著作的生命力
- 彭民德:《電子計算60年》(17)分析UNIX原始碼揭去作業系統神祕感原始碼作業系統
- 彭民德:《電子計算60年》 (23)駕馭PC,應用開發百花齊放
- 彭民德:《電子計算60年》 (36) 從面向硬體的控制檯操作到瀏覽器人機介面瀏覽器
- 交大計算機課程(5):計算機網路計算機網路
- 彭民德:《電子計算60年》(10)對付U-2偵察機的15號及317任務
- 電機扭矩計算
- iOS通過加速計計算搖一搖次數iOS