摘 要:汽車在恒定功率下的啟動問題一直是高中物理教學(xué)中的一個挑戰(zhàn)。在傳統(tǒng)的教學(xué)模式中,此類問題往往僅通過公式推導(dǎo)來處理,忽視了實際物理情境的建構(gòu),這不僅限制了學(xué)生的理解深度,也不利于綜合運(yùn)用不同章節(jié)的物理知識。采用Python的3D圖形庫VPython開展情境模擬,能夠生動展現(xiàn)汽車啟動過程中物理量的動態(tài)變化,有效促進(jìn)學(xué)生計算物理概念的掌握,增強(qiáng)問題解決技巧,并培育更為全面和深刻的科學(xué)觀念。
關(guān)鍵詞:汽車啟動方式;VPython;計算物理
中圖分類號:G633.7 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-6148(2024)7-0081-5
物理學(xué)作為工程技術(shù)類領(lǐng)域的基礎(chǔ)學(xué)科之一,與前沿科技和日常生活有著緊密的聯(lián)系。最新的高中物理課程標(biāo)準(zhǔn)提出,要提高學(xué)生基于真實情境的問題解決能力,以促進(jìn)學(xué)生核心素養(yǎng)的發(fā)展。近年來,計算機(jī)建模與模擬已成為發(fā)展學(xué)生核心素養(yǎng)的重要途徑。同時,建模過程往往涉及多個章節(jié)物理知識的融合、物理與數(shù)學(xué)知識的融合以及信息化技術(shù)的融合。因此,盡早讓高中生接觸計算機(jī)建模有助于拓寬學(xué)生的思維,形成學(xué)科融合的科學(xué)觀。
目前,有許多現(xiàn)成的軟件可以對動態(tài)運(yùn)動過程進(jìn)行虛擬3D建模,如GeoGebra,Matlab,ADAMS,CAD等。本文選用VPython工具,首先,Python作為最熱門的編程語言之一,在辦公、交互、單片機(jī)傳感器編程、實驗數(shù)據(jù)分析等方面有著廣泛的應(yīng)用,可選擇的現(xiàn)成素材眾多。其次,VPython是Python語言的3D可視化開發(fā)模塊,提供了大量現(xiàn)成的物理模型函數(shù),能夠滿足零基礎(chǔ)的師生進(jìn)行物理建模的需求。最后,作為一個較為成熟的編程工具,VPython在處理復(fù)雜結(jié)構(gòu)的建模時不易出現(xiàn)卡頓。因此,簡單易學(xué)的VPython是高中師生進(jìn)行編程仿真的有效工具?;诖?,對曲軸連桿活塞運(yùn)動進(jìn)行了建模,仿真分析了汽車在恒定功率下瞬時啟動過程中牽引力的變化情況,為物理情境化教學(xué)提供了教學(xué)參考。
1 汽車運(yùn)行功率問題的引入
在2022年廣東省高考物理試題中,有一道題目如下:如圖1所示,一輛裝載防疫物資的無人駕駛小車,在水平路段MN上以恒定功率200 W和速度5 m/s保持勻速行駛,而在斜坡PQ上則以恒定功率570 W和速度2 m/s勻速行進(jìn)。該小車總質(zhì)量為50 kg,MN與PQ的長度均為20 m,PQ段的傾斜角為30°,重力加速度g設(shè)定為10 m/s2,且不考慮空氣阻力的影響。以下選項中正確的是( )
A.在從M至N的行駛過程中,小車的牽引力為40 N
B.在從M至N的行駛過程中,小車克服摩擦力所做的功為800 J
C.在從P至Q的行駛過程中,小車的重力勢能增加了1×104 J
D.在從P至Q的行駛過程中,小車克服摩擦力所做的功為700 J
2022年廣東省高考物理題提出了一個關(guān)于汽車運(yùn)行功率的問題。根據(jù)功率公式P=Fv,汽車在水平路面勻速行駛時,牽引力等于阻力,大小為40 N;而在斜坡上勻速行駛時,牽引力為285 N。學(xué)生往往對汽車啟動和運(yùn)行的功率問題缺乏直觀的情境化理解。在教學(xué)過程中,教師應(yīng)鼓勵學(xué)生利用信息技術(shù)自主開展探究活動,從汽車發(fā)動機(jī)的工作原理出發(fā),深入理解汽車功率問題。
2 曲軸連桿發(fā)動機(jī)數(shù)學(xué)建模
傳統(tǒng)汽車的動力架構(gòu)主要由內(nèi)燃機(jī)、離合器、差速器等關(guān)鍵部件構(gòu)成。內(nèi)燃機(jī)輸出的動力經(jīng)過一系列傳動裝置,最終傳遞至車輪,實現(xiàn)汽車的驅(qū)動與運(yùn)動。為了讓學(xué)生更直觀地理解汽車啟動及運(yùn)行過程中發(fā)動機(jī)的工作原理,可以借助如圖2所示的簡化連桿結(jié)構(gòu)進(jìn)行模擬教學(xué)[1]。這種方法不僅揭示了復(fù)雜問題的簡化路徑,還指導(dǎo)學(xué)生如何運(yùn)用物理模型,將現(xiàn)實世界的問題轉(zhuǎn)化為易于分析和理解的形式。
在圖3所示的發(fā)動機(jī)結(jié)構(gòu)簡化圖中,當(dāng)車輪AO在活塞推力的作用下繞O點(diǎn)做勻速圓周運(yùn)動時,A點(diǎn)的坐標(biāo)可表示為
B點(diǎn)發(fā)動機(jī)活塞的運(yùn)動方程可表示為
或
在圖3所示的發(fā)動機(jī)結(jié)構(gòu)簡化圖中,通過分析活塞B的運(yùn)動,學(xué)生可以推導(dǎo)出其位移、速度和加速度關(guān)于角度的函數(shù)表達(dá)式。在此過程中,為了凸顯函數(shù)關(guān)系,假設(shè)無關(guān)物理量恒定為1。通過這些函數(shù)表達(dá)式,學(xué)生可以觀察到活塞B的速度和加速度在一個完整周期內(nèi)隨角度呈現(xiàn)出周期性的變化,如圖4所示。此外,教師可以運(yùn)用Python的繪圖功能,通過調(diào)用plot(x,y)函數(shù),根據(jù)這些函數(shù)關(guān)系繪制出活塞速度和加速度隨角度變化的圖像。Python的強(qiáng)大之處還在于它能繪制多種類型的圖表,如折線圖、散點(diǎn)圖等,這些都有助于直觀地進(jìn)行數(shù)據(jù)可視化分析。
在教學(xué)過程中,學(xué)生可能會意識到,汽車啟動過程的描述,如功率恒定而牽引力變化,實際上涉及到的物理過程相當(dāng)復(fù)雜。影響結(jié)果的變量往往不是單一的,而是多因素交織。例如,活塞的運(yùn)動與角速度和角度等因素密切相關(guān)。因此,教師可以引導(dǎo)學(xué)生識別主要矛盾和關(guān)鍵影響因素,對模型進(jìn)行適當(dāng)簡化和合理的近似處理。通過建模思想,可以將OA的運(yùn)動視為發(fā)動機(jī)作用下汽車車輪運(yùn)動的簡化:OA的勻速運(yùn)動象征著汽車的勻速行駛,而OA的加速運(yùn)動則代表了汽車的加速過程?;谶@一理解,學(xué)生可以進(jìn)一步選擇進(jìn)行更為復(fù)雜的建模分析。
3 利用VPython 3D模擬發(fā)動機(jī)活塞的運(yùn)動
在計算物理的研究方法中,三維(3D)模擬是驗證理論正確性的關(guān)鍵手段之一。接下來,將介紹如何使用VPython進(jìn)行代碼編輯。首先,VPython提供了豐富的模型和運(yùn)算庫,用戶可以通過導(dǎo)入語句“from vpython import *”輕松訪問這些資源。
步驟1:使用VPython的系統(tǒng)函數(shù),可以繪制出所需的球體、桿件、環(huán)形等基本模型,從而構(gòu)建出完整的汽車發(fā)動機(jī)模型。示例代碼如圖5所示。
步驟2:通過添加時間函數(shù),可以使汽車發(fā)動機(jī)模型動起來,展示其工作過程。代碼如圖6所示。
VPython可以清晰地模擬活塞的運(yùn)動情況,如圖7所示。圖7(a)展示了活塞的初始位置,在氣體膨脹產(chǎn)生的推力作用下,活塞被推動到圖7(b)所示的位置。連桿的運(yùn)動不僅帶動了活塞的移動,還促使了輪子旋轉(zhuǎn),從而模擬了整個發(fā)動機(jī)驅(qū)動汽車啟動的過程。這樣的模擬不僅展示了活塞的運(yùn)動,還生動地再現(xiàn)了發(fā)動機(jī)的工作原理,使得整個演示過程既形象又生動。
4 分析氣缸內(nèi)氣體燃燒產(chǎn)生的作用力對汽車運(yùn)行功率的影響
氣缸內(nèi)氣體膨脹產(chǎn)生的壓力是推動活塞向外運(yùn)動的關(guān)鍵因素,其作用效果的大小由力與作用時間的乘積決定。氣缸內(nèi)氣體膨脹產(chǎn)生的氣體壓力可以通過以下近似公式表示[3-4]
Fg=k(Pg-P0)S(8)
其中,k是比例系數(shù),Pg表示氣體膨脹產(chǎn)生的壓力,P0表示大氣壓力。
同時,活塞在連桿作用下會產(chǎn)生旋轉(zhuǎn)慣性力和往復(fù)慣性力。在此,忽略引起發(fā)動機(jī)振動的旋轉(zhuǎn)慣性力,僅考慮往復(fù)慣性力Fi。因此,發(fā)動機(jī)氣體膨脹產(chǎn)生的驅(qū)動力可以近似為
通過公式分析發(fā)現(xiàn),往復(fù)慣性力Fi是前一部分推導(dǎo)的ω的函數(shù),教師可以引導(dǎo)學(xué)生進(jìn)行深入邏輯思考。在汽車啟動過程中,假設(shè)氣缸內(nèi)單位時間內(nèi)消耗的燃油量保持不變,即發(fā)動機(jī)功率恒定。那么,氣缸內(nèi)氣體膨脹產(chǎn)生的氣體壓力就不變。當(dāng)ω變大時,往復(fù)慣性力Fi就會增大,導(dǎo)致驅(qū)動力F減小。此外,隨著汽車速度的提升,推力作用時間縮短,汽車的加速度也會相應(yīng)減小。通過這一建模過程,學(xué)生可以深刻理解實際物理過程的復(fù)雜性,并認(rèn)識到在處理復(fù)雜物理問題時,合理的近似和取舍是必要的,這對于形成正確的物理觀念和提升科學(xué)素養(yǎng)至關(guān)重要。
在VPython中,為汽車發(fā)動機(jī)加速的時間函數(shù)代碼如圖8所示。
其中,if語句后的條件表示在循環(huán)200次(角度為2π的整數(shù)倍)時,活塞處于壓縮最大位置,轉(zhuǎn)桿AO的角速度會因牽引力和dt時間而增加。
如圖9所示,連桿結(jié)構(gòu)在壓縮到最低點(diǎn)時會突然加速。為解決這一問題,實際汽車發(fā)動機(jī)通常采用多個氣缸相互配合的方式 [5-7]。
5 理論驗證
Python在數(shù)據(jù)處理方面的優(yōu)勢在此得以體現(xiàn)。由(11)式和(12)式,可以推導(dǎo)出汽車在恒定功率啟動時的速度函數(shù)式[8]。
利用Python內(nèi)置的解偏微分方程函數(shù)odeint,可以輕松求解一階偏微分方程,并代入簡單的參數(shù)[9],從而繪制出速度隨時間的變化圖像。
圖10展示了Python數(shù)據(jù)模擬發(fā)動機(jī)連桿加速過程中各物理量隨時間的變化。
汽車啟動時,發(fā)動機(jī)內(nèi)氣體燃燒的功率保持恒定,如圖10(a)所示。根據(jù)(13)式,利用Python可以繪制速度隨時間變化的圖像,如圖10(b)所示。將(13)式代入到(9)式和(10)式中,就可以得到慣性力和驅(qū)動力隨時間的變化曲線,如圖10(c)(d)所示。觀察這些圖像,可以得出結(jié)論:隨著活塞運(yùn)動速度的增加,慣性力增大,發(fā)動機(jī)的驅(qū)動力則會減小。
6 實驗驗證
理論驗證的確至關(guān)重要,但實踐經(jīng)驗同樣不容忽視。在物理教學(xué)過程中,教師可以引導(dǎo)學(xué)生通過親身體驗來加深理解。例如,讓學(xué)生體驗騎自行車的過程,感受在恒定功率啟動時驅(qū)動力的變化。當(dāng)學(xué)生保持腿部轉(zhuǎn)速恒定,自行車將開始加速;隨著速度的提升,他們會感受到蹬踏力的自然減小,這一現(xiàn)象直觀且易于感知。
此外,可以利用科斯特溫差發(fā)動機(jī)模型,模擬汽車發(fā)動機(jī)的啟動過程,如圖11(a)所示。通過使用測速器,測量啟動過程中的速度變化,并繪制出速度-時間變化圖像,如圖11(b)所示,然后與圖10(b)中的速度圖像進(jìn)行比較。如果兩者顯示出相似的變化趨勢,可以認(rèn)為相關(guān)物理量(驅(qū)動力和慣性力)與理論推導(dǎo)相吻合。
7 結(jié) 語
為了解決實際中的復(fù)雜問題,從發(fā)動機(jī)原理出發(fā),進(jìn)行了大量的簡化和近似處理。在這一過程中,學(xué)生可以認(rèn)識到,教科書中的物理模型可能與實際情況存在較大差異。學(xué)生從具體實踐問題出發(fā),運(yùn)用所學(xué)知識多角度分析和簡化問題,實現(xiàn)了學(xué)以致用。教師的任務(wù)在于引導(dǎo)和幫助學(xué)生完成這些工作。因此,無論是從理論還是實踐的角度出發(fā),教師都可以采用多種方式創(chuàng)設(shè)物理情境,幫助學(xué)生深入理解物理公式的本質(zhì)。學(xué)生只有學(xué)會從不同角度構(gòu)建模型,才能真正理解看似簡單的物理過程實際上是多種近似和建模的結(jié)果。這對于培養(yǎng)學(xué)生正確的物理觀念和提升自主探究問題的能力至關(guān)重要,也有助于提升學(xué)生的核心素養(yǎng)。
參考文獻(xiàn):
[1]周群益,楊旭靜,劉天貴. MATLAB可視化理論力學(xué)[M].長沙:湖南大學(xué)出版社,2018.
[2]趙春平,苗志鋒.基于VPython的機(jī)構(gòu)運(yùn)動仿真研究及實現(xiàn)[J].廣西輕工業(yè),2007,23(3):62-63,10.
[3]Urbano L D, Houghton J L. An Interactive Computer Model for Coriolis Demonstrations [J]. Journal of Geoscience Education,2006,54(1):54-60.
[4](美)馬特利.Python 技術(shù)手冊(影印版·第2版)[M].南京:東南大學(xué)出版社,2006.
[5]任繼文,吳志強(qiáng),張會明.基于VRML的發(fā)動機(jī)機(jī)構(gòu)運(yùn)動仿真技術(shù)的研究[J].組合機(jī)床與自動化加工技術(shù), 2006(6):34-37.
[6]楊化書.機(jī)械基礎(chǔ)[M].鄭州:黃河水利出版社, 2002.
[7]Schere D, Dubois P, Sherwood B. Vpython:3D Interactive Scientific Graphics for Students[J]. Computing in Science and Engineering,2000,2(5):56-62.
[8]鄭磊,趙秋爽.基于科學(xué)計算軟件下汽車啟動問題的教學(xué)探究[J].中學(xué)物理,2023,41(17):37-39.
[9](伊朗)貝赫魯茲·馬沙迪,(英)戴維·克羅拉.汽車動力總成系統(tǒng)[M].白先旭,劉勇強(qiáng),嚴(yán)正峰,譯.北京:機(jī)械工業(yè)出版社,2018.