Python與Abaqus系列(3)——腳本案例及代碼介紹

2017-08-18  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

Python與Abaqus系列(1)——Python基礎介紹

Python與Abaqus系列(2)——Abaqus二次開發(fā)基礎介紹

本文以Abaqus 6.14 Documentation內(nèi)的Abaqus Scripting User's Guide→Putting it all together:example→Running the example中的beamExample.py為基礎進行代碼介紹。

第一段:導入相應模塊


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元圖片1

◆第1行代碼:導入abaqus模塊的所有對象。

◆第2行代碼:導入abaqusContants模塊的所有對象。

◆第3行代碼:通過backwardCompatibility對象的方法setValues將BackwardCompatibility對象的成員includeDeprecated和reportDeprecated設定為True值和False值。

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


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元圖片2

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


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元圖片3

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


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元圖片4

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

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


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元仿真圖片5

◆第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)建材料


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元仿真圖片6

◆第41行代碼:導入material模塊

◆第45行代碼:通過myModel.Material創(chuàng)建材料對象,將Steel賦值給其參數(shù)name。并對象賦值給mySteel變量。

◆第50行代碼:將元組(209.E3,0.3)賦值給變量elasticProperties。

◆第51行代碼:將設定的彈性模量和泊松比賦值給Elastic對象的參數(shù)table。至此材料Steel創(chuàng)建完成。其中Material和Elastic均是Pyhon操作的對象。導入方法如下:


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元仿真圖片7

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

Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元仿真圖片8

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

Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元仿真圖片9

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

Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus靜態(tài)分析圖片10

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

Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus靜態(tài)分析圖片11

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


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus靜態(tài)分析圖片12

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


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus靜態(tài)分析圖片13

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

Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元培訓教程圖片14

至此,整個abaqus的python腳本編寫完成。

用戶可通過Abaqus CAE→file→run script,運行保存的腳本文件beamExample.py,直接獲取分析結果。


Python與Abaqus系列(3)——腳本案例及代碼介紹abaqus有限元培訓教程圖片15

想必讀者通過對案例的解釋已經(jīng)了解到面向對象的Python與abaqus結合的簡單、便捷、強大。至此讀者可根據(jù)自己的需要進行Abaqus的二次開發(fā)了。


知識補充:模塊、類、對象、方法

模塊:是包含變量、函數(shù)和類的文件,是含有python代碼的文件,一個python文件(XXX.py)就是一個模塊。相關功能模塊的集合構成了我們所說的庫。

類:我們把相近屬性的“東西”歸為類,類包括屬性、變量和方法。他們被該類的實例對象所分享。

對象:我們把相近屬性的“東西”歸為類,對象就是類的實例化。為Python的操作目標。對于python來說,Python中的一切都是對象。

方法:一種對象的“行為”屬性。

關于abaqus的模塊組成、對象構成等詳細信息,讀者可查閱Abaqus的Abaqus Scripting Reference Guide



開放分享:優(yōu)質有限元技術文章,助你自學成才

相關標簽搜索:Python與Abaqus系列(3)——腳本案例及代碼介紹 abaqus分析培訓 abaqus技術教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com