韋德賢
(廣西科技大學 理學院,廣西 柳州)
在日常中,我們知道舞動軟絲綢的時候絲綢橫位移的峰值可以從一端幾乎完整地傳遞到另一端,而一端燒紅的鐵絲卻很難將熱峰值傳遞到另一端。這是我們生活當中經常看到的物理現象。這些日常的物理現象可以用數學物理方程來描述。在數學物理方程當中,我們知道軟絲綢舞動是弦振動現象,弦振動現象所滿足的方程是波動方程;燒紅鐵絲的熱傳遞現象所滿足的方程是熱傳導方程。這兩類方程在空間中傳播的性質是不同的[1]。
數學物理方程是物理學在其他自然科學或工程技術科學中的應用,即指在其他相應科學中滿足物理學規律的偏微分方程。例如,描述海洋流動和大氣運動的內維——斯托克斯流體力學方程,描述鋼板彈性變化的彈性力學[2],以及前文中我們所說的描述弦振動現象的波動方程、描述熱傳遞現象的熱傳導方程。數學物理方程是高校理工類專業的重要課程。傳統數學物理方程的教學是面對一堆繁冗的數學公式及推導,這在今天的現代化教學當中顯得有些枯燥。盡管有學者嘗試提出精選教學內容、利用多媒體創新教學方法等理念[3]。但這些教學理念還是停留在傳統的數學公式和解方程這樣的教學模式上。在學習數學物理方程的過程中,繁雜的數學形式和數學描述在無形中削弱了物理規律及物理圖像的意義。尤其是普通高校的理工類學生,他們的數學物理基礎相對于重點院校的學生要薄弱一些。這就會使得普通高校學生在數學物理方程的學習上更加費力而且效果不顯著。因此,我們應該對數學物理方程的教學做出一些探索。特別是計算機迅猛發展的今天,現代的數學物理方程教學更應該結合先進的信息與網絡資源來發展。在這樣的信息化背景下,可視化是現代高校教學中一個強有力的工具。目前,數學物理方程的可視化教學方面,基于MATLAB 仿真軟件已經有一些探討[4-8]。這些基于MATLAB 仿真軟件的教學,充分利用了多媒體和計算機的資源,在教學上實現了一定的可視化功能,教學的效果也有一定的積極性。但是有必要指出的是,基于MATLAB 軟件是封裝指令集軟件,學生們在進行仿真時,往往只需要幾個簡單的指令就能實現可視化,這種底層的封裝性會讓學生的動手操作性受到一定程度上的折扣。所以,我們認為基于MATLAB 軟件的仿真教學模式在培養學生的動手能力、分析問題及解決問題能力方面是有所欠缺的。
因此,對于數學物理方程課程,我們有必要對教學方法進行深入的探討。我們的目標是既要保證理論學習的質量,同時也要繼續探索可視化教學。我們從課程所學的振動方程和熱傳導方程理論出發,結合基本的Fortran 編程語言進行數值計算,來實現方程其解的可視化功能。由于Fortran 編程語言是面向過程的高級編程語言,它簡單易學而且可操作性強。通過Fortran 編程語言進行數值計算并實現方程其解的可視化功能,以此提高學生的動手能力、分析及解決問題相關方面的能力是有很大的幫助。本文主要是對數學物理方程的可視化教學方法進行探索與改革,以期得到更形象、更直觀、更加清晰明了的物理圖像,進一步加深學生對數學物理方程的理解,達到深刻理解知識并能夠靈活應用的教學目的。
我們知道,經典數學物理方程一般分為雙曲線型方程、拋物線型方程、橢圓型方程。弦振動方程是屬于雙曲線型方程,而熱傳導方程是屬于拋物線型方程。當物體的運動模型滿足一定的邊界和初始條件(邊界條件與初始條件一般合稱為邊值條件)時,方程與邊值條件構成數學物理偏微分方程的定解問題。因此,數學物理方程的模型所面臨的具體問題是解決滿足一定邊值條件的數學物理方程。在一些不是特別復雜的邊值問題上,數學物理方程的定解問題是可以進行解析求解的,常用的一些方法有如分離變量法、傅里葉變換法、拉普拉斯變換法等[9]。當然,在一些復雜的邊值問題上,數學物理方程的定解問題是很難進行解析求解的,那么就需要引入數值求解的方法了。數值求解偏微分數學物理方程常用的如差分法[10,11]。
工作中,為了避免數學物理方程復雜的邊值問題,同時又要重點突出可視化的教學思想,我們是以簡單的一維振動方程和一維熱傳導方程為例子進行分析。
例1,一根弦的振動所滿足的一維波動方程:

