用自由的工具學習計算物理

鄒忠毅a

a中國文化大學物理系,台北市陽明山11192

 

一,計算物理教學的一些問題

 

隨著電腦技術的快速發展,利用高速運算技術協助物理研究,已經成為物理眾多領域中一個重要的項目了。因為如此,國內各大學的物理相關科系,也多設有計算物理的相關課程。在課程中,老師除了教導學生基本的計算物理理論,也必須訓練同學熟悉一些計算物理實務上所需要的一些工具。一般來說,這些工具包含程式語言軟體、科學視算(Scientific Visualization)軟體及一些後處裡軟體。

 

但是,有一個難題存在我們現有的教學環境中,就是以上軟體大都是不自由的。它們或許價格昂貴,結果是學校必須花費大量經費購置,學生們也幾乎無法合法地取得及回家練習。或許操作或軟體間銜接困難,結果造成學生們的學習上的困難,使他們不易培養整體的觀念與架構。或許只能在某種作業環境(例如Windows)下使用,結果當學生未來使用其他作業平台時,又要重新學習。

 

二,自由的工具

 

就是因為這些原因,我們想要尋找一些合法、免費、簡單操作及跨平台使用的計算物理學習工具。希望當我們在教導學生時,能理直氣壯地叫學生在他家中的電腦也合法地安裝一套,與課堂上相容的軟體。也希望我們在課堂中,不必花太多的時間在這些軟體的操作與銜接上,而使我們可以較專心在計算物理理論的教學上。最後,希望我們的學生,在未來做更深入的研究時,這套工具仍能在不同的作業平台上使用。

 

在經過我們實地測試之後,我們選擇了三種軟體的組合。第一是名為 G95 Fortran 90/95程式語言軟體,第二是名為 DISLIN 的繪圖函式庫,第三是有名的 gnuplot 繪圖軟體。

 

這三個軟體都符合我們以上的要求。透過這個組合,學生可以合法與免費地在課堂上與家裡練習 Fortran 程式語言,並且即時地畫出運算結果,或者是簡單地製作出計算結果的展示圖。這些軟體雖然都可以免費取得,但是它們的自由度還是有些差別。其中G95gnuplot 較符合一般自由軟體的定義,DISLIN 卻是要收錢的軟體。可是有趣的是,它的發展者決定,對非商業用途的使用不收費。我們覺得,如果其他公司都這樣做的話,那有多好呀!

 

這三個軟體還有兩個好處,一是使用簡便,同學較快掌握到學習關鍵。二是都可以跨平台使用,不管是 Windows linux 系統經測試皆可運作。

 

接下來要解釋一下,為什麼我們還要用 Fortran 程式語言?主要原因有三點,首先Fortran 是一種特別適合科學計算使用的程式語言。它從發展初期開始,就特別考慮到科學計算所需的一些功能,尤其是到 Fortran 90/95 出現後,它更具有強大的複數及矩陣運算能力。而且,雖然它也許不像 C++ 語言能較方便地寫出系統程式,可是卻也促使學習者把焦點關注在科學問題本身上。第二個原因是,Fortran 是一個歷史悠久的程式語言。它具有廣泛及完整的程式庫。這可使我們節省大量的重新寫作時間。最後,Fortran 是一個一直在演進的程式語言。每一代新的程式標準出現後, Fortran 就更符合當時科學計算所需的功能。例如,Fortran 90/95 中就加入了更簡易的記憶體控制,與方便的矩陣運算及新的物件導向概念。使得它不但有好的計算效率,也使它較易運用在平行運算電腦上。

 

相關連結:

1, gnuplot 簡介及安裝說明

2,gnuplot範例

3,Dislin基本繪圖