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