為何單靠方程永遠不夠
你一路攀爬至此,心裡一直默記著一個事實,現在到了該還的時候。一條常微分方程的通解帶著任意常數——每一階一個——你用幾個數字就能把它們定下,這裡一個初始值、那裡一個斜率。一條偏微分方程則慷慨得多:它的通解帶著任意函數。回想一階那一階:傳輸方程 u_t + c u_x = 0 的解是 u(x,t) = f(x - c t),f 可以是任意形狀;而波動方程的解是 u(x,t) = F(x - c t) + G(x + c t),F 與 G 是任意兩個形狀。整整一個函數份量的自由,幾個數字是釘不住的。它需要另一個函數份量的資訊——而這份資訊,就住在邊界上。
所以一個偏微分方程問題永遠是一對:區域內部的方程,加上區域邊界上的條件。想像一塊處於穩態的金屬板,內部由拉普拉斯方程 Laplacian u = 0 支配,形狀是個正方形。方程說每個內部點都是其鄰居的平均——但它對邊緣發生什麼隻字不提。你隨意地加熱這四條邊,板內就會安定下一張截然不同的溫度圖,而每一張都服從著同一條方程。方程是這片土地的法律;邊界條件則是那紙地契,標明哪一個解才是你的。本篇導讀,談的就是寫這紙地契的三種經典方式。
狄利克雷:在邊緣釘住數值
在邊界上說話最直接的方式,就是規定 u 本身在那裡的值。那就是狄利克雷條件:u 在邊界上處處等於一個事先指定的函數 g。對那塊受熱的板,狄利克雷資料的意思是我告訴你整圈邊框上的溫度——比方說左邊維持在 100 度、其餘三邊維持在 0 度——然後問板內會安定出什麼溫度。對一條長為 L 的振動弦,狄利克雷條件 u(0,t) = 0 與 u(L,t) = 0 說的是兩端被夾住、動彈不得。它是「被固定在原地」這件事的邊界條件。
在一個區域內部解拉普拉斯方程或帕松方程、並在整圈邊界上指定其值,這有個你早已見過的名字:狄利克雷問題。它是整個偏微分方程裡最乾淨、行為最良好的邊界值問題,而這是有道理的。極大值原理保證內部溫度永遠不會超過最熱的邊界值、也不會低於最冷的,所以邊界確實掌控著內部;而同一個原理也迫使答案唯一。當你早先在單位正方形上跑分離變數法時,那些齊次的端點條件 u(0,y) = u(L,y) = 0 正是狄利克雷條件在默默地工作——它們恰好就是挑出正弦模態的那隻手。
諾伊曼:固定穿過邊緣的流量
有時你掌控的不是邊界上的值——而是穿過邊界的東西。一個諾伊曼條件規定 u 在邊界上的法向導數,記作 u_n 或 partial-u / partial-n,也就是沿著直直穿出邊緣那個方向的變化率。根據傅立葉熱傳導定律,熱通量與溫度梯度成正比,所以法向導數就是熱穿過那一塊邊界的流量。最重要的情形是 u_n = 0:根本沒有熱穿過邊緣。那是一個絕熱邊界——把棒的兩端裹進一床完美的毯子,方程對兩端唯一知道的事,就是什麼也漏不出去。
諾伊曼條件帶著一個狄利克雷條件沒有的微妙之處,而這值得你刻進骨子裡。如果你把一塊板的每一條邊都絕熱、再解拉普拉斯方程,那麼穩態解只能定到「相差一個常數」為止:u 與 u + 5 處處有相同的梯度,所以兩者在整圈上都滿足 u_n = 0。你可以自由地把整片溫度往上或往下平移。更糟的是,對於純粹的諾伊曼問題,除非指定的各通量彼此平衡,否則解可能根本不存在:若穿過某一部分邊界被強行灌入的熱,多過從其餘部分離開的熱,那就守不住任何穩態——熱會永遠堆積下去。那個平衡要求就是諾伊曼相容條件,這正是「只用流量說話」所要付的代價。
Dirichlet : u = g on the boundary (value fixed) Neumann : u_n = h on the boundary (flux fixed; insulated if h = 0) Robin : a u + b u_n = h on the boundary (weighted mix)
羅賓:介於其間的加權混合
真實的邊界很少落在兩個極端。一根伸進開放空氣裡的熱棒,既不維持固定溫度、也不是完美絕熱——它以「比周遭高出多少」成正比的速率向空氣散熱。那是牛頓冷卻定律,把它寫下來就得到一個羅賓條件:值與法向導數的線性組合,在邊界上 a u + b u_n = h。它是貨真價實的中間地帶。把係數 b 旋到零,你就回到狄利克雷(只剩值);把 a 旋到零,你就回到諾伊曼(只剩流量)。羅賓正是那個從一端連續轉到另一端的旋鈕。
從物理上看,羅賓係數量度的是邊界與外部世界耦合得有多強。耦合很弱,表示表面幾乎察覺不到空氣——近乎絕熱,近乎諾伊曼。耦合很強,表示表面幾乎瞬間就被拖到環境溫度——近乎被夾住,近乎狄利克雷。大多數工程上的傳熱問題都端端正正地落在羅賓的地盤裡,那份耦合(傳熱係數)是在實驗室裡量出來的。所以儘管狄利克雷與諾伊曼因為是乾淨的極端而最受抬舉,羅賓卻可說是你在野外最常碰見的那一個。
哪一種條件、放在哪裡、要幾個
兩個實務上的問題決定了你是否設好了一個合理的問題。第一,你可以在同一道邊界上混用不同型別——某一邊用狄利克雷、另一邊用諾伊曼——你甚至可以把單獨一條邊切開,這種設定叫混合邊界條件。一根管子在它與儲槽相接之處可能維持已知溫度(狄利克雷),而在被保溫材包覆之處則絕熱(諾伊曼)。這些片段只需毫無矛盾地覆蓋整圈邊界即可。第二,資料的份量並非隨你挑選:它是由方程的「型」所規定,也就是你上一階學到的那個偉大的三分法。
這裡是個經驗法則,而本學習階梯接下來會把它說精確。像拉普拉斯方程這樣的橢圓型方程,要在它區域整圈封閉的邊界上有一個條件(狄利克雷、諾伊曼或羅賓)——值要繞滿一整圈,因為在平衡態下每一點都感受著其他每一點。像熱方程這樣的拋物型方程,要在起始時刻有一個初始條件,並且在每個空間端點對所有後續時間有一個邊界條件——這個組合就是初邊值問題。像波動方程這樣的雙曲型方程,因為對時間是二階的,要兩個初始條件(初始形狀與初始速度)外加兩端的邊界條件。讓資料與「型」相匹配,正是讓一個問題適定的關鍵。
在下一篇導讀之前,誠實地提一個警告。讓資料與「型」不匹配,問題就可能變成一場靜悄悄的災難:規定得太多,可能沒有解;規定得太少,可能有很多解;而規定了錯誤的種類——比方說,給一條橢圓型方程柯西資料——你就會得到本學習階梯將要解剖的那些著名的不適定災難。還有一個值得點名的閉環變體:週期邊界條件把一個域的兩端黏在一起,彷彿把棒彎成一個環,當幾何本身就繞回自身時,這是最自然的選擇。貫穿始終的主線永遠一樣:方程供給法律,邊界供給那唯一的答案——當且僅當兩者妥善匹配之時。