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ǔ)進(jìn)行代碼介紹。

第一段:導(dǎo)入相應(yīng)模塊


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

◆第1行代碼:導(dǎo)入abaqus模塊的所有對象。

◆第2行代碼:導(dǎo)入abaqusContants模塊的所有對象。

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

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


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

◆第6行代碼:使用mdb對象的Model構(gòu)造函數(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。視圖窗口的起點(diǎn)在(20,20),寬150,高120.

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


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

◆第18行代碼:導(dǎo)入part模塊

◆第22行代碼:通過myModel.ConstrainedSketch創(chuàng)建草圖對象,對其兩個(gè)參數(shù)(name和sheetSize)進(jìn)行賦值。并賦值給mySketch變量。

◆第27行代碼:在mySketch對象下創(chuàng)建四邊形,一點(diǎn)坐標(biāo)為(-100,10),對角坐標(biāo)為(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行代碼:導(dǎo)入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操作的對象。導(dǎo)入方法如下:


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)建分析任務(wù)。


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

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

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

至此,整個(gè)abaqus的python腳本編寫完成。

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


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

想必讀者通過對案例的解釋已經(jīng)了解到面向?qū)ο蟮腜ython與abaqus結(jié)合的簡單、便捷、強(qiáng)大。至此讀者可根據(jù)自己的需要進(jìn)行Abaqus的二次開發(fā)了。


知識補(bǔ)充:模塊、類、對象、方法

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

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

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

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

關(guān)于abaqus的模塊組成、對象構(gòu)成等詳細(xì)信息,讀者可查閱Abaqus的Abaqus Scripting Reference Guide



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

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

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

全國服務(wù)熱線

1358-032-9919

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