姚文莉,李貞靖,李 凱
(青島理工大學(xué) 理學(xué)院,山東 青島 266520)
理論力學(xué)是學(xué)生接觸工程實(shí)際問(wèn)題的第一門(mén)力學(xué)基礎(chǔ)課,是建筑工程、機(jī)械工程、航空航天等專(zhuān)業(yè)的力學(xué)理論基礎(chǔ),其重要性不言而喻。理論力學(xué)的理論體系嚴(yán)謹(jǐn),邏輯性很強(qiáng),解決問(wèn)題的方法靈活多樣,而目前的理論力學(xué)課堂教學(xué)主要側(cè)重于瞬時(shí)解而非運(yùn)動(dòng)過(guò)程的整體解,因此無(wú)法對(duì)力學(xué)模型進(jìn)行運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)的多視角的深入分析,從而使得該課程成為尚未建立起工程概念的低年級(jí)學(xué)生十分頭疼的一門(mén)課程[1-3]。筆者引入計(jì)算機(jī)輔助教學(xué),利用Simulink的功能,使學(xué)生通過(guò)基本的力學(xué)原理和方法,編制簡(jiǎn)單的M文件,通過(guò)運(yùn)行程序,看到整個(gè)過(guò)程而非瞬時(shí)的運(yùn)動(dòng)規(guī)律,可以加深學(xué)生對(duì)模型的理解,提高學(xué)習(xí)的積極性,從而更好地掌握理論力學(xué)的課程知識(shí),培養(yǎng)力學(xué)思維。
Simulink是MATLAB最重要的組件之一,用來(lái)提供一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的工作平臺(tái),能夠描述線性系統(tǒng)、非線性系統(tǒng),并可以對(duì)連續(xù)系統(tǒng)、離散系統(tǒng)或者混合系統(tǒng)建模和仿真,仿真的結(jié)果以數(shù)值和圖像等形象化方式具現(xiàn)出來(lái)[4]。MATLAB自身所帶的所有應(yīng)用工具箱,同樣適用于Simulink。雖然Simulink沒(méi)有單獨(dú)的語(yǔ)言,但是它提供了S-函數(shù)。S-函數(shù)可以是一個(gè)M文件、C語(yǔ)言或C++語(yǔ)言程序等。S-函數(shù)使Simulink更加充實(shí),具有更強(qiáng)大的處理能力[5]。通過(guò)M文件可以建立運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)的MATLAB方程函數(shù),簡(jiǎn)化理論力學(xué)中的數(shù)值計(jì)算。隨著研究問(wèn)題的深入,模型會(huì)越來(lái)越復(fù)雜,傳統(tǒng)的數(shù)學(xué)求解已經(jīng)不能滿(mǎn)足工程的需要,掌握Simulink動(dòng)力學(xué)仿真分析軟件對(duì)工科學(xué)生是十分必要的。理論力學(xué)為Simulink的應(yīng)用提供平臺(tái),同樣Simulink作為工具使理論力學(xué)更加生動(dòng)形象,兩者相輔相成可以共同提高教學(xué)質(zhì)量。下面以曲柄滑塊機(jī)構(gòu)為例進(jìn)行進(jìn)一步的說(shuō)明。
1.問(wèn)題描述及力學(xué)分析。曲柄連桿滑塊機(jī)構(gòu)如圖1所示,曲柄OA以勻角速度ω轉(zhuǎn)動(dòng),要求對(duì)該機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)的過(guò)程分析。對(duì)于運(yùn)動(dòng)學(xué)關(guān)系明確的前提下,求系統(tǒng)的受力,包括主動(dòng)力及約束力的問(wèn)題屬于已知運(yùn)動(dòng)求力的動(dòng)力學(xué)第一類(lèi)問(wèn)題,因此可以依據(jù)傳動(dòng)的方向,分別選取各個(gè)構(gòu)件為研究對(duì)象,進(jìn)行受力分析,列出平面運(yùn)動(dòng)微分方程。通過(guò)數(shù)值求解,得到主動(dòng)力矩及機(jī)構(gòu)間約束力與時(shí)間的變化關(guān)系。

圖1 曲柄滑塊機(jī)構(gòu)力學(xué)模型
2.建立Simulink仿真模型。依據(jù)第一類(lèi)動(dòng)力學(xué)問(wèn)題的求解思路,編寫(xiě)根據(jù)給定的曲柄OA的初始位置、角速度及機(jī)構(gòu)的幾何參數(shù)計(jì)算AB桿的角速度、質(zhì)心加速度、角加速度、滑塊B的速度及加速度的函數(shù)文件以及計(jì)算主動(dòng)力矩M1及各個(gè)約束力的力函數(shù)文件,分別命名為function[x]=jiaosudu(u),function x=jiaojiasudu(u)及function x=force(u)。Simulink仿真模型如圖2所示,把上述編寫(xiě)的M文件函數(shù)分別嵌入對(duì)應(yīng)的MATLAB FCU模塊中,并對(duì)輸入對(duì)應(yīng)的初始值,運(yùn)行仿真模型便可以得到各個(gè)運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)的仿真曲線。圖3中給出了鉸A處的約束力隨時(shí)間的變化關(guān)系。

圖2 曲柄滑塊機(jī)構(gòu)運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)Simulink仿真模型

圖3 機(jī)構(gòu)中約束力隨時(shí)間的變化
以曲柄滑塊機(jī)構(gòu)的運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)問(wèn)題為例,本文通過(guò)建立機(jī)構(gòu)的運(yùn)動(dòng)學(xué)方程、質(zhì)心加速度方程和剛體的平面運(yùn)動(dòng)微分方程,編寫(xiě)了Simulink所認(rèn)可的MATLAB函數(shù),建立Simulink對(duì)機(jī)構(gòu)的仿真模型,得到仿真結(jié)果,展示了將Simulink應(yīng)用于理論力學(xué)教學(xué)中的過(guò)程。上述過(guò)程也可由學(xué)生自己來(lái)實(shí)現(xiàn),使學(xué)生依據(jù)基本的力學(xué)原理和方法,編制簡(jiǎn)單的M文件,通過(guò)運(yùn)行程序,看到整個(gè)過(guò)程而非瞬時(shí)的運(yùn)動(dòng)規(guī)律,可以加深學(xué)生對(duì)模型的理解,提高學(xué)習(xí)的積極性,同時(shí)熟悉計(jì)算機(jī)動(dòng)力學(xué)軟件的編制過(guò)程,從而在掌握理論力學(xué)課程知識(shí)的同時(shí),提高計(jì)算機(jī)的應(yīng)用能力。