Abaqus/python語言的結(jié)構(gòu)介紹

2016-12-10  by:CAE仿真在線  來源:互聯(lián)網(wǎng)


Python是面向?qū)ο蟮恼Z言。面向?qū)ο蟮恼Z言自己的理解為:語言本身已經(jīng)定義了許多固定模塊,如數(shù)學(xué)函數(shù)、對(duì)顯示模式的控制、一些對(duì)話框的編寫等等程序模塊,只需要按照程序的指定格式填空即可完成既定任務(wù),格式相對(duì)比較固定,因此語言格式看起來非常繁瑣,但方便實(shí)用能夠大量節(jié)約程序員的時(shí)間。面向?qū)ο笳Z言的使用方式可以比喻為:一棵樹分為樹干、樹枝、細(xì)枝和樹葉等部分,你要是想得到一個(gè)確定位置的樹葉(且具大小等屬性)只有一個(gè)路徑可以走即樹干-樹枝-細(xì)枝-樹葉,換成面向?qū)ο蟮母袷綖?樹干.樹枝.細(xì)枝.樹葉(樹葉片數(shù)或大小等屬性)。

以下是abaqus中Python的一般格式,這些格式都是固定的,我們只需要改變其中的參數(shù)即可:

mdb.models['Model-1'].ConstrainedSketch(name='__profile__',sheetSize=0.3)
s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=0.3)
s.sketchOptions.setValues(decimalPlaces=3, viewStyle=AXISYM)
s.setPrimaryObject(option=STANDALONE)
s.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))
Python
有著較強(qiáng)的邏輯控制語句如if、for、while等,可以通過循環(huán)或條件等語句把復(fù)雜且重復(fù)的操作變得簡單易于操作,也是用參數(shù)化編程較cae的最大優(yōu)勢(shì)。

Abaqus的object model分為session、mdb和odb三個(gè)objects,session為視圖模塊、mdb為模型數(shù)據(jù)模塊、odb為數(shù)據(jù)輸入輸出模塊。每個(gè)object下面又有很多命令分支,直到執(zhí)行到所需要的具體命令。以下各圖選自Abaqus Scripting User's Manual,更多書面的的解釋可以參考abaqus手冊(cè)。

每個(gè)object都像一棵樹,要執(zhí)行某個(gè)命令就需要按照python的面向?qū)ο蟮母袷竭M(jìn)行。

Abaqus/python語言的結(jié)構(gòu)介紹abaqus有限元培訓(xùn)資料圖片1

例如:cell4 = mdb.models['block'].parts['crankcase'].cells[4],要把part模塊中編號(hào)為4的體賦值給cell4,就需通過路徑mdb→models→part→cells(4號(hào)體屬性),其中'block'、'crankcase'、分別是model和part的名字。

在草圖Sketch中畫線:
s = mdb.models[' block '].ConstrainedSketch(name='grid',sheetSize=3.0)
s.Line(point1=(-1.275, 0.0), point2=(-1.125, 0.0))
s.Line(point1=(1.125, 0.0), point2=(1.275, 0.0))
執(zhí)行任何一條命令都必須按照結(jié)構(gòu)樹的格式進(jìn)行操作。我們所看到的python腳本繁雜的語句就是這樣形成的。這樣大量的命令不能在短時(shí)間內(nèi)掌握,我們只需要根據(jù)自己的需要邊建立模型邊學(xué)習(xí)就可以了。
a = mdb.models['Model-1'].rootAssembly
s = a.instances['Mount-1'].edges
side1Edges = s.findAt(((0.0475, 0.0, 0.0), ))

以上三行與下面的句子是等同的,即把findat找到的edges賦值給side1Edges。分開來寫簡單明了,大大縮短了語句的長度。
side1Edges = mdb.models['Model-1'].rootAssembly. instances['Mount-1'].edges.findAt(((0.0475, 0.0, 0.0), ))
a.Surface(side1Edges=side1Edges, name='Bottom'),這行語句設(shè)置side1Edges所對(duì)應(yīng)的edge為名稱'Bottom'的surface的set。


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

相關(guān)標(biāo)簽搜索:Abaqus/python語言的結(jié)構(gòu)介紹 abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識(shí) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) 

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

全國服務(wù)熱線

1358-032-9919

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