馬 軍
(中國藥科大學(xué),江蘇 南京 210093)
在工科普通物理的教學(xué)中,經(jīng)典模型占據(jù)著及其重要的地位[1]。通過一個典型模型教會學(xué)生如何分析,如何求解;并從模型的演化過程中掌握其中有關(guān)的物理知識、概念和規(guī)律,最終達(dá)到舉一反三的效果。但是有相當(dāng)多的模型,其求解的數(shù)學(xué)過程比較復(fù)雜,有的甚至超出了大學(xué)一年級學(xué)生所學(xué)的數(shù)學(xué)內(nèi)容,這就給教學(xué)帶來了一定的困難。隨著計算機(jī)的普及和計算機(jī)技術(shù)的發(fā)展,可以利用計算機(jī)對物理問題進(jìn)行仿真,從而使學(xué)生對某一模型有形象直觀的了解,這樣有助于物理內(nèi)容的教學(xué)。
SystemModeler是Wolfram公司出品的物理建模與仿真軟件,并且能夠與Mathematica完美的連接,以實(shí)現(xiàn)集建模、仿真和分析為一體的集成化工作流程。SystemModeler是基于組件的拖放進(jìn)行設(shè)計的,因此用其建模時只需用拖放操作即可,并用連線工具把組件鏈接起來表示物理連接,非常的方便和直觀。在現(xiàn)實(shí)世界中,系統(tǒng)很少局限在某一個單一的領(lǐng)域,而往往涉及到眾多領(lǐng)域,比如機(jī)械、電子和熱力學(xué),甚至還可能有生物的生化過程,SystemModeler可以實(shí)現(xiàn)跨領(lǐng)域建模。
SystemModeler可包含來自任何領(lǐng)域的互相連接的組件的任何組合,這樣在仿真時,可以更貼近現(xiàn)實(shí)情況,有助于發(fā)現(xiàn)一些重要的效應(yīng)。SystemModeler內(nèi)置了大量的標(biāo)準(zhǔn)模型庫有:生化途徑、電氣、電磁、機(jī)械、信號模塊等,這樣對于一般的系統(tǒng)仿真可以用內(nèi)置模塊快速的完成。而且SystemModeler可以實(shí)現(xiàn)可視化的3D動畫,比如機(jī)械組件可以在模擬結(jié)束時快速生成3D動畫。對于標(biāo)準(zhǔn)庫中沒有的模型,由于SystemModeler完全支持Modelica標(biāo)準(zhǔn)建模語言,所以可以用其進(jìn)行建模,并且新建的模型可以和標(biāo)準(zhǔn)庫一樣反復(fù)使用;另外還可以利用第三方開發(fā)的用于專門領(lǐng)域的Modelica庫。
相對于其他的仿真軟件,SystemModeler有她的優(yōu)點(diǎn)。首先,相對于MapleSim和Simulink而言[2-4],SystemModeler在建模方式、內(nèi)置模型庫的數(shù)量、仿真求解的方式和可視化的實(shí)現(xiàn)等方面都更勝一籌;其次,在工作流程方面而言,SystemModeler執(zhí)行的 Modelica語言,利用其基于組件建模的優(yōu)勢,對組件中的流程進(jìn)行建模。這比與基于模塊的建模方法相比更加方便和快捷;最后,SystemModeler可以充分的發(fā)揮出Modelica的優(yōu)勢,Modelica是一個專門為物理系統(tǒng)建模而設(shè)計的開放式標(biāo)準(zhǔn)語言[5-6]。它允許個人和團(tuán)體有效協(xié)作,完成大型項目,并建立可重用的自定義組件和庫。關(guān)于SystemModelica和Modelica的進(jìn)一步介紹可以參考相關(guān)網(wǎng)站[7-9]。下面將通過兩個例子來介紹SystemModeler的用法。
如圖1所示的RLC串聯(lián)電路,當(dāng)開關(guān)撥到1或2位置時是電路充電或放電的暫態(tài)過程,要了解這個過程中的電流或者電容上的電壓變化需要解如下的二階線性非其次方程,其中q是電容上的電量。
圖1 RLC串聯(lián)電路
不解方程(1),定性的可以得到只要時間足夠的長,電容兩端的電壓必然是ε,但是如果用SystemModeleler,則可以快速的模擬得到電路暫態(tài)過程的特點(diǎn)。打開SystemModeler軟件,在軟件界面左側(cè)的Class窗口中,把所需要的組建從Library中拖到Component窗口中,然后利用連接線工具把各個組件連接起來;選擇不同的組件,在Parameter選項卡中設(shè)置各自的參數(shù),最后得到如圖2所示的情況。點(diǎn)擊工具欄上的Simulation Center按鈕,打開Simulation Center,在Experi ment Browser窗口中有parameter選項卡可以設(shè)置每次實(shí)驗時的參數(shù),plot選項卡中可以選擇對哪些參數(shù)進(jìn)行繪圖。我們可以先假定L=1H,C=1F,然后改變電阻R,來考察電容兩端的電壓隨著時間是如何變化的,分別做四次實(shí)驗電阻R分別取0Ω、2Ω、20Ω和0.2Ω,仿真時間設(shè)為50s,最終可以得到如圖3所示的電容兩端電壓隨時間的變化。從圖3中可以看出,對于R=0Ω時,電路是無阻尼的自由震蕩;R=0.2Ω時,是阻尼振蕩。當(dāng)然除了改變電阻外,我們可以改變電感L和電容C,可以做相應(yīng)的實(shí)驗,方法類似。
圖2 RLC串聯(lián)電路的仿真
圖3 電容兩端的電壓
如果說上述RLC電路的模擬沒有充分體現(xiàn)出SystemModeler的優(yōu)勢,下面這個機(jī)械系統(tǒng)的仿真可以體現(xiàn)其優(yōu)勢。如圖4所示的實(shí)際機(jī)械系統(tǒng),長度為L1和L2的細(xì)桿兩端有兩個質(zhì)量分別為m1和m2的小球,兩小球用原長為l勁度系數(shù)k的彈簧連接起來,兩個單擺的距離為L=1m。其中細(xì)桿和彈簧不計質(zhì)量的。
圖4 耦合擺
根據(jù)實(shí)際的物理系統(tǒng),從Mechanics庫中選擇所需要需得組件,建立仿真模型,如圖5所示。其中bodyCylinder的轉(zhuǎn)動慣量設(shè)為0;badyShape的質(zhì)量設(shè)為1Kg和2Kg;阻尼器damp的阻尼常數(shù)設(shè)為1N·m·s/rad;彈簧的勁度系數(shù)為20N/m,原長為2m,彈簧質(zhì)量為零。
圖5 耦合擺的仿真模型
打開Simulation Center,在模擬開始前在variables選項卡中設(shè)置初始條件,如同4所示;settings選項卡中設(shè)置仿真的時間為15s。點(diǎn)擊工具欄上的仿真按鈕系統(tǒng)就開始仿真計算,仿真結(jié)果除了用plotting選項卡來作兩個單擺的擺角隨時間的變化外,還可把仿真數(shù)據(jù)導(dǎo)出為Excel或matlab等文件,再利用第三方軟件作圖。把耦合擺的仿真數(shù)據(jù)導(dǎo)出到Excel中,然后用origin軟件作出圖6。
如圖6中所示,圖6(A)和圖6(C)是兩個單擺角速度隨時間的變化;而圖6(B)和圖6(D)是單擺的角位移隨時間的變化,很明顯單個擺不再是做簡諧振動。這顯然要比解這這個耦合擺的動力學(xué)方要方便很多。另外點(diǎn)擊simulation Center工具欄上的動畫按鈕可以快速生成這個模型運(yùn)動的動畫,圖7(A)和圖7(B)所示的是在0秒和5.97秒的情況。如果想使模型更接近實(shí)際,可以加上轉(zhuǎn)軸的摩擦、細(xì)桿的質(zhì)量和彈簧的質(zhì)量等。
圖6 角位移和角速度
圖7 耦合擺動畫5.97秒視圖
以上兩個例子簡要說明如何利用System-Modeler建模仿真,說明SystemModeler使用起來是方便和可靠的。利用SystemModeler還可以做靈敏度分析,以及其與mathematica結(jié)合使用,具體內(nèi)容可以參考Wolfram網(wǎng)站。在此感謝Wolfram公司提供的SystemModeler的試用。
[1]李元杰,湯正新.現(xiàn)代數(shù)值計算,模擬技術(shù)與力學(xué)典型模型教學(xué)[J].大學(xué)物理,2002,21(10):35-39.
[2]何正大,許玫,楊訪.用 MapleSim進(jìn)行多領(lǐng)域混合建模仿真分析[J].電腦知識與技術(shù),2009,36(5):1030-1030.
[3]吳波,楊秀德.RLC暫態(tài)電路的理論分析和數(shù)值模擬[J].物理與工程,2010(1):32-34.
[4]羅志娟,劉敏,易圖林,等.基于 MATLAB的RC串聯(lián)電路暫態(tài)過程仿真[J].大學(xué)物理實(shí)驗,2012(4):33.
[5]曹學(xué)余,湯炳新,郭瑞國.利用Modelica實(shí)現(xiàn)磁懸浮球系統(tǒng)的建模與仿真[J].河海大學(xué)常州分校學(xué)報,2005,19(2):42-45.
[6]王瑗,楊文明,余建波,等.應(yīng)用 Modelica語言對虛擬物理實(shí)驗建模與仿真[J].實(shí)驗室研究與探索,2010,10:82.
[7]Wolfram Research Co.Ltd.[EB/OL]www.wolfram.com.
[8]Modelica and the Modelica Association[EB/OL]www.modelica.org.
[9]郎豐饒.交通事故中汽車速度分析物理模型的研究[J].2011(4):42-43.