【摘要】針對(duì)機(jī)械工程專業(yè)學(xué)生學(xué)習(xí)材料力學(xué)直梁彎曲過(guò)程中遇到的理解難點(diǎn)問(wèn)題,基于Python語(yǔ)言和MSC.Marc軟件編制了直梁尺寸、單元?jiǎng)澐趾洼d荷施加的參數(shù)化程序,再借助C#強(qiáng)大的編程和調(diào)用能力啟動(dòng)Marc及該程序,自動(dòng)提交和運(yùn)算完成后,學(xué)生可以提取多種直觀計(jì)算結(jié)果,為學(xué)生加深理解直梁彎曲變形理論提供了參數(shù)化和可視化計(jì)算工具。
【關(guān)鍵詞】Python Marc 材料力學(xué) 教學(xué)
【中圖分類號(hào)】G64 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2016)12-0016-01
前言
直梁類零部件受載荷而發(fā)生變形的情況在實(shí)際工程中很常見(jiàn),例如,橋梁在自重和車輛作用下會(huì)發(fā)生變形、鋼架結(jié)構(gòu)房屋的型材骨架在屋頂重力和自然風(fēng)載等條件下也會(huì)發(fā)生變形。作為一名本科生,應(yīng)當(dāng)首先熟練掌握直梁彎曲變形的規(guī)律,以便今后在工程實(shí)踐中能安全設(shè)計(jì)滿足條件的梁的結(jié)構(gòu)[1]?鄄[2]。梁的彎曲變形章節(jié)內(nèi)容較多,如何在推導(dǎo)理論模型前就建立對(duì)梁的彎曲變形的建立直觀和感性的認(rèn)識(shí)是學(xué)好本章的基礎(chǔ)。隨著商業(yè)有限元的日益成熟和計(jì)算機(jī)硬件技術(shù)的發(fā)展,越來(lái)越多的研究借助它進(jìn)行靈活的前處理,使模擬過(guò)程更接近實(shí)際工況,得到了內(nèi)容豐富和可視化程度高的結(jié)果[3]?鄄[6]。本文借助Python與MSC.Marc有限元軟件良好的交互性編制直梁參數(shù)化建模、劃分網(wǎng)格、加載和提交運(yùn)算的程序,然后基于C#編制操作界面,計(jì)算完成之后自動(dòng)讀取結(jié)果以便學(xué)生觀察直梁的變形過(guò)程,從而達(dá)到加深理解的目的。
1.Python語(yǔ)言和Marc交互參數(shù)化建模
Python編程語(yǔ)言是一種解釋性、交互式和面向?qū)ο蟮墓δ軓?qiáng)大的網(wǎng)絡(luò)服務(wù)器端腳本語(yǔ)言,與其它腳本語(yǔ)言一樣,Python代碼類似于偽代碼,同時(shí)還是一種交互式、可移植、易于學(xué)習(xí)、方便使用的嚴(yán)謹(jǐn)語(yǔ)言,它提供動(dòng)態(tài)語(yǔ)義和快速的原型開(kāi)發(fā)能力,適合用作連接已有組件的粘合語(yǔ)言。同時(shí)它可用于獨(dú)立的程序,也可用于腳本程序。
為了讓學(xué)生直觀認(rèn)識(shí)大跨度梁和小跨度梁的彎曲形態(tài),需要將梁的長(zhǎng)度和寬度設(shè)為參數(shù)化變量,此外,彎矩的大小及梁被劃分的網(wǎng)格大小均由用戶自己輸入。面對(duì)這幾個(gè)參數(shù)的多樣性,利用Python和Marc的良好交互性特點(diǎn)編寫(xiě)直梁建模和網(wǎng)格劃分的參數(shù)化程序。Python程序以from py_mentat import *打頭,調(diào)用MSC.Marc的py_mentat模塊,主程序以def main( ):開(kāi)頭,主程序下面是原始參數(shù)輸入,例如彎矩大小M,跨度L,梁高H、單元寬s1和單元長(zhǎng)s2,子程序名稱依次列出,且子程序按照順序?qū)懺谥鞒绦虻纳戏?。整個(gè)程序需要用pysend將命令送到MSC.Mentat執(zhí)行。
利用C#語(yǔ)言編制如圖1所示交互式界面,學(xué)生可以通過(guò)輸入彎矩的大小、梁的尺寸及網(wǎng)格劃分的大小就可點(diǎn)擊提交運(yùn)算,后臺(tái)程序?qū)⒔缑嫔系膮?shù)傳給上述程序,然后調(diào)用MSC.Marc進(jìn)行參數(shù)化建模與仿真,計(jì)算完成后,點(diǎn)擊查看結(jié)果可以直觀查看仿真結(jié)果。
2.可視化結(jié)果顯示與分析
當(dāng)梁的輸入?yún)?shù)的長(zhǎng)度與高度的比值比較小,則直梁的外形如圖2(a)所示,劃分出來(lái)的網(wǎng)格大小由學(xué)生自由控制,如果加的彎矩為M,則計(jì)算完成后的彎曲形態(tài)如圖2(b)所示,如果增加一倍彎矩,則彎曲形態(tài)繼續(xù)加大,如圖2(c)所示;同時(shí),學(xué)生還可以通過(guò)查看最終的直梁彎曲變形曲線,并將其與材料力學(xué)中的經(jīng)典公式進(jìn)行對(duì)比驗(yàn)證。
結(jié)論
基于Python語(yǔ)言和MSC.Marc軟件良好的交互性編制的參數(shù)化程序可以靈活處理直梁的尺寸、單元大小和載荷施加方式,同時(shí)利用C#強(qiáng)大的編程和調(diào)用能力啟動(dòng)Marc及其參數(shù)化程序,方便學(xué)生在學(xué)習(xí)材料力學(xué)直梁彎曲理論中加深對(duì)梁的彎曲變形規(guī)律的理解和認(rèn)識(shí)。
參考文獻(xiàn):
[1]姚月煥.直梁彎曲的教學(xué)方法探討[J].中等職業(yè)教育,2006(24):43-44.
[2]李萍.直梁純彎曲實(shí)驗(yàn)的教學(xué)改革[J].洛陽(yáng)理工學(xué)院學(xué)報(bào):自然科學(xué)版,2013, 3(1):91-93.
[3]羅霄,任勇,山秀明.基于Python的混合語(yǔ)言編程及其實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件, 2004,21(12):17-18.
[4]狄博,王曉丹.基于Python語(yǔ)言的面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)[J].計(jì)算機(jī)工程與科學(xué),2014,36(A01):122-125.
[5]甘輝.基于MARC的板料沖壓成形過(guò)程有限元模擬研究[J].機(jī)械制造與自動(dòng)化,2009,38(1):48-50.
[6]趙毅,馬捷.利用Python和GTK+的Linux GUI應(yīng)用的快速開(kāi)發(fā)[J].計(jì)算機(jī)工程,2004,30(8):80-82.
作者簡(jiǎn)介:
劉志芳(1984.6-),男,漢族,湖北黃岡人,博士,重慶理工大學(xué),講師,研究方向?yàn)闄C(jī)械設(shè)計(jì)與制造。