計算科學作為第三支柱(computational science as the third pillar)
在歷史上多數時候,科學只有兩種探尋真理的方式:努力思考自然「應當」如何運作(理論),以及親自去看自然「實際」如何運作(實驗)。但許多問題兩者都觸及不到。你無法把一個星系放上實驗檯,無法等一千年去看氣候如何改變,也無法用紙筆解出渦輪噴射引擎裡紊流的方程。計算科學就是如今已然成熟的第三條路:寫下支配方程,把它轉成電腦可以一步步推進的程式,然後在機器裡頭把實驗跑起來。
具體而言,它是把一個模型——牛頓定律、那維-斯托克斯方程、薛丁格方程、一組化學反應速率——拿來,套上本主題前面講過的一切(離散化、線性求解器、時間步進、數值積分、誤差控制),向前推進並產生你能與現實比對的數字。模擬就像一台儀器:一台能解析蛋白質中個別原子之舞的顯微鏡,或一台追蹤暗物質在數十億模擬年間聚集的望遠鏡。關鍵在於:答案永遠是帶有可知誤差的「近似」,而非神諭;整個數值分析學科的存在,正是為了讓那個誤差被理解並被界定。
它如今支撐著藥物設計、飛機與晶片設計、天氣預報、氣候政策、宇宙學以及現代工程的大部分,而三大支柱彼此互相強化:理論提供方程,實驗提供並檢驗資料,模擬探索兩者之間任一單獨都無法企及的廣袤空間。最誠實的告誡也是這個領域最古老的一句:垃圾進、垃圾出。一個模擬的可信度,取決於它的模型、它的數值方法,以及在驗證與確認上所下的功夫——一張錯誤方程的漂亮高解析度圖,仍然是錯的。
在一輛新車造出來之前,工程師就跑了上千次撞擊模擬:鋼結構被離散成有限元素網格,運動方程在 100 毫秒的撞擊過程中被時間步進,預測出的變形引導設計——這一切都遠早於任何一具實體原型被送進真實撞擊測試中犧牲。
虛擬撞擊測試:方程+方法+電腦,取代了昂貴的真實實驗。
模擬不取代實驗或理論——它加入它們。一個沒有任何實驗、也沒有任何理論能佐證的結果,應被當作假設,而非事實。