資源描述:
《Python 語(yǔ)言在 Abaqus 中的應(yīng)用--學(xué)習(xí)筆記》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、1學(xué)習(xí)筆記學(xué)習(xí)資料:《Python語(yǔ)言在Abaqus中的應(yīng)用》20世紀(jì)60年代,RayW.Clough教授在發(fā)表的論文《TheFiniteElementinPlaneStressAnalysis》中首次提出有限單元法,此后,有限單元法的理論得到迅速發(fā)展,并廣泛應(yīng)用于各種力學(xué)問(wèn)題和非線性問(wèn)題,成為分析大型復(fù)雜工程結(jié)構(gòu)的強(qiáng)有力手段。Abaqus提供兩種接口:1)用戶子程序接口(UserSubroutine)。該接口使用Fortran語(yǔ)言進(jìn)行開(kāi)發(fā),主要用于自定義本構(gòu)關(guān)系、自定義單元等。常用的用戶子程序包括(V)UMAT、(V)UEL、(V)FRIC、
2、(V)DLOD等。2)Abaqus腳本接口(AbaqusScriptingInterface)。該接口是在Python語(yǔ)言的基礎(chǔ)上進(jìn)行的定制開(kāi)發(fā),它擴(kuò)充了Python的對(duì)象模型和數(shù)據(jù)類型,使Abaqus腳本接口的功能更加強(qiáng)大。一般情況下,Abaqus的腳本接口主要用于前處理(例如,快速建模)、后處理(例如,創(chuàng)建和訪問(wèn)輸出數(shù)據(jù)庫(kù))、自定義模塊(例如,自動(dòng)后處理模塊等)。Python語(yǔ)言是公認(rèn)的功能強(qiáng)大的面向?qū)ο蟮木幊陶Z(yǔ)言,Abaqus腳本接口在它的基礎(chǔ)上又添加了許多數(shù)據(jù)類型和核心模塊,因此功能更加強(qiáng)大。即便如此,Abaqus腳本接口仍然允許讀者編
3、寫(xiě)自己的模塊或函數(shù),以擴(kuò)展其功能。保留字Python的保留字:Python語(yǔ)言的代碼簡(jiǎn)潔,易于閱讀,保留字相對(duì)較少;Python語(yǔ)言中不包含分號(hào)(;)、begin、end等標(biāo)記,而是通過(guò)使用空格或制表鍵縮進(jìn)的方式進(jìn)行代碼分隔。編寫(xiě)程序時(shí),盡量不要選擇保留字作為變量名、函數(shù)名等保留字說(shuō)明and表達(dá)式運(yùn)算,邏輯“和”操作as類型轉(zhuǎn)換assert判斷變量或條件表達(dá)式的值是否為真break中止循環(huán)語(yǔ)句的執(zhí)行class定義類continue繼續(xù)執(zhí)行下一次循環(huán)def定義函數(shù)或方法del刪除變量或序列的值elif條件語(yǔ)句,與if、else聯(lián)合使用if…eli
4、f…elseelse條件語(yǔ)句except包含捕獲異常后的操作代碼塊,與try、finally聯(lián)合使用exec執(zhí)行Python語(yǔ)句finally出現(xiàn)異常后始終執(zhí)行finally代碼塊中的語(yǔ)句,與try、exceptforfor循環(huán)語(yǔ)句from用于導(dǎo)入模塊,與import聯(lián)合使用global定義全局變量if條件判斷語(yǔ)句,與else、elif聯(lián)合使用import導(dǎo)入模塊,與from聯(lián)合使用in判斷變量是否包含在序列中is判斷變量是否為某個(gè)類的實(shí)例lambda定義匿名函數(shù)not用于表達(dá)式運(yùn)算,邏輯“非”操作or用于表達(dá)式運(yùn)算,邏輯“或”操作pass空的
5、類、方法或函數(shù)的占位符print輸出語(yǔ)句raise拋出異常return返回函數(shù)的計(jì)算結(jié)果try包含可能出現(xiàn)異常的語(yǔ)句,與except、finally聯(lián)合使用whilewhile循環(huán)語(yǔ)句with簡(jiǎn)化Python中的語(yǔ)句yield從Generator函數(shù)中每次返回1個(gè)值開(kāi)發(fā)工具&運(yùn)行環(huán)境:1)PythonWin:【開(kāi)始】→【程序】→【ActiveStateActivePython2.6(32-bit)】→【PythonWinEditor】;運(yùn)行按F5或【File】→【Debug】→【Go】2)Abaqus運(yùn)行環(huán)境:?jiǎn)?dòng)Abaqus/CAE,【Fil
6、e】→【AbaqusPDE】※在Abaqus中編寫(xiě)Python源代碼,可以與Abaqus/CAE進(jìn)行實(shí)時(shí)互動(dòng),而且代碼修改后的效果能夠立即在Abaqus/CAE中得到體現(xiàn),便于調(diào)試和修改。Abaqus中的PDE也提供了多種編輯、調(diào)試程序的功能,包括代碼著色、自動(dòng)縮進(jìn)、斷點(diǎn)設(shè)置與管理、堆棧(stack)、觀察列表(watchlist)等功能。3)EditPlus編輯器:模板代碼:#!/user/bin/python使Python程序可以在UNIX操作系統(tǒng)下運(yùn)行#-*-coding:UTF-8-*-設(shè)置編碼集為UTF-8,使得編寫(xiě)Python代碼過(guò)
7、程中可以輸入中文字符編寫(xiě)規(guī)則1)合理使用注釋:注釋語(yǔ)句放在#后;中文注釋必須先添加#-*-coding:UTF-8-*-2)合理使用空行:空行的作用在于分隔兩段不同功能或不同含義的代碼,便于以后代碼的維護(hù)或重構(gòu)。一般情況下,變形程序代碼時(shí)應(yīng)該在函數(shù)與函數(shù)之間、類的方法之間、類和函數(shù)入口之間設(shè)置空行,用來(lái)表示一段新代碼的開(kāi)始。一般情況下,最好設(shè)置兩個(gè)空行?!招惺窃创a的一部分,但不是語(yǔ)法的部分,不會(huì)報(bào)錯(cuò)。在Abaqus腳本結(jié)構(gòu)中使用空行是一定要十分謹(jǐn)慎。如果存在嵌套循環(huán)時(shí)使用空行,一定注意空行的縮進(jìn)格式。在EditPlus編輯器下可以很清楚地看
8、到縮進(jìn)層次。如果不便于查看空行縮進(jìn),則可以將空行作為注釋行進(jìn)行處理,即以#開(kāi)始。3)語(yǔ)句的分隔:Python中可以用分號(hào)分隔語(yǔ)句,物理行間的分號(hào)也可以