那維-斯托克斯模擬(Navier-Stokes simulation)
/ nav-YAY STOHKS /
若你想預測流體真正如何運動——不是卡通式的,而是細節層面的——幾乎人人都從同一組方程出發:那維-斯托克斯方程。它們其實就是牛頓定律「力等於質量乘加速度」,為每一小團流體寫了出來,再加上「質量守恆」這本帳。那維-斯托克斯模擬就是針對某個特定流動、某個特定形狀、某些特定邊界,把這些方程數值求解的這件事。
方程說的是:一團流體之所以加速,是因為壓力差在推它、黏滯摩擦在拖它,以及任何像重力這樣的外力,而同時速度場保持無散度(不可壓縮流體既不堆積也不留空隙)。困難之處,也是沒有通用公式的原因,在於一個非線性項——流體帶著自身的動量隨之移動(對流)——它把每一個運動尺度與其他所有尺度耦合起來,孳生紊流。要模擬,你把區域離散成網格,把導數換成有限差分、有限體積或譜近似,每一個時間步解一個壓力方程(一個帕松問題)以保持流動不可壓縮,然後更新速度。壓力求解通常是最昂貴的環節,仰賴快速帕松求解器、多重網格法,或配上好預條件子的克雷洛夫方法。
這些模擬預報天氣、設計管路與泵浦、模擬洋流,並在電影中讓水與煙生動可信。但誠實迫使我們提出兩個警告。其一,三維平滑解是否總是對所有時間都存在——那維-斯托克斯整體正則性——是數學最重大的未解問題之一,是克雷千禧年大獎的題目。其二,完全解析紊流(直接數值模擬)代價如此之高,以至於對幾乎所有工程流動,我們改為「模型化」小尺度而非計算它,這本身就是紊流建模的主題。
頂蓋驅動空腔流是經典測試案例:方盒中的流體被頂壁向側邊滑動拖著走。一個那維-斯托克斯求解器在譬如 256×256 的網格上,重現出中央渦旋以及角落裡反向旋轉的小渦——這些結果與已發表的基準值逐位吻合,而這正是新求解器被驗證的方式。
頂蓋驅動空腔:一個標準基準,新的那維-斯托克斯程式必須重現其渦旋。
三維那維-斯托克斯的平滑解是否對所有時間都存在,仍是未解問題——一道克雷千禧年大獎難題。我們經常在不知道(就完全一般情形而言)所模擬之物是否會爆破的情況下,照樣模擬這些方程。