跨領域物理視算:力學與電磁系統之視覺化、模擬與平行運算 | 被動收入的投資秘訣 - 2024年9月
![](https://www.books.com.tw/img/001/054/17/0010541784.jpg)
跨領域物理視算:力學與電磁系統之視覺化、模擬與平行運算
-教育部專案計畫補助跨領域教材 -唯一使用Visual Fortran之計算物理教材 -全書十章共25個f90程式及25個應用程式 -所有應用程式均可立即於Windows下執行 -隨書附贈程式光碟 -支援網站spy.pccu.edu.tw/comphy
本書的特點有三
一、使用Visual Fortran程式語言 在計算物理課程使用Fortran者甚多,但使用Visual Fortran則極少,它可以兼顧使用者對於高效能運算與即時繪圖之需求。
二、Visual Fortran之二維、三維繪圖、動畫、影像及音效之處理 繪圖、動畫、影像及音效是學生極感興趣的主題,本教材可協助學生自行創作圖形、動畫及音效,提升學習興趣及效果。
三、PVM與MPI平行運算系統之詳盡介紹 PVM與MPI平行運算系統大部分使用Unix或Linux系統,本教材介紹Windows版本,讓使用者很容易即可利用電腦實驗室汰換的電腦,自行架設及使用平行運算系統。
作者簡介
黃信健
美國洛杉磯加州大學物理系博士,任教於中國文化大學物理系。
前言
第一部 程式語言與編譯器
第一章 Compaq Visual Fortran簡介
1.1 Fortran77、Fortran90與Compaq Visual Fortran
1.2 Compaq Visual Fortran的視窗介面
1.3 檔案的開啟與讀寫(open, read and write)
1.4 使用常用副程式及程式庫(subroutine and library)
第二章 使用Compaq Visual Fortran 繪圖
2.1 Visual Fortran的科學繪圖模組scigraph
2.2 使用Compaq Visual Fortran直接繪圖
2.3 以Visual Fortran繪出3D互動立體圖
第三章 進階繪圖: 影像處理(Image Processing)
與旅行銷售員問題(Travelling Salesman Problem)
3.1 簡介
3.2 Visual Fortran影像處理系統
3.3 image03.f90
3.4 旅行銷售員問題
3.5 tsp03.f90
第二部 計算物理:電磁學、力學、非線性與最佳化問題
第四章 靜電位的解析解與數值解
4.1 簡介
4.2 Laplace's Equation的解析解與數值解
4.3 三個範例之解析解與數值解
4.4 3Dplot24.f90
第五章 力學與電路系統中的線性與非線性振盪
5.1 簡介
5.2 解運動方程式
5.3 X-t, V-t圖與X-V相空間
5.4 佛科擺與卡皮查擺
5.5 Oscillator57.f90
第六章 Lorenz system的模擬、電路實驗與多媒體呈現
6.1 簡介
6.2 Lorenz system的2D與3D圖
6.3 混沌音樂(Chaos Music)
6.4 Chua Circuit
6.5 Lorenz06.f90
6.6 beep06.f90
6.7 bell06.f90
第七章 多體系之間的競爭問題
7.1 簡介
7.2 Volterra-Lotka 競爭方程組
7.3 中歐狐狸狂犬病的流行病模型
7.4 Rapoport的軍火競賽模型
7.5 化學振盪反應
第三部 PVM與MPI平行運算系統
第八章 PVM平行運算系統之架設與測試
8.1 簡介
8.2 軟硬體需求
8.3 系統架設
8.4 平行運算原理與架構
8.5 測試實例
8.6 psdot08.f
8.7 circle08.f
8.8 laplacePVM08.f
第九章 MPI平行運算系統I:系統架設與測試
9.1 簡介
9.2 MPI系統之架設與測試
9.3 hello09.f90
9.4 pi09.f
9.5 LaplaceMPI09.f
第十章 MPI平行運算系統II:波動與熱傳
10.1 簡介
10.2 波方程式
10.3 wave10.f90
10.4 熱傳導方程式
10.5 heat101.f90
10.6 heat102.f90
10.7 以MPI解波方程式
10.8 waveMPI10.f90
10.9 以MPI解熱傳導方程式
10.10 heatMPI10.f90
參考文獻
本書是中國文化大學執行教育部99-100年大學跨學門科學人才培育銜接計畫的成果,在因緣際會之下,我擔任本校總計畫主持人、有幸與物理系程思誠教授、吳慧敏教授、電機系李克怡主任、化材系陳景祥院長、吳誌明教授及紡織工程學系王權泉教授合作,共同推動五個分項計畫,包括99A1物理–計算、材料、天文與光電專題研究人才培育計劃、99-B 1-1奈米碳管應用於生物感測器、99-B 1-2重組蛋白質表現、純化與應用、100-B1-1奈米碳管應用於提升奈米複合材料機械性質及100-B1-2奈米碳管應用於抗電磁波纖維膜之製作。兩年期間,不僅各計畫推動順利、成果豐碩,也大幅提升我們跨系及跨院的合作,其中尤以99A1物理–計算、材料、天文與光電專題研究人才培育計劃更促成了本書的誕生。
99A1是文化大學物理系近年來推動專題導向之師徒制小組學習的成果體現,我們透過書報討論及專題研究課程引導學生逐步由專題演講、文獻研讀、小組研討、繼而分組實驗演習、進度追蹤分享、期中期末報告、最後舉行壁報論文比賽發表成果。這套作法實施幾年來,收效甚宏,也頗獲肯定,因而在2010年獲得教育部計劃補助,並完成六份教材,包括我的專題討論計算物理A組教材、鄒忠毅教授的專題討論計算物理B組教材、王建亞教授的專題討論應用光學組-全像光學元件、3D圖與變圖、江丕智教授的專題討論天文物理組-橢圓運動中的二體問題、吳慧敏教授的專題討論奈米材料組教材及蔣幼齡教授的專題討論物理數學組教材。本書即脫胎自專題討論計算物理A組教材。
以內容而言,本書包含我過去十四年以來,教授數值分析、計算物理、非線性物理及平行運算與影像處理等課程的教材與講義,其中數值分析主要採用Ward Cheney and David Kincaid的Numerical Mathematics and Computing, 4th- 6th Edition,計算物理主要採用Rubin H. Landau & Manuel J. Paez的Computational Physics, problem solving with computers,非線性物理主要採用Richard H. Enns and George C. McGuire的Nonlinear Physics with Maple for Scientists and Engineers, 2nd Ed.、平行運算與影像處理主要採用Al Geist及Adam Beguelin等的PVM: Parallel Virtual Machine–A Users' Guide and Tutorial for Networked Parallel Computing及Ioannis Pitas的Digital Image Processing Algorithms and Applications。此外,在專題討論(一)、(二)、 (三)中,計算物理組成員葉曉祥、周惠萱、張茗婷及葉晉瑜的專題,包括靜電位的數值解與解析解、力學與電路系統中的線性與非線性振盪、PVM平行運算系統之架設與測試,Sequential and parallel solutions with PVM and MPI of the Electrostatic Laplace Equation、Lorentz system的模擬、實驗與多媒體呈現及Polynomial Basins of Attraction等,也構成本書的骨幹。
本書分為三部分共計十章,希望以由淺入深、由基本到應用、由基礎到跨領域的方式,逐步介紹計算物理;第一部”程式語言與編譯器”,包括第一章 ”Compaq Visual Fortran簡介”、第二章 ”使用Compaq Visual Fortran 繪圖”,及第三章 ”進階繪圖: 影像處理(Image Processing) 與旅行銷售員問題(Travelling Salesman Problem) ”;第二部 ”計算物理:電磁學、力學、非線性與最佳化問題”,包括第四章 ”靜電位的數值解與解析解”,第五章 ”力學與電路系統中的線性與非線性振盪”,第六章 ”Lorenz system的模擬、電路實驗與多媒體呈現”,及第七章 ”多體系之間的競爭問題”;第三部 ”PVM與MPI平行運算系統”,包括第八章 ”PVM平行運算系統之架設與測試”,第九章”MPI平行運算系統I:TSP and Laplace Equation”,及第十章 ”MPI平行運算系統II:波與熱之1D與2D動畫”。
除紙本之外,本書另附程式光碟,包含各章所用f90程式及編譯完成之執行檔。f90程式均依其目的及其出現章節命名:
integration01:梯形法、辛普森法及高斯法等之數值積分;
bug01:Logistic Map產生程式;
convert01:二進位、八進位及十六進位之轉換;
rk4sys01:用四階Runge Kutta法解聯立微分方程式;
boa02:吸引域產生程式,包含以IMSL解多項式的根;
mandel02:Mandelbrot Map產生程式;
scarpet02:Sierpinski carpet產生程式;
3Dplot24:3D動態繪圖程式,用於第二及第四章;
image03:包含十四種功能之影像處理程式;
tsp03:以模擬退火法解旅行銷售員問題及繪圖;
oscillator57:根據rk4sys01修改,可解振盪及競爭問題,用於第五及第七章;
lorenz06:根據rk4sys01修改,可解lorenz系統及作3D繪圖;
beep06:混沌音效產生程式;
bell06:混沌音效wav波形檔產生程式;
psdot08:PVM內積計算範例程式;
circle08:PVM circle map產生程式;
laplacePVM08:以PVM解Laplace equation;
hello09:MPI測試範例程式;
pi09:MPI 圓周率計算範例程式;
laplaceMPI09:以MPI 解Laplace equation;
wave10:解波動方程式,以動畫呈現;
heat101:解熱傳導方程式,以動畫呈現;
heat102:解熱傳導方程式,以3DPlot呈現;
heatMPI10:以MPI解熱傳導方程式;
waveMPI10:以MPI解波動方程式。
這些程式經Visual Fortran編譯之後,將產生應用程式,可在其他Windows系統下獨立執行,因此我們也在光碟內附上這些應用程式,以供未安裝Visual Fortran編譯器的讀者使用。
除光碟之外,我們也在網站spy.pccu.edu.tw/comphy上提供課程簡介、講義、作業及範例程式供使用者下載。
最後,謹向本書編輯委員會成員淡江大學化學系王伯昌院長、台灣大學物理學系傅昭銘教授、文化大學物理學系吳慧敏教授、王建亞教授、蔣幼齡教授及鄒忠毅教授的指正與協助深致謝意,並感謝教育部顧問室及中央大學跨學門科學人才培育銜接計畫辦公室的指導與協助。