JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

當特徵線相交:震波與柏格斯方程

非線性一階偏微分方程的光滑解能在有限時間內把自己撕裂。我們跟隨柏格斯方程直到特徵線相撞的那一刻,再把解重建為一道移動的跳躍——並認識那條告訴我們哪一道跳躍才正確的熵條件。

我們早料到的那場相撞

在上一份指南中,我們跑了柏格斯方程 u_t + u u_x = 0 的特徵線,看到一件令人不安的事:由於承載速度就是數值 u,剖面較高的部分跑贏較矮的部分,於是快的特徵線追上慢的,特徵線相交了。這份指南談的是在那場相撞當下與之後發生的事——也就是光滑理論無法描述的那一部分。我們不再問如何建構一個解;我們問的是一個解如何死去,以及由什麼來接替它。

讓我們用一個初始剖面把相撞講具體。取一筆資料:在最左邊從 u = 1 開始,平滑地下降到最右邊的 u = 0——一個下落的台階,起初很溫和。每一點都射出一條直特徵線 x = x0 + u(x0) t。坐在左側高處的點,射出速度為 1 的線;坐在右側低處的點,射出近乎垂直、緩慢的線。快線向右傾倒、撲向慢線,在前方某處它們必然相交。

兩條相交的特徵線把兩個不同的、被記住的 u 值送到同一點 (x, t)。一個單值函數無法同時遵守兩者。在幾何上,解曲面將不得不摺疊起來、在某一點上方直立——圖形想要變成多值的,就像一道破碎的海浪向自己捲過去。大自然並不會真的同時給出三個水面高度,所以光滑的圖像必須讓位給某種新東西:一道跳躍。

從資料中讀出破裂時刻

這裡有一個誠實而略帶意外的事實:解一直保持完美光滑,直到某個確定的瞬間,然後它的導數在一瞬間變成無窮大。在那一瞬之前,看起來毫無問題——數值 u 整齊地維持在 0 與 1 之間,全程有界。爆掉的不是高度,而是斜率 u_x。這就是梯度爆破:數值有界,梯度無窮。把這兩種破壞模式分清楚,是這個梯級上最有用的一個習慣。

我們可以用一行計算把那一刻釘住。沿特徵線對那個常數值微分,你會發現空間斜率服從一條黎卡提型的規律:在初始剖面下降之處——也就是初始斜率 u'(x0) 為負之處——相鄰的特徵線收斂,而 u_x 衝向負無窮。它們之中最早相撞的那一刻就是破裂時刻,而它可以直接從資料讀出。

characteristic from x0:  x = x0 + u0(x0) t,   u stays = u0(x0)

slope along it:          u_x = u0'(x0) / (1 + u0'(x0) t)

blows up when            1 + u0'(x0) t = 0

