呂廣宏,梁林云,姜 寅,周洪波,胡 地,竺禮華,耿立升,滿興坤,李 博,周 苗,張玉潔,劉利民,金 碩,宋春艷,張 穎,舒小林
(北京航空航天大學 物理學院,北京 100191)
理論物理和實驗物理是兩種研究物理現(xiàn)象和規(guī)律的傳統(tǒng)手段. 隨著信息技術的快速發(fā)展,計算物理作為第三種研究物理現(xiàn)象和規(guī)律的手段應運而生. 計算物理是以計算機及其技術為工具和手段,結合物理學、數(shù)學和計算機科學等多學科交叉發(fā)展起來的一門新型學科. 計算物理學在發(fā)展初期僅被作為連通理論物理與實驗物理之間的“紐帶”,隨著物理學、數(shù)學和計算機科學的不斷交叉融合,已經發(fā)展為一門獨立的分支學科,在研究物理現(xiàn)象和規(guī)律的過程中發(fā)揮著不可替代的作用,成為與理論物理和實驗物理并列的物理學的第三種研究方法[1-3].
計算物理的顯著特點是克服了理論物理描述復雜物理問題的不足,同時也解決了實驗物理遇到苛刻實驗條件從而難以實現(xiàn)的困難. 計算物理不能理解為簡單的計算,而是通過計算了解物理現(xiàn)象及其包含的內在規(guī)律. 正如一位計算科學的先驅者R.W. Hamming所說:“The purpose of computing is insight, not numbers”[4]. 一方面,計算物理可以把更加復雜的系統(tǒng)包含進來,同時盡可能減少近似的條件,實現(xiàn)對物理現(xiàn)象更加全面和系統(tǒng)的描述. 研究人員根據(jù)實際條件可對物理模型和計算條件進行修改和調控,很方便得出各種參數(shù)和條件對計算結果的影響規(guī)律,一定程度上類似于在實驗室做實驗,因此也常被稱為是“計算機實驗”.
另一方面,隨著科學技術的迅速發(fā)展,學科分化日趨詳細,各學科之間相互交叉和滲透,計算物理學科與這些新興學科的交叉則不斷豐富計算物理的內容. 特別是近年來量子計算技術的進步,突破了傳統(tǒng)計算機進行信息存儲和處理的方式,以量子比特作為信息量的基本單位,基于量子力學原理,算法比傳統(tǒng)計算更加高效,從而能更快解決復雜和計算量巨大的物理問題. 值得一提的是今年由我國科研人員研制的量子計算原型機“九章”的問世,為量子計算實現(xiàn)規(guī)?;椭匾I域的應用研究打下了堅實的基礎. 計算物理學的產生與發(fā)展極大推動了整個物理學的進步. 目前,計算物理在幾乎所有的物理學分支的應用中均占有一席之地,例如計算凝聚態(tài)物理、計算核物理、計算等離子體物理等. 因此,學科交叉和融合是推動計算物理發(fā)展的一個重要因素.
隨著計算物理學科的發(fā)展,計算物理的教學也需要不斷設計和發(fā)展. 計算物理目前是綜合性大學本科物理專業(yè)的核心課程和研究生的必修課程. 然而計算物理的教學與傳統(tǒng)物理課程相比相對滯后,究其原因:其一是計算物理學科相對年輕,相關的教學書籍和課程還在不斷完善中;其二是計算物理是交叉學科,集合了物理、數(shù)學、計算機科學等多個學科的內容,內容多而雜,很難形成一本通用的教材. 國內外計算物理課程在很大程度上根據(jù)授課教師自身的學術背景進行講授,各具特色,并無統(tǒng)一的課程教材[5],因此,授課內容側重點區(qū)別較大.
由于計算物理的實踐性比較強,在教學實施過程中目前還存在一些現(xiàn)實的問題,例如基本數(shù)值方法和上機實踐沒有得到完全實施,本科課時也比較少,難以在一學期講解如此廣泛的內容. 這些困難均為教師在很少的課時內講授大量計算物理知識和實踐提出了挑戰(zhàn),這就需要教師提前設計好課程內容,合理安排授課形式,以便能讓學生在短時間內掌握計算物理的主要知識點,了解計算物理的流程和特點,培養(yǎng)學生解決物理問題的能力.
計算物理的內容涵蓋了物理、數(shù)學和計算機科學方面的內容. 因此,本文也從程序語言、物理建模、數(shù)值方法、結果分析和可視化、應用實例和前沿課題六個方面討論課程建設的探索與實踐. 北航作為工科類學校,課程特別注重將計算物理與工程問題特別是航空航天應用領域相結合,突出了計算物理課程的理工融合與空天特色.
學習計算物理課程需要事先掌握一些必要的基礎知識,如高等數(shù)學、數(shù)學物理方法、計算機語言等,研究生課程更需要具備熱力學與統(tǒng)計物理、量子力學、固體物理等基本知識. 前面講過的課程一般注重理論推導,物理模型示例往往是理想模型,具有解析解,很少把這些理論知識具體應用于解決一個普適的物理問題,缺乏實踐性. 計算物理正好解決了這一問題,學生可以根據(jù)已學過的理論模型具體求解一個實際的物理問題,進一步加深對物理知識的理解,亦能感受到學習物理的樂趣.
本科生和研究生需要制定不同的培養(yǎng)目標. 對本科生來說,建議達到能夠理解計算物理在科學研究中的意義,掌握基本的數(shù)值方法,初步掌握編程語言和物理思想,了解物理建模、編寫程序、數(shù)學方程求解、計算結果分析等整個計算物理流程,了解幾種常用計算方法在典型物理問題中的應用. 對研究生來說,考慮到部分本科為外校的同學可能沒有或較少學習計算物理的情況,教學中首先回顧部分本科階段的基本知識點,之后拓展知識面和增加課程難點,結合前沿研究熱點,并強調計算物理與工程特別是航空航天中的計算問題相結合,培養(yǎng)學生解決實際問題的能力. 特別是研究生課程開設二級學科平行課,以滿足不同二級學科學生的需求,注重本科和研究生計算物理課程協(xié)同建設,開展計算物理教學工作.
在教學內容上,本科生課程偏重于介紹容易掌握的基礎理論知識,為今后學習更加專業(yè)和前沿的物理知識打下基礎. 課程不設具體學科方向,以理解如何利用計算物理解決實際物理問題為核心思想,介紹幾種典型計算物理方法的背景、詳細求解問題的步驟和具體應用實例. 對于研究生課程,基礎理論知識則突出內容的深度和廣度,并且突出內容的前沿性和專業(yè)領域重點或熱點,為培養(yǎng)研究生獨立從事科研工作的能力打下基礎.
在教學方式上,考慮到本科生更加注重基礎理論知識而研究生更加注重專業(yè)領域的知識,我們設置了本科生課程“小班化”和研究生課程“二級學科平行課”的教學模式. “小班化”的課程降低了師生比例,大大增加了師生互動的頻率,為課堂教學特別是上機課程的實施提供了很好的模式,調動了學生學習的積極性,教學效果良好. “二級學科平行課”的設置則更加適合研究生的教學,針對不同二級學科的學生開設相應的計算物理課程. 同時,授課教師在本專業(yè)領域具有豐富的教學和科研經驗,可以更加深入講解二級學科領域的知識和前沿研究的熱點問題,很好地滿足了不同二級學科學生的要求,為今后進入科研領域打下了計算物理基礎.
北京航空航天大學的計算物理本科生課程側重介紹計算物理的思想,講述計算物理領域所涉及的計算工具、C程序語言、數(shù)值方法、上機操作實踐和幾種常用的計算方法. 在掌握物理、數(shù)學和計算機基本知識的基礎上,進一步培養(yǎng)學生計算和實踐的能力,掌握物理模型和數(shù)學方程的建立方法,學會應用數(shù)值計算的思想和方法分析和處理典型的物理問題,提高學生獨立分析、建立模型、開發(fā)計算程序并解決物理問題的能力. 本科課程主要包括三個部分:程序語言-繪圖軟件、數(shù)值方法、典型計算物理方法.下面就每個部分進行詳細的介紹.
程序語言為實現(xiàn)人機交互的媒介. 對初次接觸計算機語言的本科生來說,如何選擇程序語言顯得非常重要. 可供選擇的有一些主流的商業(yè)化科學計算軟件Matlab、Mathematica、Maple等和高級程序語言如C、C++、Fortran、Java、Python等. 商業(yè)化的計算軟件在工程和科研領域具有廣泛的應用,其內部已集成了大量可供調用的庫函數(shù),使用時只需給出調用函數(shù)的命令,即可實現(xiàn)高效的數(shù)值或符號計算功能,使用起來相對容易[6]. 然而,一個重要問題是此類軟件沒有具體求解方程的過程,如采用Mathematica求解非線性方程的根,只需寫出求解的方程并調用相關命令如FindRoot和Solve,便可直接給出計算結果,學生并不能夠詳細了解具體求解方程的過程以及編程思想,不利于訓練學生的計算物理解題思維和編程思想. 此外,大部分的主流商業(yè)計算軟件收費較高,如何實現(xiàn)本科生和研究生免費使用也是面臨的一個實際問題. 特別是近年來迫于美國政策的影響,部分高校已無法使用美國公司的計算軟件Matlab進行教學與科學研究. 其它的軟件如Mathmatica盡管目前仍可使用,但是也不能排除未來被禁止使用的可能性. 可見,使用開源軟件或者開發(fā)具有自主知識產權的計算類軟件迫在眉睫.
而高級程序語言基本是免費的,不用考慮版權的問題. 其次,除Python外,使用此類高級程序語言時需要將具體的數(shù)學方程根據(jù)數(shù)值方法進行分步計算,并根據(jù)實際需要如方程的具體形式和邊界條件等采用合適的數(shù)值方法進行求解. 因此,采用高級語言程序對解決物理問題提出了更高的要求,亦能通過實際操作加深對計算物理思想的理解. 同時,我們希望程序語言能夠滿足以下一些條件,如可讀性好、運算符豐富、結構式語言、設計自由度大、執(zhí)行效率高、可移植性好和使用廣泛,綜合考慮在現(xiàn)階段選用C語言. 這部分內容主要熟悉Linux操作系統(tǒng)和常用Vim命令,熟悉Visual Studio,學習C語言中常用變量、數(shù)組、結構體定義、選擇語句、循環(huán)語句、判斷語句、函數(shù)、簡單的輸入輸出語句等.
計算結果的展示需要繪圖軟件,課程主要介紹免費的繪圖軟件Gnuplot,可以在Linux、Windows或MacOs系統(tǒng)上運行,強調應用可視化軟件展示計算結果的物理圖像和分析結果的重要性. 設計幾個典型的算例作為課后作業(yè),以方便學生課下學習并練習. 通過課上練習與課下鞏固,幫助學生提高程序設計和編寫能力,為后面采用數(shù)值方法進行具體物理問題的求解打下基礎.
數(shù)值方法是計算物理中非常重要的內容,是實現(xiàn)將數(shù)學方程中的連續(xù)函數(shù)寫為離散函數(shù)形式的工具,最后實現(xiàn)在計算機上計算. 為了讓學生能夠更好地理解和掌握這部分內容,課程主要介紹差分和隨機方法,相對于有限元、有限體積、傅里葉變換等方法,這兩種方法更直觀、容易理解,且應用非常廣泛. 課程首先介紹函數(shù)的數(shù)值微分和積分,如差商求微分、矩形法求積和隨機法(蒙特卡洛法)求定積分;數(shù)據(jù)的處理,如函數(shù)的擬合、插值、誤差的定義等. 之后,介紹線性和非線性方程的幾種簡單數(shù)值解法,主要包括簡單線性方程(如三對角矩陣)的求解、高斯消元法求解一般線性方程、二分法與牛頓法求解非線性方程;初值和邊值問題的常微分方程和偏微分方程數(shù)值解法,包括歐拉方法、預測-校正法、龍格-庫塔法求解常微分方程、有限差分法求解擴散方程、熱傳導方程和波動方程三類典型的偏微分方程;了解顯式和隱式方法的區(qū)別以及步進法和迭代法.
每一節(jié)課后給出一個具體的例子. 例如,在函數(shù)積分計算一節(jié),采用差分和隨機方法計算函數(shù)定積分;數(shù)值求解常微分方程,展示一維簡諧振動模型的求解方法(見例一). 在數(shù)值求解偏微分方程一節(jié)中,展示將二維穩(wěn)態(tài)熱傳導方程首先根據(jù)差分法離散化為線形方程組,再通過高斯-若當法求解線性方程組(見例二). 這部分內容主要讓學生能夠理解數(shù)值求解數(shù)學方程的主要思想,對給定的數(shù)學方程能夠采用差分方法將自變量在空間和時間上進行離散化,了解初值和邊值問題微分方程的處理方法.
例一:假設一個物體作一維簡諧振動,根據(jù)牛頓第二定律可以得到其運動方程為
(1)
其中,x為物體相對于平衡位置的位移,m為物體的質量,k為彈性系數(shù). 分別采用歐拉法、預測-校正法和四階龍格-庫塔法三種數(shù)值方法求解方程(1),得到數(shù)值解并與其解析解對比. 計算兩種不同物體質量(m=1和m=4)的情況,并分析其對計算結果的影響,結果展示于圖1(a). 此算例展示了幾種典型數(shù)值方法求解常微分方程的穩(wěn)定性及精度,使學生更好地理解這些方法在實際物理問題中的具體應用過程,以加深對計算物理解決實際物理問題的理解.
例二:假設一個正方形樣品四周與恒溫熱源接觸,求樣品內部溫度的分布. 根據(jù)二維熱傳導方程可得溫度變化滿足方程:
(2)
其中,T為溫度,t為時間,x和y為樣品某處的位置.邊界條件為Tx=0=Tx=100=Ty=0=300,Ty=100=0. 采用有限差分求解,可得到T在二維空間的分布. 系統(tǒng)達到穩(wěn)態(tài)時溫度分布如圖1(b)所示. 此算例展示了如何采用差分方法求解偏微分方程,通過典型的熱擴散模型理解數(shù)值方法在實際物理問題中的應用,并將計算得到的溫度空間分布通過圖形展示出來對數(shù)據(jù)進行分析和解釋.
一維簡諧振動模型中位移隨時間的變化,分別采用歐拉法、預測-校正法和四階龍格-庫塔法數(shù)值求解方程(1)并與其解析解對比,這里,物體質量分別為m=1和m=4,彈性系數(shù)k=1. 正方形樣品穩(wěn)態(tài)時的溫度分布圖圖1
典型計算物理方法部分簡要介紹了幾種應用廣泛的凝聚態(tài)物理計算方法,包括第一性原理、分子動力學、蒙特卡洛和相場方法,側重介紹不同計算方法的理論基礎、發(fā)展歷史以及應用舉例,使學生能夠了解計算物理的主要思想. 講授完各計算方法的理論知識后均演示一個典型的例子. 例如,第一性原理計算演示氫分子中氫原子間的相互作用;分子動力學演示粒子遵循牛頓力學的運動過程,采用蛙跳算法求解簡單的一維牛頓運動方程;蒙特卡洛方法演示隨機方法計算圓周率的Buffon投針實驗和計算單個空位原子在單晶金屬材料中隨機游走過程;相場方法采用中心差分方法數(shù)值求解簡單的Allen-Cahn方程演示界面能驅動的晶粒生長過程. 讓學生通過具體實例真正體會根據(jù)所學知識去解決實際物理問題的樂趣,深刻理解計算物理的思想,激發(fā)學生對計算物理的興趣.
除上述教學內容外,本文也介紹了教學方式和手段的探索. 課程采用課堂教學、編程練習和上機實踐相結合的方式,加強上機實踐操作能力,將課堂所學的基礎理論知識,通過思考和分析,采用作業(yè)的形式進行實際操作,通過建立模型、編寫程序、上機計算和結果展示,加深對學習內容的理解. 計算物理課程的一個重要部分是實踐環(huán)節(jié),程序練習非常重要,學生自帶筆記本電腦安裝Visual Studio軟件,即可在課堂上進行程序編寫和運算.
為更好實施上機課程,課程采用“小班化”教學. 由于學生人數(shù)減少,師生交流的頻率增加,課堂教學由傳統(tǒng)的單向傳遞變?yōu)殡p向互動,方便教師對每個同學在課堂上進行隨時指導,很好的調動了學生的積極性,能夠使學生更好的掌握課堂和上機實踐的重要知識點. “小班化”教學能夠及時掌握學生的學習進度和情況,照顧到班級內學生之間的差異,靈活調整教學進度和教學內容. 另外,計算物理課后作業(yè)較多且包括了計算程序的編寫,小班化教學也極大縮短了教師批改課后作業(yè)的時間,使其有更多的時間用于優(yōu)化班級管理和教學內容. 實踐證明,“小班化”教學效果良好,學生學習氛圍濃厚,極大地提高了教師的教學效率和學生的學習效率.
在本科生考核方面,改變以往單一的評價手段,通過多種手段衡量學生學習的效果,包括平時課堂互動、程序作業(yè)展示和報告、上機實踐解決實際物理問題等. 程序編寫的考核強調編程思路的重要性,其次關注語法的準確性. 課后作業(yè)包括調研多尺度計算方法的應用實例,讓學生自己調研文獻并總結,培養(yǎng)學生初步閱讀科研文獻的能力.
程序語言和繪圖軟件部分仍然選擇C語言和Gnuplot繪圖軟件,與本科生課程一致. 考慮到部分學生本科階段學習過C語言,適當增加了C語言的內容和難度. 如增加了預處理命令、宏的定義、指針、輸入輸出格式的高級用法等. 同時考慮到本科是外校的學生可能學習過其它程序語言,具體使用哪一種程序語言同樣不作嚴格限制. 并特別強調編寫程序僅作為實現(xiàn)數(shù)值計算和分析計算結果的一個工具,避免過分強調程序語言而忽略了計算物理研究物理現(xiàn)象和規(guī)律的本質.
數(shù)值方法包括三個部分:函數(shù)的數(shù)值微分、積分和極值問題,線性和非線性方程數(shù)值解法,微分方程數(shù)值解法.考慮到部分本科為外校的同學可能缺少相關的基礎知識,這部分包含了本科課程數(shù)值方法的全部內容,同時增加了新的內容和難度. 例如,在函數(shù)微分和積分中增加了插值型求導和積分的內容;線性方程中增加矩陣的LU分解算法;非線性方程中增加線性插值算法;在常微分方程中,增加多步法求解以及高階方程的解法,如辛普森公式、亞當姆斯公式、米爾尼公式和哈明公式等;在偏微分方程中,增加復雜邊界條件的數(shù)值處理方法等. 此外,還簡單介紹了其它的數(shù)值方法,如有限元方法和傅里葉變換方法(見例三),拓寬了研究生的知識面并相應增加了課程內容的難度. 因此,研究生課程相較于本科生課程既保持了內容的連貫性,同時也相應增加了知識點和難度.
例三:一個二元體系在打破其穩(wěn)定的單相狀態(tài)時會發(fā)生兩相分離,每一種組分形成單一的相,這種兩相自發(fā)分離的現(xiàn)象稱為旋節(jié)線分解. 其中一種組分的濃度在恒定溫度下隨空間和時間的演化行為可由Cahn-Hilliard方程:
(3)
描述,體系的總能量為
(4)
f(r,t)=ΛC(r,t)2(C(r,t)-1)2
(5)
其中,C(r,t)是組分的濃度,M是原子遷移率,F(xiàn)是體系的總能量,t是時間,κ是梯度能系數(shù),Λ是常數(shù),ξ為白噪聲. 參數(shù)M、Λ和κ均取1,初始濃度簡單設為C0=0.5. 采用快速傅里葉變換方法求解方程(3).t=1 000時C(r,t)在二維空間的分布見圖2.此算例既展示了采用快速傅里葉變換方法求解周期性邊界條件的偏微分方程過程,同時也學習了由非穩(wěn)態(tài)向亞穩(wěn)態(tài)或穩(wěn)定態(tài)轉變的這一重要物理現(xiàn)象.
圖2 二元體系中組分的分布圖.灰度代表組分的濃度
考慮到計算物理內容的廣泛性和北航物理學院的學科特點,我們創(chuàng)新性地設置了“計算凝聚態(tài)物理”與“計算核物理”二級學科平行課. 凝聚態(tài)物理學科的學生選擇計算凝聚態(tài)物理課程;粒子物理與原子核物理學科的學生選擇計算核物理課程;理論物理、光學、等離子體物理、無線電物理專業(yè)的學生因為人數(shù)不多,可選擇兩門平行課程之一.課程分別由凝聚態(tài)物理、粒子物理與原子核物理等各學科方向的老師進行授課,很好地滿足了不同二級學科研究生的需求. 平行課可根據(jù)學科發(fā)展需求和其它二級學科學生數(shù)量增加進一步增設,如考慮增設“計算等離子體物理”二級學科平行課程.
2.水質條件差。秋季魚類排泄物劇增,水體有機質污染加劇,養(yǎng)殖水體缺氧而亞硝酸鹽和氨態(tài)氮等有害物質含量上升,造成水質不良,水質調控難度增加,魚類病害增多。
計算凝聚態(tài)物理的平行課程主要以分子動力學程序編寫為載體,講述如何構建一套完整的計算方法用于模擬金屬晶體材料的物理性質,并給出從程序上實現(xiàn)這些模擬過程的具體步驟. 內容包括構建晶體結構模擬體系、能量與原子間相互作用勢、能量弛豫、系統(tǒng)的動力學過程等四個部分. 課程從計算的角度講述構建理想晶體結構和超晶胞的方法;介紹幾種常用的晶體結合與原子間相互作用勢,如兩體勢、多體勢和最近發(fā)展起來的機器學習勢函數(shù),從而計算系統(tǒng)總能量;能量弛豫方法講述靜態(tài)弛豫的局域優(yōu)化,如最速下降法(見例四)和共軛梯度法;動力學過程的模擬包括動力學方程的具體求解,如溫度與壓強等物理性質的計算,溫度和壓強等條件的控制等. 每一部分均給出典型的應用實例,以方便學生理解和鞏固所學知識,并最終編寫出一套簡單的分子動力學程序,從而實現(xiàn)計算凝聚態(tài)物理的入門. 這部分內容結合前面講過的數(shù)值方法進行講解,例如,采用有限差分的方法如Verlet算法、速度Verlet算法和蛙跳算法等求解牛頓運動方程得到系統(tǒng)內粒子的位置和速度,讓同學能夠更加深刻地理解如何采用數(shù)值方法對物理問題進行模型構建和具體求解.
初始狀態(tài)下Ne原子位置分布俯視圖; 能量弛豫后達到極小值狀態(tài)下Ne原子位置分布俯視圖圖3
例四:以惰性氣體Ne原子為例,此算例將三維模擬體系中所有的Ne原子偏離其平衡位置一定距離,采用簡單的蘭納-瓊斯勢函數(shù)描述Ne原子之間的相互作用,然后利用最速下降法將體系的能量弛豫到極小值狀態(tài),最終得到Ne原子穩(wěn)定的結構.通過此算例,使學生感悟勢函數(shù)對于描述原子之間相互作用的重要性,并通過具體的程序編寫實現(xiàn)簡單體系的計算結果,加深學生對于原子間相互作用勢和能量弛豫這兩部分知識點的認識.
計算核物理平行課程內容從基本的射線與物質的相互作用出發(fā),不僅探討了原子核結構與強子結構等少體問題,而且講授了低溫和高溫核物質性質等多體問題. 課程以各研究分支的經典算法為線索,涵蓋了核物理領域從低能、中能到高能等多個前沿分支的計算方法,其中包括蒙特卡洛模擬、少體及多體算法、數(shù)值輸運理論等三個部分. 核輻射測量中的蒙特卡洛模擬從基礎的隨機數(shù)抽樣算法出發(fā)(見例五),介紹了用數(shù)值方法模擬射線與物質相互作用過程的物理原理和算法設計思路. 在此基礎上,課程介紹了目前核物理研究中常用的核輻射探測器模擬程序包——GEANT4的使用方法,通過生動的計算實例和充分的課堂/課后上機操作使學生鞏固了理論基礎和算法知識. 與射線散射問題不同,核物理的少體算法涉及的是核物理束縛態(tài)問題的求解.該部分以簡單的核結構和強子結構為實例,重點介紹了波函數(shù)/密度和束縛態(tài)能級的數(shù)值解法. 核物理多體問題部分將視角從追蹤少量粒子運動狀態(tài)切換到多體統(tǒng)計分布演化上來,以典型的低溫核物質——中子星和高溫核物質——夸克膠子等離子體為實例,介紹了用統(tǒng)計力學和玻耳茲曼方程來求解多體分布演化的數(shù)值算法. 該部分內容是對前面數(shù)值算法的進階應用,需要學生靈活使用所學方法來求解相應系統(tǒng)的微分-積分方程. 通過該部分的講授和練習,學生熟悉并掌握了隨機采樣算法、蒙特卡洛積分和采樣方法以及對常見的邊界條件的數(shù)值處理方法.
例五:裂變中子能量小于15MeV,初始能量為E0的中子在質量數(shù)為A的原子核上發(fā)生一次彈性碰撞后的中子能量取值范圍和能量分布概率(能譜)為
(6)
當碰撞次數(shù)達到幾十次甚至更高時,解析變得非常困難,需要借助蒙特卡洛方法處理. 圖4(a)是通過解析和蒙特卡洛方法分別得到的1 MeV中子在12C上彈性碰撞10次后的能譜分布,兩者吻合得很好,說明方法的可靠性. 圖4(b)是利用蒙特卡洛方法模擬1MeV中子在12C上彈性碰撞110次后的能譜分布. 可以看到,經過110次碰撞中子的最可幾能量已降至0.012 5 eV,對應于室溫下中子的熱運動能量.通過該例,使學生了解到中子慢化的物理背景與機制,掌握如何利用蒙特卡洛方法解決實際問題的基本技巧,加深了對快中子慢化達到熱平衡狀態(tài)時其能量服從麥克斯韋-玻耳茲曼分布的物理認識.
1 MeV中子在12C上彈性碰撞10次后的能譜分布; 蒙特卡洛方法模擬1 MeV中子在12C上彈性碰撞110次后的能譜分布與室溫(T=20℃)下麥克斯韋-玻耳茲曼分布圖4
在掌握了以上必要知識的基礎上,結合學科前沿,講授計算物理的最新進展,有助于研究生將來進入課題組開展科研工作. 前沿應用部分邀請學院和校內外涉及計算物理方向的教師進行專題講授.如邀請學院內教師講授拓撲絕緣體、軟物質、等離子體湍流、中子星的研究等最新的計算工作與綜述.同時發(fā)揮我校學科優(yōu)勢,將工程技術和航空航天方向中涉及的計算物理知識融入前沿應用課程,邀請航空學院教師講授飛行器運動學、空氣動力學及軌道動力學方面的物理和數(shù)學模型及應用的相關數(shù)值方法,邀請動力學院與計算機學院教師講授計算流體力學、人工智能、大數(shù)據(jù)和高性能計算在航空航天領域的應用趨勢和未來發(fā)展. 航空航天領域對計算資源的穩(wěn)定性、效率和安全性都有很高的要求. 近年來隨著量子計算技術的不斷突破,有望解決航空航天領域相關的一些物理學最困難和復雜的問題,讓學生能夠了解到最前沿和實用的計算物理知識,培養(yǎng)學生不斷探索新領域的能力.
教學方式采用了課堂教學、上機實踐和課后作業(yè)三個環(huán)節(jié). 上機實踐是計算物理課程非常重要的一個部分,為提高研究生的編程能力,設立了由四名高年級同學組成的助教小組,課程結束后半個小時為程序指導課,同學自愿參加,可以很好地照顧基礎比較弱的同學,同時也給基礎好的同學很大的提升空間,夯實了課程實踐這個環(huán)節(jié). 課后作業(yè)是鞏固課堂知識非常重要的一環(huán),針對每個知識點,都會給出小的課題進行程序練習,難度可以選擇,滿足不同學習能力同學的要求. 在研究生課堂教學中根據(jù)教學內容使用了“翻轉課堂”的授課形式,學生在“翻轉課堂”中更準確地發(fā)現(xiàn)學習內容中的難點,從而能夠在教師的幫助下更深刻的理解教學內容,取得了很好的效果.
為了能夠更深入實施研究生課程教學改革,我們根據(jù)課程內容建設了一支由12人組成的課程團隊,主要由學院內計算物理方向的中青年教師組成,包括八名國家級人才. 教師隊伍主要研究方向為計算凝聚態(tài)物理、計算核物理與計算等離子體物理方向.任課教師根據(jù)自身的研究背景,講授相關的計算物理課程,科教融合,極大提升了課程的質量.
在保持典型的“平時作業(yè)+試卷考試”評價體系的基礎上,引入過程化的考核評定內容. 如通過課程日志等方式記錄在教學過程中對授課內容有獨到見解或提出優(yōu)秀問題的學生等. 根據(jù)線下/線上授課的特點,加入一定比例的隨堂測驗或線上測驗內容,從而了解學生對基礎知識的掌握情況,也方便在之后的教學中對不同教學模式下的教學內容進行調整. 設置一系列具有挑戰(zhàn)性的開放性課題,如根據(jù)課堂上講授的牛頓法求解非線性方程,拓展到采用牛頓法求解非線性方程組,對完成質量較好的學生進行適當加分.
總之,我們從教學內容、教學方式和考核體系上進行了新的改革,課程不僅注重基礎知識的拓寬和深入,更注重獨立思考能力和創(chuàng)新能力的培養(yǎng).
綜上所述,我們根據(jù)計算物理課程的學科特點以及從本科生和研究生設置的不同培養(yǎng)目標出發(fā),對本科生和研究生課程協(xié)同建設,并從教學內容、教學方法和考核體系三個方面進行了統(tǒng)一規(guī)劃. 本科生課程定位于掌握計算物理的基礎理論知識及其思想、流程以及解決物理問題的案例實踐;研究生課程定位于介紹計算物理堅實的專業(yè)基礎和寬廣的知識結構,突出內容的專業(yè)性和前沿性,重視計算物理的實踐能力進而培養(yǎng)學生獨立從事科研工作的能力. 本科生課程實施“小班化”教學,研究生課程設置“二級學科平行課”,調動了學生學習的積極性,提高了教學質量. 研究生和本科生課程協(xié)同建設,使得計算物理課程在內容、結構和方式上具有連續(xù)性和統(tǒng)一性.