Python與Abaqus系列(3)——腳本案例及代碼介紹
2017-08-18 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
Python與Abaqus系列(1)——Python基礎(chǔ)介紹
Python與Abaqus系列(2)——Abaqus二次開發(fā)基礎(chǔ)介紹
本文以Abaqus 6.14 Documentation內(nèi)的Abaqus Scripting User's Guide→Putting it all together:example→Running the example中的beamExample.py為基礎(chǔ)進行代碼介紹。
第一段:導入相應(yīng)模塊

◆第1行代碼:導入abaqus模塊的所有對象。
◆第2行代碼:導入abaqusContants模塊的所有對象。
◆第3行代碼:通過backwardCompatibility對象的方法setValues將BackwardCompatibility對象的成員includeDeprecated和reportDeprecated設(shè)定為True值和False值。
第二段:創(chuàng)建模型

◆第6行代碼:使用mdb對象的Model構(gòu)造函數(shù)創(chuàng)建Beam對象(模型),并賦值給變量myModel。如下所示

第三段:創(chuàng)建模型

◆第13行代碼:使用session.Viewport創(chuàng)造名為Cantilever Beam Example的viewport對象,新的viewport賦值給變量myViewport。視圖窗口的起點在(20,20),寬150,高120.
第三段:創(chuàng)建幾何模型

◆第18行代碼:導入part模塊
◆第22行代碼:通過myModel.ConstrainedSketch創(chuàng)建草圖對象,對其兩個參數(shù)(name和sheetSize)進行賦值。并賦值給mySketch變量。
◆第27行代碼:在mySketch對象下創(chuàng)建四邊形,一點坐標為(-100,10),對角坐標為(100,-10)。至此草圖beamProfile繪制完成。
第31行代碼:創(chuàng)建myModel模型下的創(chuàng)建部件對象,部件名稱為Beam,維度為3D,類型為可變性體,并賦值給myBeam。
第37行代碼:通過myBeam.BaseSolidExtrude創(chuàng)建拉伸部件Beam,草圖使用之前創(chuàng)建的mySketch,深度為25。至此部件Beam創(chuàng)建完成。
第三段:創(chuàng)建材料

◆第41行代碼:導入material模塊
◆第45行代碼:通過myModel.Material創(chuàng)建材料對象,將Steel賦值給其參數(shù)name。并對象賦值給mySteel變量。
◆第50行代碼:將元組(209.E3,0.3)賦值給變量elasticProperties。
◆第51行代碼:將設(shè)定的彈性模量和泊松比賦值給Elastic對象的參數(shù)table。至此材料Steel創(chuàng)建完成。其中Material和Elastic均是Pyhon操作的對象。導入方法如下:

同理,后邊通過section對象創(chuàng)建界面屬性,并賦值給材料。

通過assemble對象創(chuàng)建裝配體。

通過step對象創(chuàng)建分析步。

通過load對象創(chuàng)建載荷。

通過mesh對象劃分網(wǎng)格。

通過job對象創(chuàng)建分析任務(wù)。

通過visualization對象創(chuàng)建可視化后處理。

至此,整個abaqus的python腳本編寫完成。
用戶可通過Abaqus CAE→file→run script,運行保存的腳本文件beamExample.py,直接獲取分析結(jié)果。

想必讀者通過對案例的解釋已經(jīng)了解到面向?qū)ο蟮腜ython與abaqus結(jié)合的簡單、便捷、強大。至此讀者可根據(jù)自己的需要進行Abaqus的二次開發(fā)了。
知識補充:模塊、類、對象、方法
模塊:是包含變量、函數(shù)和類的文件,是含有python代碼的文件,一個python文件(XXX.py)就是一個模塊。相關(guān)功能模塊的集合構(gòu)成了我們所說的庫。
類:我們把相近屬性的“東西”歸為類,類包括屬性、變量和方法。他們被該類的實例對象所分享。
對象:我們把相近屬性的“東西”歸為類,對象就是類的實例化。為Python的操作目標。對于python來說,Python中的一切都是對象。
方法:一種對象的“行為”屬性。
關(guān)于abaqus的模塊組成、對象構(gòu)成等詳細信息,讀者可查閱Abaqus的Abaqus Scripting Reference Guide
相關(guān)標簽搜索:Python與Abaqus系列(3)——腳本案例及代碼介紹 abaqus分析培訓 abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