first breaking time      t* = -1 / min over x0 of u0'(x0)
                              (only where u0' < 0)
對柏格斯方程 u_t + u u_x = 0:斜率恰好在最密集收斂的特徵線首次相遇時爆掉。

破裂時刻之後:弱解

在破裂時刻之後,方程 u_t + u u_x = 0 就乾脆失去意義,因為 u_x 在跳躍處已不存在。要繼續下去,我們必須改變「解」這個詞的意思。訣竅是退回守恆律的形式 u_t + (u^2/2)_x = 0,並記得整個主題本就源自守恆律:那條微分方程只不過是一則積分記帳陳述的便利替身——任何區間內物質的總量,只透過它兩端的通量改變。

那則積分陳述對不連續的 u 完全自在,因為它根本不曾要求 u_x。把這點形式化,便得到弱解:一個可以有跳躍、但在對任意光滑探測函數測試時仍滿足守恆律的函數,所有導數都透過分部積分轉移到那個光滑的探測函數上。弱解在古典解存在之處與之一致,並悄悄地把理論延展穿過跳躍。這正是你之後在純量守恆律、以及更久之後在索伯列夫空間中會再次見到的同一招。

因此,越過這場災難的方法是允許跳躍——但跳躍不是免費的。定義弱解的那則積分記帳,並不允許前緣以任何它喜歡的速度移動;跨越跳躍的守恆固定了它移動得多快。把那條約束釘死,是下一件要做的事。

跳躍移動得多快?朗肯-雨貢尼奧條件

把震波想成一道移動的前緣,緊鄰其後是狀態 u_L、緊鄰其前是 u_R,以速度 s 行進。在一小段時間內,前緣掃過一片薄板;它所獲得的守恆量,必須等於透過它兩個面流入的淨通量。令獲得量等於淨通量,便得到朗肯-雨貢尼奧條件 s (u_R - u_L) = f(u_R) - f(u_L):速度乘以數值跳躍等於通量跳躍。這不過就是守恆,只是套用在不連續處而非穿過光滑區域。

對柏格斯方程,通量是 f(u) = u^2/2,所以 f(u_R) - f(u_L) = (u_R^2 - u_L^2)/2 = (u_R + u_L)(u_R - u_L)/2。除以跳躍量 u_R - u_L 得到一個乾淨的答案:s = (u_L + u_R)/2。震波以它所分隔的兩個狀態之平均速度行進。所以若一個值為 1 的區域撞上一個值為 0 的區域,兩者之間的牆以速度二分之一移動——比後方慢、比前方快,恰好如它必須的那樣,才能同時吞噬兩邊。

哪一道跳躍才正確?熵條件

這裡是藏在尾巴上的刺,也是這個梯級在記帳之外仍然重要的原因。一旦我們允許跳躍,弱解就不再唯一。考慮一筆上升的資料,比方說左邊 u = 0、右邊 u = 1。一個選項是把它鋪展成一道平滑的稀薄波,讓特徵線扇形散開。但第二個選項也在弱意義下滿足方程、甚至滿足朗肯-雨貢尼奧條件:把資料留作一道從 0 到 1 的駐留跳躍,一個「膨脹震波」。兩者都是弱解。只有一個是對的。

我們用一個額外的物理要求來排除這個冒牌貨,它叫做熵條件。用白話說:一道真正的震波必須壓縮——兩側的特徵線都必須流入它,絕不流出它。膨脹震波不滿足這點,因為它的特徵線從前緣流走,留下一塊沒有任何特徵線抵達的區域;那個洩露天機的空隙,正是稀薄波扇所填補的。加上熵條件便恢復了唯一性:在所有弱解之中,恰有一個是可接受的。

這樣一條規則從何而來,而非憑空變出?來自對模型的一點點誠實。真實的流體與交通都帶有一點點擴散;忠實的方程是 u_t + u u_x = epsilon u_xx,其中有一個小的 epsilon > 0,它光滑且永遠有唯一解。取極限 epsilon 趨於 0,光滑剖面便銳化成一道跳躍——但只有壓縮性的、滿足熵條件的跳躍存活下來。這個篩選原則就是消失黏性,也是熵條件最乾淨的辯護:正確的弱解,是一個幾乎無黏之解的幽靈。

這個梯級留給你的東西

回望這五份指南的整段弧線。我們從傳輸方程開始,那裡資訊只是沿著筆直的道路滑行;我們學了特徵線法;我們讓道路隨貨物彎曲,抵達真正的非線性;我們問了哪些資料曲線是可接受的。這最後一份指南以最深的一課收尾:一條完美光滑的非線性律能在有限時間內摧毀自己的光滑性,而唯一的出路是拓寬我們對「解」的接受範圍——再以一條物理原則把它重新收窄。

那個兩步的節奏——拓寬到弱解,再用一條可接受性條件挑出正確的那個——是現代偏微分方程理論偉大的重現模式之一,你之後會看到它穿著更厚重的衣裳再度現身。現在值得把那個誠實的但書點名出來:弱解以唯一性為代價買來存在性,而要找回唯一性,總得從赤裸方程之外引入一個額外的想法。對非線性守恆律而言,那個想法是熵條件;在這門學問的其他角落裡,它穿著別的名字。

如果你只帶走一個畫面,就讓它是這個:一道下落的斜坡逐漸變陡成一面垂直的牆,然後那面牆安頓成一道乾淨的前緣,以它所劃分的兩個狀態之平均速度前行。這單一畫面同時握住了梯度爆破、震波形成、朗肯-雨貢尼奧條件與熵的篩選——特徵線相交的全部戲劇,盡在一道破碎的波中。