偏微分方程的數值方法:有限差分

迎風格式(upwind scheme)

流動中的資訊有方向。若河流把一團染料帶往下游,那麼抵達某點的東西來自「上游」——絕非下游,那裡的水還沒來過。對流的有限差分格式應尊重這道流動之箭,而天真的對稱(中心)差分不然:它向兩側等量觀看,包括相關資訊根本不在的下游。迎風格式藉由刻意把模板朝風傾斜——用流「來自」的那個鄰點——來修正這點。

考慮對流方程 u_t + c*u_x = 0,它以速度 c 把剖面往右輸運(取 c > 0)。迎風格式用「後向」(朝左傾斜)差分逼近空間導數,u_x = (u_j - u_{j-1})/h,因為節點 j 的資訊從左邊流入。配上前向時間步,更新式為 u_j^{n+1} = u_j^n - C*(u_j^n - u_{j-1}^n),庫朗數 C = c*k/h。若改為 c < 0(往左流),你必須換成「前向」差分 (u_{j+1} - u_j)/h 以持續朝上游傾斜——模板隨速度的正負號翻轉。格式在 CFL 條件 0 <= C <= 1 下穩定,且為單調:它不會製造新的過衝或振盪。

迎風的誠實之處在其內建的權衡。選對單側方向,正是它在中心差分(對流的 FTCS)無條件不穩定之處仍穩定的原因——選錯方向、朝下游傾斜,立刻爆炸。但代價是沉重的數值耗散:泰勒分析顯示一階迎風等價於解 u_t + c*u_x = (c*h/2)(1 - C)*u_xx,一個把尖銳前緣抹成平滑斜坡的人工黏性。故迎風以準確度與抹糊為代價,換來穩健與單調。它是所有現代捕震法的概念種子,後者保留其「尊重流向」的原則,但加入斜率限制器與高階重構,在保持無振盪的同時削減過度的抹糊。

以 c = 1、h = 0.1、k = 0.05(庫朗數 0.5)輸運。迎風更新:u_j^{新} = u_j - 0.5*(u_j - u_{j-1})。值為 3、左鄰為 7 者變成 3 - 0.5*(3 - 7) = 3 + 2 = 5——被拉向上游值,正確地把剖面右移。改用中心差分,同樣設定無條件不穩定;傾斜錯方向(用 u_{j+1})則立刻爆炸。

把模板朝上游傾斜:穩定且單調,但它抹糊尖銳前緣。

迎風的全部要點是用正確的「上游」一側,這取決於流速的「正負號」——對變號或變速的情形,你必須在局部切換模板(通量分裂)。一階迎風穩健穩定且無振盪,卻重度耗散;要得到真正的準確度,需要保留迎風想法又無抹糊的高階延伸(限制器、MUSCL)。

又稱
upwind differencingone-sided scheme for advection迎風差分單側格式