史超逸
(同濟(jì)大學(xué) 應(yīng)用力學(xué)所,上海 200092)
Abaqus二次開(kāi)發(fā)是在有限元軟件Abaqus基礎(chǔ)上,通過(guò)腳本編程或使用提供的二次開(kāi)發(fā)接口進(jìn)行功能擴(kuò)展和定制化開(kāi)發(fā)。用戶可用Python或Fortran等語(yǔ)言編寫腳本,實(shí)現(xiàn)自動(dòng)建模、定制邊界條件和材料模型等功能。利用Python進(jìn)行二次開(kāi)發(fā)具有優(yōu)勢(shì),與GUI建模和INP文件建模相比,Python腳本可實(shí)現(xiàn)自動(dòng)化、參數(shù)化建模,提高模型創(chuàng)建的可重復(fù)性,同時(shí)代碼簡(jiǎn)潔、易讀,具有靈活性和動(dòng)態(tài)性。Python建模還具備獨(dú)立性和可移植性,可為用戶提供更高效的異常處理機(jī)制,有助于提高代碼的重用性和調(diào)試效率。Abaqus的軟件結(jié)構(gòu)見(jiàn)圖1。
Abaqus腳本接口是一個(gè)強(qiáng)大的工具,能夠通過(guò)Python語(yǔ)言編程實(shí)現(xiàn)Abaqus/CAE中的全部功能,包括模型屬性的創(chuàng)建和修改、作業(yè)分析的提交與修改,以及分析結(jié)果的查看等。所有指令經(jīng)過(guò)Python解釋器后生成rpy文件,并在Abaqus/CAE中轉(zhuǎn)化為INP文件,通過(guò)隱式或顯式求解器進(jìn)行分析,最終生成ODB文件供后處理使用。該接口語(yǔ)法與Python相同,但引入了核心模塊,并擴(kuò)展了多種數(shù)據(jù)類型,如符號(hào)常數(shù)、庫(kù)、數(shù)組、布爾類型和序列等。符號(hào)常數(shù)用于表示方法中的自變量或?qū)ο蟮某蓡T值,庫(kù)則是特定類型對(duì)象的容器,例如部件庫(kù)和材料庫(kù)。通過(guò)軟件自帶的學(xué)習(xí)工具AbaqusScriptingReferenceManual可獲得更詳細(xì)的信息。
學(xué)習(xí)Abaqus二次開(kāi)發(fā)要熟悉Abaqus操作和基本的Python語(yǔ)言。比較Abaqus/CAE操作和Abaqus.rpy文件中的Python代碼的學(xué)習(xí)方式,能幫助初學(xué)者逐步理解各命令用法、快速上手,可以利用2個(gè)重要工具PythonReader.exe和AbaqusScriptingReferenceManual。由焦中良博士開(kāi)發(fā)的PythonReader.exe可實(shí)時(shí)記錄Abaqus/CAE操作對(duì)應(yīng)的腳本命令,提供警告和錯(cuò)誤信息,方便學(xué)習(xí)者實(shí)時(shí)復(fù)制粘貼,實(shí)現(xiàn)參數(shù)化分析,避免重復(fù)建模。AbaqusScriptingReferenceManual是Abaqus官方手冊(cè),詳細(xì)介紹Abaqus對(duì)象模型的Python命令,包括腳本基礎(chǔ)、模型創(chuàng)建、分析控制和后處理等,提供實(shí)用示例,幫助更靈活地應(yīng)對(duì)有限元分析任務(wù)。結(jié)合這2個(gè)工具,初學(xué)者能更高效地掌握Abaqus二次開(kāi)發(fā)技能。
從細(xì)觀尺度建模,探究骨料顆粒級(jí)配對(duì)于顆粒增強(qiáng)復(fù)合材料壓縮性能的影響,模型指標(biāo)為等效彈性模量。等效彈性模量是多相復(fù)合材料力學(xué)性能的基本指標(biāo),是工程材料重要的性能參數(shù),是衡量物體抵抗彈性變形能力的尺度。材料彈性模量越大,發(fā)生一定彈性變形所需要的應(yīng)力也越大,材料的抗變形能力就越高,材料性能也相對(duì)穩(wěn)定。本案例演示性分析顆粒增強(qiáng)復(fù)合材料的等效彈性模量,難點(diǎn)在于隨機(jī)分布的骨料顆粒的模型建立,此處利用Python腳本實(shí)現(xiàn)。
利用Python編寫前處理建模腳本
第一步:導(dǎo)入必要的函數(shù)包,命令見(jiàn)圖2。
圖2 導(dǎo)入必要的函數(shù)包命令
第二步:設(shè)置保存路徑,命令見(jiàn)圖3。
圖3 設(shè)置保存路徑命令
第三步:利用Python語(yǔ)言實(shí)現(xiàn)骨料顆粒的創(chuàng)建,命令見(jiàn)圖4~9。
圖 4 定義防止圓形骨科顆粒干涉的判斷函數(shù)
圖 5 生成不同半徑對(duì)應(yīng)數(shù)量的圓形骨料顆粒的圓心位置信息
圖 6 創(chuàng)建圓形骨料顆粒部件
圖 7 創(chuàng)建矩形截面
圖 8 創(chuàng)建實(shí)例
圖 9 生成骨料顆粒
生成的顆粒增強(qiáng)復(fù)合材料的骨料顆粒和基體部件模型示意見(jiàn)圖10。
(a)骨料顆粒
第四步:利用Python語(yǔ)言設(shè)置材料屬性,命令見(jiàn)圖11,設(shè)置窗口見(jiàn)圖12。
圖11 設(shè)置材料屬性命令
圖12 利用Python語(yǔ)言生成的骨料顆粒材料屬性設(shè)置窗口
在上述案例中,Abaqus利用Python語(yǔ)言實(shí)現(xiàn)復(fù)雜圖形的自動(dòng)化建模和定制材料屬性功能,可以感受到二次開(kāi)發(fā)對(duì)提高效率、定制化功能、參數(shù)化建模等的巨大優(yōu)勢(shì)?;赑ython語(yǔ)言的Abaqus二次開(kāi)發(fā)還不止于此,Abaqus工作全流程自動(dòng)化都可以實(shí)現(xiàn),如創(chuàng)建加載、邊界條件、提交分、后處理等,有待進(jìn)一步研究學(xué)習(xí)。
(摘自同濟(jì)大學(xué)鄭百林教授《CAE操作技能與實(shí)踐》課堂講義)