李曉莉 張建飛
(河北大學物理科學與技術學院 河北 保定 071002)
由于計算機技術的飛速發展,科學計算已經成為新的科研手段.科學計算能力是信息時代理工科院校學生必備素質之一,搞好科學計算教育刻不容緩.為了使我校物理學院學生更好地掌握科學計算的主要方法與技術,為今后的實際應用和深入研究打下良好基礎,近10年我院在本科階段開設了計算物理基礎課,并要求任課教師不斷探索新的教學方法,在教學實踐中不斷對教學方法進行完善和提高.
計算物理學是運用許多基礎數學理論(如偏微分方程理論、線性代數、非線性規劃等)和先進的計算技術(如性能優良的計算機和優秀的數值計算軟件)對物理學研究前沿的挑戰性問題進行大規模數值模擬和分析的學科[1~3].計算物理學的發展對統計物理、核物理、高能物理、粒子物理、生物物理、凝聚態物理、地球物理、大氣物理等學科的研究與發展起著重要的推動作用;同時,計算物理學的發展也帶動了光學、力學、電磁學等基礎學科的教學及實驗的發展;另外,計算物理學在各種工程項目中得到了廣泛應用,并為其他相關技術(如圖像處理技術和通信技術)的發展奠定了基礎.
然而,傳統計算物理教學模式存在許多問題,主要是課程內容多而教學課時少,很難做到在有限的學時內使學生對數值計算的基本方法和基本原理有深刻了解和認識;另外,傳統的計算物理教學模式只重視對數值計算方法和原理的講解,強調理論上的高度抽象性與嚴密邏輯性,而忽視應用的廣泛性和高度技術性,涉及內容多為繁雜的數學推導,易使學生產生厭學情緒,不容易收到良好的教學效果.因此,我們結合本校物理學院的實際情況,對計算物理的教學內容和教學方法實施了一系列改革措施,其中將計算物理與MATLAB軟件相結合的教學方法有效地改變了當前的困境,提高了學生學習積極性,明顯改善了教學效果.我們對計算物理的教學內容和教學方法實施的改革措施主要包括以下幾個方面.
(1)介紹計算物理學的發展歷史,告訴學生學習計算物理的必要性;介紹計算物理學在凝聚態物理等科研領域的應用而取得的科研成果,激發學生學習本門課的興趣.簡單介紹物理學領域最具有代表性的三類數值計算方法——分子動力學方法、蒙特卡羅方法和基于第一性原理的能帶計算方法,為學生后續的研究生階段的學習打下良好基礎.
(2)通過實例告訴學生本門課中的每一個計算模型都有它的工程背景,每一種算法都直接或間接與工程應用相關,并為其他相關技術(如圖像處理技術和通信技術)的發展奠定了基礎.
(3)向學生介紹本門課的課程體系,使學生明確算法的精度、計算復雜性、數值穩定性以及誤差分析是本門課研究的基本問題.通過計算物理課程教會學生一種全新的思維方式,使學生認識到遇到一個數學問題,不能解析求解并不意味著走入絕境;我們可利用已有的數學知識去近似、簡化原來的問題,獲得原來問題的近似解.
以往的計算物理授課方式一直采用多年延續下來的黑板加粉筆方式,通過在黑板上進行大篇幅公式推導的方式講解計算方法和原理,沒有與計算機相結合.但是,計算物理是一門理論與實際結合緊密的課程,僅采用傳統方式教學,學生很難體會到課程的實用性.改革后的課堂教學創建并完善了教學演示程序,充分利用MATLAB軟件的可視化教學突出講授典型的、具有代表性的計算方法和理論,將與教學內容相關的物理問題通過教學演示程序進行演示和計算,達到了比較好的教學效果.
(1)在教學內容的組織和設計上,首先,針對每一個主題講解算法的背景、目的和算法設計的出發點,并通過對實際應用的描述,體現算法的價值和意義,激發學生的學習欲望.例如,本科物理基礎教學中學過的帶電粒子在電磁場中的運動軌跡問題,其數學模型為常微分方程,可通過教學演示程序輸入不同的電場強度和磁場強度的值,輕松計算并畫出粒子運動的軌跡.學生了解了實際應用背景后就會對常微分方程的數值計算方法更感興趣.這樣的啟發式加互動式教學,促進了學生深入掌握電磁場理論和常微分方程的數值求解過程.
其次,詳細介紹相關章節的各種算法之間的區別與聯系,啟發學生進行獨立思考,分析每種算法的適用前提和優缺點,驗證和改進已有的算法.
最后,提出幾個具體的物理問題,啟發學生借助MATLAB軟件去自行解決.
(2)在教學環節上,利用計算機多媒體技術將MATLAB的教學演示程序引進課堂,與傳統教學方式優勢互補,將抽象的數學知識直觀地呈現在學生面前,激發了學生的學習興趣,提高了教學效果.例如,用變步長梯形求積法求解復雜積分問題,通過教學演示程序,可以動態地演示近似解的逐漸精確化過程,使學生更好地理解變步長梯形求積法的收斂性與收斂速度問題.又如,為了突出分段低次插值的實用性,可以通過教學演示程序形象直觀地展示高次插值的龍格現象,使學生深刻理解高次多項式插值的病態問題.
通過設置上機實踐教學,提高了學生解決實際問題的能力,對培養具有科學計算能力的創新人才起到了關鍵作用.
(1)在搞好課堂教學的同時,我們增加了上機實驗課.為保證上機質量,在每次上機之前均布置上機作業,并要求學生按上機目的、算法原理、源程序、計算結果及結果分析寫出上機報告.例如,通過數值積分運算求解某溫度下氫分子的麥克斯韋速率分布,利用最小二乘法處理物理實驗數據,利用常微分方程數值運算求解質點的運動軌跡.
(2)我們針對本門課程的實用特點,增開了相應的課程設計課.在計算物理的授課結束以后,我們鼓勵對本門課感興趣、富有創新精神和具有較強計算編程能力的同學選修與本門課相關的課程設計課.此時,學生可以自主選題,針對自己感興趣的某一物理問題或物理現象建立數學模型,自己動手設計算法、編寫程序、上機調試以及對最終結果做數值分析.目前已經有學生利用MATLAB軟件對光學課程中的干涉和衍射現象實現了圖像再現,還有同學利用MATLAB編程對量子力學課程中一些特殊勢場(諸如一維線性諧振子)的波函數及位置幾率密度進行了計算,并完成了圖形繪制.實踐證明,課程設計課調動了學生的學習積極性,培養了學生運用學過的知識解決基本物理問題的能力.這種方式變被動灌輸為主動參與,激發了學生的學習熱情,有利于發揮其主觀能動性,同時也提高了動手能力.
(3)我校物理學院擁有眾多從事前沿領域科研工作的教師,可以帶領一些學習優秀、學有余力的本科生參加相關科研活動,利用課上所學知識進行實際操作.目前已經有本科生直接參與了教師的科研工作,例如有部分同學協助教師對非線性光學中的電磁誘導透明現象和半導體物理中的載流子輸運問題進行了計算分析,提高了自身素質和創新能力.
參考文獻
1 倪軍,劉華.計算物理前沿及其與計算技術的交叉.物理,2002,31(7):461~465
2 馬文淦.計算物理學.北京:科學出版社,2005
3 (法)費朗克斯,等著.數學物理學百科全書(6)——凝聚態物質與光學;量子信息與量子計算;量子力學.北京:科學出版社,2008