在此模型中,弦的兩端是固定的,在弦當中某處給一個初始的擾動(微小的振動),擾動通過弦本身的介質向兩端傳遞波和能量。為了方便,此模型中波形的傳播速度已經取為單位速度。此一維波動方程的定解問題可以用分離變量法來求解[9],其通解為:

從解的形式上看,弦的橫向位移u(x,t)滿足正弦波的耦合形式。兩端固定的弦在其中某處產生的振動,經過一段時間后,振動會以波的形式傳播到兩端并從兩端反射回來,前進波的波形與反射波的波形經過疊加之后形成駐波。
例2,一根弦受熱所滿足的一維熱傳導方程:

在此模型中,弦的兩端絕熱,在弦當中某處給一個初始的熱源,熱源通過弦本身的介質向兩端傳遞熱量。為了方便,此模型中熱量的傳播速度同樣取為單位速度。一維熱傳導方程的定解問題同樣可以用分離變量法求解[9],其通解為:

從解的形式上看,熱源在弦介質中的溫度u(x,t)滿足指數與正弦波的耦合形式。兩端絕熱的弦在其中某處給定初始熱源,熱量會以梯度的方式向外(向弦的兩個端點方向)擴散并衰減掉。
在本文中,我們并不是數值求解偏微分方程。而是從偏微分方程及其定解問題出發,用分離變量法給出解析解,然后對數學物理方程其解進行可視化處理,這樣是為了給數理方程的學習者對數理方程的解的性質有更加直觀的理解,同時也能在教學過程中突出可視化功能的重要性。
從一維波動方程的解(公式(2)) 和一維熱傳導方程的解(公式(4))兩個解的形式來看分別是不同的耦合形式。這種抽象、冗長的數學形式讓學生理解起來比較費力,學生對這種形式的理解也很難深入。相比于文字和符號形式的認知,學生們對圖像和動畫的認識更容易接受。因此,我們有必要將一維波動方程的解(公式(2))和一維熱傳導方程的解(公式(4))進行可視化,然后以圖像的形式呈現給學生。
本文所進行的數值計算及圖像描述所采用的軟件分別為:Fortran 和Origin(理工類學生可以結合并利用自己所學的編程語言,如C 語言,進行編程)。有關于一維波動方程的解(公式(2))和一維熱傳導方程的解(公式(4))的Fortran 源代碼如下所示:



基于Fortran 編程語言,本文分別對一維振動方程的解(公式(2))和一維熱傳導方程的解(公式(4))進行數值模擬。在本例中,我們取弦的長度L為1 m,演化時間t 為 5 s,解的級數展開到100000階。數值結果則是輸出時間依賴、位置依賴的位移函數(或者溫度函數),然后利用Origin 軟件將位移函數(或者溫度函數)展示成時間、位置的三維圖像,結果如圖1-4 所示。
圖1 和圖2 給出的是一維振動方程解的數值結果,橫平面坐標分別為時間刻度t、位置刻度x,縱坐標為位移函數u(t,x)。其中圖1 給出的是一維波動方程解的時空分布等勢圖。從圖1 我們可以看到,在x=0 m 和x=1 m 附近的橫向位移u(t,x)基本上不隨著時間發生變化。這是因為x=0 m 和x=1 m 是端點固定的,波形在端點處無法形成橫向位移。但是波形可以沿著端點反射回去,所以我們可以在弦中間某處如x=0.4 m 處看到波形隨著時間演化而呈正弦波形形狀。為了更加形象地給出波動的時空分布,在圖2 中給出了一維波動方程解的3 維時空分布圖。從圖2 我們可以更加清晰地看到,越遠離端點的位置,波形的橫向位移越大,換句話說,邊界決定了振動只能在邊界內部傳遞,而往返的傳遞形成了波形的疊加效應,即駐波現象。這就說明了舞動軟絲綢的時候絲綢橫位移的峰值可以從一端幾乎完整地傳遞到另一端,從而形成一個個周期性的波形。圖1 和圖2 都說明了波動方程在時空演化下會形成駐波現象。

