王晨
【摘 要】本文用python語言在有限元仿真軟件Abaqus的運(yùn)行環(huán)境下對CT試件進(jìn)行裂紋擴(kuò)展模擬,擴(kuò)展有限元作為一種新型的斷裂數(shù)值模擬技術(shù),能很好的模擬裂紋擴(kuò)展路徑,顯示出其強(qiáng)大的功能。用python語言條理清晰,利于模型的保存和修改,并且可以很好地對Abaqus進(jìn)行二次開發(fā)。
【關(guān)鍵詞】裂紋擴(kuò)展,Python,擴(kuò)展有限元。
【中圖分類號】TJ06 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1672-5158(2013)03-0052-01
對于裂紋的擴(kuò)展研究,主要從微觀到宏觀角度的出發(fā),固體材料從變形到破壞,跨越了原子結(jié)構(gòu)到宏觀的9至11個尺度量級。裂紋尖端很小的區(qū)域內(nèi)的應(yīng)力、應(yīng)變都是影響裂紋擴(kuò)展的主要因素。因此從研究范圍來看,跨尺度的宏細(xì)觀研究相結(jié)合,正成為斷裂力學(xué)研究方向。裂紋尖端區(qū)域內(nèi)的微觀上結(jié)構(gòu)組織發(fā)生的變化和影響是當(dāng)前斷裂力學(xué)的研究前沿課題。從細(xì)觀和宏觀尺度上,研究各種材料的斷裂、損傷、蠕變和腐蝕疲勞等方面的最新理論、實驗研究方法及其工程應(yīng)用。
1 python與ABAQUS運(yùn)算方法
1.1 python匯編語言簡介
Python語言是一種動態(tài)解釋型編程語言,1989年由Guido van Rossum開發(fā),并于1991年年初發(fā)表。Python語言功能強(qiáng)大、簡單易學(xué),支持面向?qū)ο缶幊蹋╫bject-oriented programming),已逐漸受到越來越多的用于的關(guān)注。
Python語言主要有如下重要特征:
(1) 面向?qū)ο笮裕?)簡單性(3)健壯性(4)可擴(kuò)展性(5)動態(tài)性(6)內(nèi)置的數(shù)據(jù)結(jié)構(gòu)(7)跨平臺性(8)強(qiáng)類型
1.2 python與ABAQUS運(yùn)算方法
Abaqus腳本接口可以實現(xiàn)Abaqus/CAE中的所有功能,并在Python語言的基礎(chǔ)上又?jǐn)U展了一些新的對象類型。這些對象間的層次和關(guān)系組成了Abaqus 的對象模型。
Abaqus腳本接口對Python 語言進(jìn)行了擴(kuò)展,額外提供了大約500個對象模型,這些對象模型之間的關(guān)系比較復(fù)雜,大致將這寫對象分為3 類:Session、Mdb 和Odb。如圖1 所示
(3)
右端第一項可用于模型中所有節(jié)點;右端第二項只對形函數(shù)被裂紋內(nèi)部切開的單元節(jié)點有效;右端第三項只對形函數(shù)被裂紋尖端切開的單元節(jié)點有效。
3.算例
3.1 模型建立及運(yùn)算
以CT試件裂紋擴(kuò)展為例,用python編程做裂紋擴(kuò)展。主要分為以下幾個步驟
(1)from part import * #第一步,建立建模
(2)from material import * #第二步,材料定義
編譯完CT試件模型后對其進(jìn)行材料的定義,使用縮減積分單元,材料為高強(qiáng)鋼,其屈服強(qiáng)度為714MPa,抗拉強(qiáng)度844MPa。在程序中定義極限強(qiáng)度準(zhǔn)則如下:
mdb.models['Model-1'].materials['Q690']. Maxps Damage Initiation(table=((844,),))
并定義其損傷和斷裂準(zhǔn)則,它是根據(jù)指數(shù)形式來定義的。
(3)from assembly import * #第三步,裝配
(4)from mesh import * #第四步,網(wǎng)格劃分控制
為了能畫出整齊的網(wǎng)格,在畫網(wǎng)格之前,先把試件分隔成塊,并對其進(jìn)行單獨(dú)網(wǎng)格設(shè)置,網(wǎng)格的邊緣不能與之前畫的裂紋重合。
(5)from interaction import * #第五步,定義相互接觸
該步驟主要用于定義裂紋和板件接觸的定義,并定義試件孔與孔圓心耦合,以便于施加載荷。
(6)from step import * #第六步,定義分析步
步驟中定義靜力加載,并定義輸出,主要輸出內(nèi)容如下:
mdb.models['Model-1'].fieldOutputRequests['F-Output-1'].setValues(va riables=( 'S','LE','U','RF','PHILSM','STATUSXFEM'))。
(7)from load import * #第七步,載荷邊界定義
運(yùn)算選用位移載荷,在上孔加載,下孔約束。
(8)計算任務(wù)生成并提交計算。
3.2. 運(yùn)算結(jié)果與分析
提交完由Abaqus進(jìn)行運(yùn)算,其某一時刻的裂紋擴(kuò)展云圖如圖2所示,圖中可以看出網(wǎng)格整齊,基本為正方形網(wǎng)格,單元在內(nèi)部開裂,裂紋沿著最大主應(yīng)力方向擴(kuò)展,其應(yīng)變能隨時間變化的曲線如圖3所示。
圖2 裂紋擴(kuò)展云圖 圖3 應(yīng)變能隨時間變化曲線
參考文獻(xiàn):.
[1] 劉長虹,李洪升,彭軍. 基于XFEM的裂紋擴(kuò)展分析[J]. 上海工程科學(xué)技術(shù)大學(xué)學(xué)報,2010,24(3) : 218-220.
[2] 曹金鳳. Python語言在Abaqus中的應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社,2011.8: 13-173
[3] 莊茁. 擴(kuò)展有限單元法[M]. 北京:電子工業(yè)出版社,2011.8: 18-85