□ 呂國才 李 曄 艾冬梅 李艷晴
黨的十八大正式將“創(chuàng)新驅(qū)動”上升為國家戰(zhàn)略之后,李克強總理2015年更是倡導(dǎo)要“大眾創(chuàng)業(yè),萬眾創(chuàng)新”。那么,如何實施好創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略、激發(fā)全社會的創(chuàng)新活力、培育經(jīng)濟社會發(fā)展的新動力呢?實際上,高等院校開設(shè)的實驗教學(xué)就是一門很好的激發(fā)學(xué)生想象力和創(chuàng)造力的課程,然而由于開設(shè)的實驗多以基礎(chǔ)性和驗證性實驗居多,綜合性實驗和創(chuàng)新實驗較少,使得實驗教學(xué)沒能完全發(fā)揮激發(fā)學(xué)生創(chuàng)新能力的作用。以數(shù)學(xué)實驗課為例,近年來,我國許多高等院校都已開設(shè)了《數(shù)學(xué)實驗》課程,并編寫了相應(yīng)教材[1~4]。然而,許多高校《數(shù)學(xué)實驗》教學(xué)多停留在使用MATLAB等數(shù)學(xué)軟件,進行一些簡單的驗證性實驗上。這些教學(xué)內(nèi)容對熟悉軟件,初步掌握數(shù)學(xué)建模的基本方法是有意義的,但是在培養(yǎng)學(xué)生創(chuàng)新能力,提高學(xué)生的綜合素質(zhì)方面還很不夠。因此,需要將現(xiàn)有的數(shù)學(xué)實驗教學(xué)提高一個層次[5~7]。將科學(xué)研究中一些簡單、有趣的問題移植到創(chuàng)新實驗教學(xué)中,有利于調(diào)動學(xué)生學(xué)習(xí)的主動性和積極性,激發(fā)學(xué)生的研究熱情,培養(yǎng)學(xué)生創(chuàng)新精神和創(chuàng)新意識。本文精心設(shè)計將分子模擬中結(jié)構(gòu)優(yōu)化的科學(xué)研究問題轉(zhuǎn)化為一個創(chuàng)新實驗教學(xué)實驗項目。
隨著計算機技術(shù)和數(shù)值計算方法的不斷發(fā)展,利用計算機模擬技術(shù)研究分子的性質(zhì)已得到廣泛的應(yīng)用。在模擬的過程中,首先要建立初始模型,由于初始模型的構(gòu)建通常是靠大量的實測數(shù)據(jù)的平均值,所以構(gòu)建出的初始模型不是分子的穩(wěn)定結(jié)構(gòu)。因此要應(yīng)用最優(yōu)化方法對初始模型進行結(jié)構(gòu)優(yōu)化。這一問題從數(shù)學(xué)模型建立、求解及最后的結(jié)果分析都不是很復(fù)雜,可以應(yīng)用到數(shù)學(xué)實驗中。數(shù)學(xué)實驗中常用的最優(yōu)化方法有單純形法、最速下降法、共軛梯度法和牛頓-拉森方法等[8,9]。共軛梯度法因其存儲小,收斂性好等優(yōu)點可以用來解決結(jié)構(gòu)優(yōu)化問題。
(一)實驗?zāi)康?。理解共軛梯度?yōu)化方法的基本原理及其優(yōu)化特點。
(二)實驗要求。掌握共軛梯度方法編程技巧,并能對分子模擬初始模型進行優(yōu)化。
圖1 Fe原子在三維空間的初始結(jié)構(gòu)
共軛梯度法是1952年Hesteness和Stiefel為求解線性方程組提出的,后來用于求解無約束極值問題[10]。它是一種重要的優(yōu)化方法。共軛梯度法的基本思想是把最速下降法與二次函數(shù)共軛方向結(jié)合起來,利用已知位置處的梯度構(gòu)造一組共軛的方向,并沿著這一組方向進行一維搜索,求出目標(biāo)函數(shù)的極小點。
(一)共軛方向的構(gòu)造。共軛方向可依據(jù)Gram-Schmidt正交化方法來構(gòu)造。設(shè)Q是n×n階對稱正定矩陣,g0為任意向量。定義向量序列{gi}和{pi}如下:
取
可使集合{gi}相互正交,集合{pi}是相互Q共軛的。
(二)共軛梯度方法。由式(1)和(2)構(gòu)成的向量集{pi}是相互Q共軛的,{gi}是相互正交的。當(dāng)令gi=-△f(xi)時,以下求極值的算法稱為共軛梯度法。
初始值取 x0,p0=g0,= -△f(x0),其中,gκ為 κ點處函數(shù)△f(x)的梯度,共軛方向為從κ點開始維搜索的方向。
第一,應(yīng)用MATLAB軟件構(gòu)筑Fe原子在三維空間的初始模型,如圖1所示。構(gòu)筑的x,y和z方向分別沿、和三個晶體學(xué)方向??臻g點陣大小為10×10×10a0(a0為晶格常數(shù),初始結(jié)構(gòu)的晶常數(shù)取3.0)。
第二,應(yīng)用MATLAB軟件編程實現(xiàn)共軛梯度算法。
第三,用第二步中實現(xiàn)的共軛梯度算法對第一步中構(gòu)筑的Fe原子初始模型進行結(jié)構(gòu)優(yōu)化。
第四,實驗數(shù)據(jù)處理與分析。
圖2 Fe原子能量與晶格常數(shù)間的變化關(guān)系
圖2給出的是應(yīng)用共軛梯算對Fe原子初始結(jié)構(gòu)進行結(jié)構(gòu)優(yōu)化過程中Fe原子的能量與晶格常數(shù)間的變化關(guān)系,其中方塊表示能量的數(shù)據(jù)點,黑色的實線是擬合的曲線。由擬合曲線得到Fe原子的能量在晶常數(shù)為2.855時達到最小。因此晶格常數(shù)為3.0時的初始結(jié)構(gòu)并不是穩(wěn)定結(jié)構(gòu)。體系處于穩(wěn)定結(jié)構(gòu)時的晶格常數(shù)應(yīng)該是2.855。
通過上述實驗:可以使學(xué)生了解共軛梯度方法的基本原理,掌握應(yīng)用MATLAB編程的技巧,對于分子模擬結(jié)構(gòu)優(yōu)化的科學(xué)研究問題也有了初步的認識,為學(xué)生以后從事科學(xué)研究和生產(chǎn)活動打下一定的基礎(chǔ)。同時通過該實驗的實施可將自主創(chuàng)新的科學(xué)理念融入到學(xué)生的日常學(xué)習(xí)和實驗中,激發(fā)學(xué)生探索科學(xué)問題的熱情,培養(yǎng)學(xué)生的創(chuàng)新意識。
[1]姜啟源,謝金星,邢文訓(xùn).大學(xué)數(shù)學(xué)實驗[M].北京:清華大學(xué)出版社,2005
[2]艾冬梅,李艷晴,張麗靜.MATLAB與數(shù)學(xué)實驗[M].北京:機械工業(yè)出版社,2014
[3]李秀珍,龐常詞.?dāng)?shù)學(xué)實驗[M].北京:機械工業(yè)出版社,2008
[4]王向東,戎海武,文翰.?dāng)?shù)學(xué)實驗[M].北京:高等教育出版社,2004
[5]李繼成,朱旭,王綿森,武忠祥.《數(shù)學(xué)實驗》課程建設(shè)及分層次教學(xué)與實踐[J].大學(xué)數(shù)學(xué),2005,21(6):29~31
[6]周錦蘭,王宏,聶進.多層次大學(xué)生創(chuàng)新實驗平臺的構(gòu)建與實踐[J].實驗技術(shù)與管理,2011,28(4):16 ~21
[7]趙冰,阮曉青.新形勢下高等數(shù)學(xué)分級教學(xué)模式的探索[J].高等數(shù)學(xué)研究,2010,13(5):7 ~9
[8]陳正隆,徐為人,湯立達.分子模擬的理論與實踐[M].北京:化學(xué)工業(yè)出版社,2007
[9]陳敏伯.計算化學(xué)-從理論化學(xué)到分子模擬[M].北京:科學(xué)出版社,2009
[10]程極泰.最優(yōu)設(shè)計的數(shù)學(xué)方法[M].北京:國防工業(yè)出版社,1981,11