圖1 一維波動方程解的時空分布等勢圖

圖2 一維波動方程解的3 維時空分布圖
圖3 和圖4 給出的是一維熱傳導方程解的數值結果,橫平面坐標分別為時間刻度t、位置刻度x,縱坐標為溫度函數u(t,x)。圖3 給出的是一維熱傳導方程解的時空分布等勢圖。從圖3 我們可以看到,在x=0 m 和x=1 m 附近的溫度基本上不隨著時間發生變化。這是因為x=0 m 和x=1 m 是端點絕熱的,熱量無法在端點處傳遞。在圖1 中振動的波形可以傳遞到端點并沿著端點反射回去,與振動模型有所不同的是,圖3 中熱量傳遞到端點卻無法沿著端點反射回去,這是由于兩種不同物理性質的傳播規律所決定的[1]。所以我們可以在弦中間某處如xL=0.4 m 處看到溫度隨著時間增大而呈指數形式快速地衰減掉。為了更加形象地給出熱量傳遞的時空分布,在圖4 中 給出了一維熱傳導方程解的3 維時空分布圖。從圖4 我們可以更加清晰地看到,越遠離端點的位置,溫度值越大,換句話說,邊界決定了溫度只能在邊界內部傳遞,而傳遞滿足梯度形式,即離熱源越遠,溫度衰減得越快。在時間t > 0.2 s 的弦上,幾乎看不到溫度的分布。這也就是為什么日常生活中我們看到燒紅的鐵絲不繼續受熱的話就會快速冷卻掉,同時很難將熱峰值傳遞到另一端。圖3 和圖4 同時指出熱量在時空演化下是以梯度的方式向外迅速衰減掉的。

圖3 一維熱傳導方程解的時空分布等勢圖

圖4 維熱傳導方程解的3 維時空分布圖
本工作是根據數學物理方程理論,結合數值計算方法,將數學物理方程中的兩類經典方程:一維振動方程和一維熱傳導方程進行分析,并實施可視化教學。
我們選取的一維振動方程和一維熱傳導方程難度適合普通高校的學生的水平。既要讓學生們能夠學到數學物理方程的基本思想和基本方法,同時又要保證他們對學習的內容有興趣和積極性。從課程內容的選材來說,一方面易于理解,一方面也易于實現可視化,操作性也很強,學生是相對容易接受的。
與基于MATLAB 仿真軟件的教學有所不同,本文是基于Fortran+Origin 的仿真教學。Fortran 是屬于底層的高級編程語言,在可視化教學的實施當中,它能夠讓學生看到數值過程的每一個細節,它的動手操作性比較強,同時Fortran 語言和Origin 軟件還容易學習上手,在教學上對學生更有吸引力。因此,在數學物理方程的可視化教學中,可以鼓勵學生參與可視化處理,這對于提高學生的動手能力、分析或解決問題能力有重要意義。
本文的工作是在大學理工類的數學物理方程課程教學方法改革中,根據數學物理方程理論,結合數值計算方法,將數學物理方程中的兩類經典方程——一維振動方程和一維熱傳導方程這兩類方程的解進行可視化處理。可視化結果可以清晰地看到波動方程和熱傳導方程的時空傳播性質存在明顯的差異性。可視化將數學物理方程繁雜的解形象直觀化,在教學上更加吸引學生的興趣,更能加深學生對數學物理方程的理解,還可以鼓勵學生積極參與可視化處理過程(可視化的操作簡易,對動手能力有更基本的鍛煉),這對于提高學生的動手能力、分析或解決問題能力有重要意義。因此,基于Fortran編程語言的可視化處理在大學理工類數學物理方程教學方法改革的探索上具有非常積極的意義。