Abaqus/python語言的結(jié)構(gòu)介紹
2016-12-10 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
Python是面向?qū)ο蟮恼Z言。面向?qū)ο蟮恼Z言自己的理解為:語言本身已經(jīng)定義了許多固定模塊,如數(shù)學(xué)函數(shù)、對顯示模式的控制、一些對話框的編寫等等程序模塊,只需要按照程序的指定格式填空即可完成既定任務(wù),格式相對比較固定,因此語言格式看起來非常繁瑣,但方便實(shí)用能夠大量節(jié)約程序員的時間。面向?qū)ο笳Z言的使用方式可以比喻為:一棵樹分為樹干、樹枝、細(xì)枝和樹葉等部分,你要是想得到一個確定位置的樹葉(且具大小等屬性)只有一個路徑可以走即樹干-樹枝-細(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)勢。
Abaqus的object model分為session、mdb和odb三個objects,session為視圖模塊、mdb為模型數(shù)據(jù)模塊、odb為數(shù)據(jù)輸入輸出模塊。每個object下面又有很多命令分支,直到執(zhí)行到所需要的具體命令。以下各圖選自Abaqus Scripting User's Manual,更多書面的的解釋可以參考abaqus手冊。
每個object都像一棵樹,要執(zhí)行某個命令就需要按照python的面向?qū)ο蟮母袷竭M(jìn)行。
例如:cell4 = mdb.models['block'].parts['crankcase'].cells[4],要把part模塊中編號為4的體賦值給cell4,就需通過路徑mdb→models→part→cells(4號體屬性),其中'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腳本繁雜的語句就是這樣形成的。這樣大量的命令不能在短時間內(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所對應(yīng)的edge為名稱'Bottom'的surface的set。
相關(guān)標(biāo)簽搜索:Abaqus/python語言的結(jié)構(gòu)介紹 abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn)