Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義

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

在workbench中實(shí)現(xiàn)整個過程的參數(shù)化過程除了前幾次文章介紹的模型與網(wǎng)格,還應(yīng)該包括材料參數(shù)的參數(shù)化定義。利用Python進(jìn)行二次開發(fā)能夠?qū)崿F(xiàn)材料參數(shù)的自由定義,比如來源于excel表格或者文檔的數(shù)據(jù),通過Python代碼的自動讀取,參與到實(shí)際的有限元分析進(jìn)程中。


由于在workbench中定義材料的操作比其他有限元軟件麻煩很多,因此先就在workbench中如何定義多種材料屬性作一些說明,以加強(qiáng)對材料定義過程的認(rèn)識。此后再進(jìn)行python材料參數(shù)的定義。

在Workbench平臺添加一個結(jié)構(gòu)分析系統(tǒng),右鍵進(jìn)入材料編輯狀態(tài),如下所示:


Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys分析圖片1

圖1

打開之后的界面如下所示,默認(rèn)已經(jīng)有了Structural Steel材料。

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys分析圖片2

圖2

如果需要添加第二種材料,則進(jìn)入Engineering Data Sources,如下所示。

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys分析圖片3

圖3

進(jìn)入之后如下所示。

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys分析圖片4

圖4

材料參數(shù)可以進(jìn)行修改,如下所示,按照圖5的順序即可修改某些材料參數(shù),其中勾選1處表示進(jìn)入編輯模式,只有進(jìn)入編輯模式后才可以修改具體的某些參數(shù)。

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys結(jié)果圖片5

圖5

如果想要添加第二種材料,那么點(diǎn)擊如下圖所示的添加按鈕即可。

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys結(jié)果圖片6

圖6

同樣的,如果想要添加同一種材料但是不同的材料參數(shù)時,例如添加第二種鋼材,也是點(diǎn)擊添加按鈕,不過需要修改參數(shù)后再添加,注意,添加材料時需要先退出編輯模式。

最終添加了三種材料如下所示:

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys結(jié)果圖片7

圖7

圖7中有是否抑制材料的選擇,如果選擇抑制,那么在后續(xù)選擇材料賦予時將看不到該材料。

上面的過程是如何定義多種不同的材料,下面便是具體給模型賦予材料。給模型賦予材料的基礎(chǔ)是solid,因此只有不同的solid才可能賦予不同的材料,在建模時需要考慮此問題。

進(jìn)入Model模塊,先通過File-Refresh更新數(shù)據(jù),然后如下所示:

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys結(jié)果圖片8

圖8

可以給每一個solid分別賦予不同的材料,然后劃分網(wǎng)格即可。


以下一段代碼是在Workbench中通過Python設(shè)定材料的彈性模量和泊松比參數(shù):

# encoding: utf-8

# Release 16.0

SetScriptVersion(Version="16.0.361")

template1 = GetTemplate(TemplateName="EngData")

system1 = template1.CreateSystem()

template2 = GetTemplate(

TemplateName="Static Structural",

Solver="ANSYS")

system2 = template2.CreateSystem(

Position="Right",

RelativeTo=system1)

engineeringDataComponent1 = system2.GetComponent(Name="Engineering Data")

engineeringDataComponent2 = system1.GetComponent(Name="Engineering Data")

engineeringDataComponent1.ReplaceWithShare(

TargetSystem=system2,

ComponentToShare=engineeringDataComponent2,

SourceSystem=system1)

engineeringData1 = system1.GetContainer(ComponentName="Engineering Data")

material1 = engineeringData1.GetMaterial(Name="Structural Steel")

matlProp1 = material1.GetProperty(Name="Elasticity")


E=220000000000

nu=0.29

E_str="%s [Pa]" % E

nu_str="%s" % nu

matlProp1.SetData(

Variables=["Young's Modulus"],

Values=[["%s" % E_str]])

matlProp1.SetData(

Variables=["Poisson's Ratio"],

Values=[["%s" % nu]])

engineeringDataComponent2.Update(AllDependencies=True)

上述代碼在workbench平臺定義了一個Engineering Data模塊和一個Static Structure模塊。該例子中將彈性模量和泊松比作為可以修改的材料參數(shù),利用字符串變量E_str和nu_str獲取彈性模量和泊松比的值,再利用SetData函數(shù)將這兩個參數(shù)給Engineering Data模塊。

Workbench平臺的界面如下所示。

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys結(jié)果圖片9

圖9

進(jìn)入Engineering Data模塊,可以看到如下所示的結(jié)果,彈性模量和泊松比和上述python代碼中定義的數(shù)值一樣。

Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義ansys結(jié)果圖片10

圖10

同樣,圖10中的其他參數(shù)也可以進(jìn)行參數(shù)化定義。如果在上述python代碼中添加相關(guān)的文件讀寫,那么就可以實(shí)現(xiàn)從已有文件中讀取相關(guān)的材料參數(shù)進(jìn)行替換。


姊妹篇:

《Workbench利用Python驅(qū)動MAPDL執(zhí)行APDL命令》

《Workbench利用Python驅(qū)動DM執(zhí)行Js進(jìn)行建模》

其他workbench二次開發(fā)細(xì)節(jié):

《利用Python在Workbench的DM中進(jìn)行幾何操作》

《利用Python和API函數(shù)創(chuàng)建幾何模型實(shí)例說明》


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

相關(guān)標(biāo)簽搜索:Workbench中利用python實(shí)現(xiàn)材料參數(shù)化定義 Ansys有限元培訓(xùn) Ansys workbench培訓(xùn) ansys視頻教程 ansys workbench教程 ansys APDL經(jīng)典教程 ansys資料下載 ansys技術(shù)咨詢 ansys基礎(chǔ)知識 ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓(xùn) 

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

全國服務(wù)熱線

1358-032-9919

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