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

數值耗散(numerical dissipation)

讓一個乾淨、尖銳的脈衝穿過某些有限差分格式,它不會保持尖銳——它緩緩淡去並擴散開,彷彿有霧在啃噬它的邊緣,即使真實 PDE 完美守恆它。那種人為的淡化,是烤進格式而非物理的能量損失,就是數值耗散。是格式加入了方程從未要求的擴散。

它正是放大因子大小小於一。對每個傅立葉模式,|g(theta)| < 1 意味格式每步縮小該模式的振幅——而由於高波數模式(尖銳、擺動的部分)通常被阻尼最多,細節特徵最先被撫平。對流的迎風格式是經典禍首:其單側模板等價於解對流方程外加一個小的二階導數項,一個正比於 h 的人工黏性,故它明顯抹掉被輸運的階梯。反之,對所有模式 |g| = 1 的格式(如蛙跳)「沒有」數值耗散,精確保持振幅。

數值耗散是名副其實的雙刃劍,誠實在於承認兩刃。壞的一面是它降低準確度:它磨圓震波、壓平峰值、損失真實系統會保留的能量,故長時間模擬可能漂離真相甚遠。好的一面是它是穩定器:受控劑量的人工黏性阻尼那些否則會成長為垃圾的高頻振盪與假性模式,這正是為何迎風與外加黏性項使捕震格式穩健。技藝在於加入剛好足夠的耗散以保格式穩定且單調,卻不至多到抹去你前來計算的特徵。

一階迎風輸運一個方形脈衝,卻把它的垂直邊變成緩坡,且每步愈緩——純粹的數值耗散,因為格式偷偷加了一個黏性項 ~ (c*h/2)*u_xx。蛙跳的 |g| = 1,保持脈衝高度,卻改而使其形狀擺動(那個假象是色散,非耗散)。

|g| < 1 悄悄抽乾振幅:它穩定化,卻也抹糊。

數值耗散未必是缺陷——刻意加入適量(人工黏性、迎風)以抑制震波附近的振盪並保格式穩定。錯誤在於用太多(抹掉真實特徵)或太少(任擺動成長)。別把它與數值「色散」混淆,後者扭曲相位/形狀卻不損失振幅。

又称
artificial viscositynumerical damping人工黏性數值阻尼