本書閱讀對像是計算流體力學(CFD)的初學者。如果你以前從未學習過計算流體力學,也沒有從事這方面的工作,抑或你對它們完全沒有概念,那麼,這本書就是為你寫的。本書假定讀者對CFD沒有任何了解。
作者寫本書的目的是為CFD的初學者提供一種簡單、實用而且有趣的方法。當前,CFD在業界仍然被認為是一門深奧的學科。然而在大學裡,它被普遍認為是研究生階段的課程,當前大部分的教材和課程也都是針對研究生的。本書可以看成是這些課程的預習,希望能夠為讀者解決那些困惑。本書是特別的,因為它的目的是為了解決你在閱讀其他CFD書籍和參考文獻,或者學習其他CFD課程之前存在的困惑而編寫的。本書的宗旨是簡單和有趣,它能讓你在學習其他復雜內容之前做好充分準備——通過讓你全方位了解CFD的基本原理和思路。本書假定讀者擁有理工科院校高年級學生的數理基礎。事實上,本書的主要對像就是大學本科的高年級學生以及低年級的研究生。
對於本科生的CFD教材,目前還沒有固定的模板。如果你問10個不同的人它應該是什麼樣的,你會得到10個不同的答案。本書是作者的答案,因此可能會不完備,但是包含了作者多年的教學經驗和思想。當然,為了達到上文提出的目標,作者在選擇內容時做了一些“艱難的抉擇”。本書沒有選擇當前CFD的前沿方法,因為那些會讓初學者難以接受。作者在多年的教學中,多次看到初學者因為教材的無趣和晦澀而放棄學習計算流體力學。實際上,本書的目標是使讀者在日後閱讀那些前沿的資料時能從本書中受益。本書給出了對計算流體力學的整體介紹,目的是讓讀者從中受益,而不是嚇倒讀者。故而書中大量使用了直觀的、結合物理背景的方式來介紹計算流體力學。計算流體力學的專家在評價這本書時,也許會覺得是“過時的”,因為有些部分隻是80年代的研究水平。但是就是因為這些看起來過時的、已經被反復證明了的思路,恰恰能為初學者提供較直觀、較容易理解的學習方式。有了本書的學習背景,讀者能在後續的研究生和工作階段中很快地進入計算流體力學更復雜的領域。當然,為了讓讀者更快地步入這些領域,本書的第11章介紹了一些較為前沿的CFD技術。本書的第12章介紹了一些前沿的、有影響力的算例。因此,當你讀完這本書,你已經步入這個領域更深層次的康莊大道上了。
本書的部分內容來自於作者過去10餘年在比利時馮·卡門流體力學研究所(VKI)講授短期課程《計算流體力學概論》的經驗。這些內容過去幾年在英國的羅爾斯-羅伊斯公司也講過。基於這些經驗,作者發現了很多能夠讓初學者對CFD的基礎概念易於接受,覺得有用並產生興趣的東西。本書的內容直接反映了作者在這方面的經驗。在此,作者特別感謝VKI的所長JohnF.Wendt博士,他個認識到了一門介紹CFD的基礎課程的需求,並且在10年前就支持作者在VKI開設計算流體力學課程。在過去幾年中,對《計算流體力學》課程的需求超乎想像。近,JohnF.Wendt博士主編的基於VKI課程的《計算流體力學:概論》在施普林格(Springer-Verlag)出版社出版。本書是在此書基礎上的擴展和延伸,目標是在保留其簡單有趣的思想的基礎上,將其擴展為一學期課時的課程。
本書主要分為4個部分。部分介紹了CFD的基本思想和理論,同時延伸討論了流體力學的控制方程。對於計算流體力學方向的學生來說,充分理解並且很好地接受這些控制方程是非常重要的,它們是CFD的“血液”。作者對此深有感觸,因此在第2章,詳細地推導和討論了這些控制方程。在某種意義上,第2章可以獨立地作為介紹控制方程的“迷你課程”。實踐證明,計算流體力學方向的學生來自於各種不同的背景,因此學生的流體力學基礎也各不相同。但是,所有學生都一直感謝作者在第2章展示的內容。那些“一無所知”的學生非常感謝有機會充分理解相關公式,而“充分了解”的學生也願意對它們有個綜合全面的回顧。第2章強調了一個觀點:要成為優秀的計算流體力學專家,首先你必須是一個流體力學專家。
第二部分介紹控制方程數值離散的基礎。詳細地介紹了偏微分方程(有限差分)的離散方法。這部分包含了求解流動常用的一些基本的數值方法,以作業的形式介紹了積分形式的有限體積法。
第三部分包含了計算流體力學的4個經典問題以及它們的解析解。解析解可以用來與CFD解對比。顯然,在CFD的實際應用問題中是沒有解析解的,因為CFD是我們用來求解其他方法無法解決的流動問題的手段。然而,在本書中,為了介紹CFD的基本概念,如果通過那些無法驗證的算例,我們得不到任何東西,而通過簡單的算例,讀者可以明確地分辨各種數值方法的優缺點。在和第二部分中,對每一個算例都進行了詳細介紹。建議讀者自己通過編寫程序去嘗試求解第7~第10章給出的問題,並檢驗求解的結果。事實上,雖然本書的主題是計算流體力學,但它也是讀者更深入了解流體力學的一種渠道。作者有意強調了不同流動問題的物理特性來加深讀者的理解。從某些方面來說,學生在學習下一門課程時纔能真正領會上一門課程內容,本書就是一個例子,對於流體力學來說,本書就是下一門課程。
相對前幾部分,第四部分介紹了一些更前沿的問題,這些問題構成了當代計算流體力學的算法和應用。這些已經超出了本書的目標,因此讀者可以在以後的學習中進一步去了解他們。在第11章簡要地介紹了這些問題。第11章的目的是讓讀者熟悉當前CFD的前沿概念和用語。同樣,第12章討論了CFD未來的發展,給出了一些前沿的新算例,並使本書構成了一個整體。
計算程序的編寫是作者遇到的一個艱難抉擇。本書是否應該給出相關的計算機程序並讓讀者認識到編程的重要性呢?後的結論是否定的。本書在附錄中給出了求解庫埃特流動的托馬斯追趕法的程序。編程技術有好有壞,讀者應該熟悉並掌握如何編寫有效的程序,這不是本書的目標。鼓勵讀者自己動手編寫第3章的問題,而不是簡單地采用作者的程序。這也是學習此書的一部分。作者希望讀者親手編寫自己的程序,這是學習計算流體力學的重要部分。此外,第三部分的各個算例的詳細程序都在本書的習題解答手冊中給出了。這本手冊是給教師用的。當然,教師們可以根據實際情況在適當的時候自由地發給學生。
必須提到的一個方面是計算機圖形學。有一位評閱人提出必須在書中介紹計算機圖形學的相關方面。這是一個好建議。因此,在第6章,專門用一小節來介紹了計算流體力學中常用的計算機繪圖方法。同時,書中各個章節給出了許多標準制圖格式的計算結果。
對於介紹性的,高階段的計算流體力學課程,課後作業是不能回避的問題,本書也不例外。這是一個嚴肅的問題,作者考慮了很久。計算流體力學的實際應用——即使是簡單的問題,也需要經過一個特定的周期讀者纔能深入理解。因此,在本書的前幾章,並沒有留下相關的課外作業給讀者去練習。本科教學的理工科課程通常通過大量的練習來代替學習的過程,本書與之不同。本書的讀者在終進入實踐應用中——本書的第三部分之前,需要仔細學習計算流體力學的基礎術語、原理、思想和概念。事實上,我們鼓勵讀者編寫自己的程序並計算這些算例,可從中積累計算流體力學的經驗。比較而言,這種方式更像小型的計算程序而不是課後作業。本書的評閱人對是否需要課後作業分持兩種態度,一半認為應該保留,另一半認為不需要。作者采取了折中的方法。書中有一部分課後習題,但是不多。它們涵蓋在多個章節中來幫助讀者思考一些將要在文章中討論的概念的細節部分。鋻於當前還沒有一本標準的本科CFD教材的模板可供參考,因此作者更傾向於將課外作業留給聰明的讀者和教師——你可以充分發揮你的聰明纔智。
本書保持了作者寫書的一致風格,讓書中的內容盡可能地簡單易懂。本書用對話形式的語言讓讀者明白那些晦澀難懂的知識。
正如前面所言,本書面向的是理工科學生的本科課程。從17世紀以來,理工科已經沿著兩種平行的途徑被區分開來,一種純粹通過試驗手段,另外一種通過純粹的理論手段。事實上,當前的理工科本科課程也延續了這種傳統,將學生生硬地區分為試驗背景和理論背景。然而,當前科技行業,計算力學已經發展成新的第三種研究手段。未來,所有的研究生都會或多或少地接觸到計算力學。因此,對於流體力學學科來說,將計算流體力學加入到本科階段的教學內容中,讓本科學生對這種手段有所了解是十分重要的。本書的目標就是嘗試在本科階段的教學中加入計算流體力學課程,並且老師和學生在學習它時都能感到快樂。
關於本書的寫作風格。作者是一位空氣動力學家,因此書中會談論一些與航空相關的問題。但是CFD是跨學科的,與物理和化學一樣,它涉及航天、機械、土木、化工甚至電氣工程等多個領域。在編寫本書時,作者考慮到了各個學科的讀者。事實上,作者講授的短課時課程,就有以上各個學科的學生參與,並且他們很享受這種經歷。因此,本書會涉及其他學科,而不僅僅拘泥於航天工程。特別指出,機械和土木工程的學生在學習第1章時會發現很多熟悉的應用,在學習第6章時,還會對ADI方法和壓力修正方法產生極大的興趣。事實上,第9章中,黏性不可壓流動的壓力修正法就是針對機械和土木工程的。但是,不管應用到什麼領域,必須注意的一點是本書中的內容是通用的,各個領域的讀者都可以從中獲益。
本書的內容是如何編排的?在一個學期的課程裡面,讀者們能否因為時間不足而略過某些內容?答案是肯定的。雖然作者對內容的順序做了精心的編排,讀者通過按順序閱讀可以幅度地了解CFD,但是作者也考慮到了許多讀者和教師並沒有充足的時間這樣做。因此,本書在重點部分都做了特殊的標記,引導讀者按照自己的需求獲取書中的內容。特殊標記的部分在目錄中也給出了,可以作為參照。
作者特別感謝美國空軍學院的教授WayneHalgren上校,Wayne上校研讀了本書的書稿,並將其編制為一學期的高年級課程,於1993年春天在他講授的課程上進行了課程教學試驗。在課堂試驗時,他抽出寶貴的時間來帕克分校造訪作者,與作者交流上課的經驗。這種獨立來源的信息是寶貴的,本書的很多特點也是通過參考這些信息而提煉出來的。事實上,Wayne在幾年前成為作者的一名博士研究生,這也加深了這種交流。作者為擁有這樣傑出的學生感到驕傲和自豪。
作者也要感謝所有計算流體力學領域中的同事,我們進行了令人鼓舞的交流,討論了計算流體力學的基礎問題。特別要感謝書稿的評閱人:
AhmedBusnaina,ClarksonUniversity;
Chicn-PinChen,UniversityofAlabama-Huntsville;
GeorgeS.Dulikravich,PennsylaniaStateUniversity;
IraJacobson,UniversityofVirginia;
OsamaA.Kandil,OldDominionUniversity;
JamesMcDonough,UniversityofKentucky;
ThomasJ.Mueller,UniversityofNotreDame;
RichardPletcher,IowaStateUniversity;
PaavoRepri,FloridaInstituteofTechnology;
P.L.Roe,UniversityofMichigan-AnnArbor;
ChristopherRutland,UniversityofWisconsin;
JoeF.Thompson,MississippiStateUniversity;
SusanYing,FloridaStateUniversity.
從某種意義上來說,本書是這些討論的產物。同時,要特別感謝SusanCunningham女士,她是作者的私人文字秘書,為書稿做了細致的工作。Sue喜歡編輯公式——這本書應該給她帶來了很多歡樂。當然,還要感謝作者生命中重要的兩部分——馬裡蘭大學,為本書提供了必要的創作環境;還有我的夫人,Sarah-Allen的支持,感謝她陪伴我度過了那些難以計數的寫作時光。對於所有人,我給予衷心的感謝。
所以,讓我們開始學習它吧!我希望大家能在快樂的閱讀和計算中有所收獲。