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