
發(fā)布
注冊(cè)
/
登錄ansys if語(yǔ)句
關(guān)注創(chuàng)建者:王靖雯 創(chuàng)建時(shí)間:2023-03-08

ansys if語(yǔ)句的實(shí)例教程
*主要思想:
VB為ANSYS應(yīng)用的自動(dòng)化提供了可視化操作平臺(tái),可用于參數(shù)化編程等應(yīng)用。
其基本原理是,VB通過(guò)其內(nèi)部函數(shù)shell()函數(shù)實(shí)現(xiàn)對(duì)Windows應(yīng)用程序的調(diào)用。利用VB向打開(kāi)的ANSYS程序?qū)懭階PDL文件,實(shí)現(xiàn)對(duì)ANSYS的控制。
對(duì)ANSYS調(diào)用的具體代碼及注釋?zhuān)?Option Explicit
‘變量強(qiáng)制定義控制語(yǔ)句
Private Sub Command1_Click()
‘進(jìn)入Command1_Click()事件過(guò)程
Dim aa
‘定義一變量,用來(lái)存放shell()函數(shù)的返回值,shell帶括號(hào)時(shí)必須有‘變量存放其返回值,不帶參數(shù)是不需要
aa=
Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\intel\ANSYS.exe -b -p ane3fl -i shi.txt -o sh.log", 1)
‘shell函數(shù)調(diào)用ANSYS的語(yǔ)句,最關(guān)鍵語(yǔ)句,詳解見(jiàn)下文
Timer1.Enabled = True
‘使用Timer控件,實(shí)現(xiàn)對(duì)調(diào)用結(jié)果的檢測(cè)
End Sub
Private Sub Timer1_Timer()
If Dir(App.Path & "\file.err") <> "" Then
‘App.Path為當(dāng)前目錄路徑,語(yǔ)句功能:如果有file.err文件產(chǎn)生,
‘則說(shuō)明VB的shell函數(shù)對(duì)ANSYS的調(diào)用成功。
MsgBox ("ANSYS運(yùn)行完畢!")
展開(kāi) 打開(kāi)并寫(xiě)入數(shù)據(jù)到數(shù)據(jù)文件
* cfopen,atm, txt
* vwrite,obj
( format)
* cfclose
2. 2 MATLAB 調(diào)用ANSYS
ANSYS 程序提供了batch ( 批處理) 運(yùn)行方式,可以在不打開(kāi)ANSYS 程序界面的情況下后臺(tái)運(yùn)行計(jì)算,并輸出結(jié)果,這使得在其他程序中調(diào)用ANSYS 成為可能。MATLAB 調(diào)用ANSYS 的語(yǔ)句如下:
system( 'D: \Ansys \v100 \ANSYS \ bin \ intel \ ansys100- b - p ansys - product - feature - i input file - o out file. bat')
其中各參數(shù)說(shuō)明如下:
- b batch 為運(yùn)行模式;
- p 為產(chǎn)品代碼( 可以在ANSYS 的幫助文件里找到) ;
- i 為輸入文件( ANSYS 分析文件) ;
- o 為輸出文件。
此外,在調(diào)用ANSYS 時(shí)還可以輸入以下控制參數(shù):
- j 為工程名稱(chēng);
- m 為內(nèi)存大小;
- db 為數(shù)據(jù)庫(kù)打下。
3 結(jié)構(gòu)優(yōu)化算例
以一3 層4 跨平面鋼框架結(jié)構(gòu)為例,如圖2。
為了減少設(shè)計(jì)變量個(gè)數(shù),各層梁的尺寸( bb × bh)均相同,梁寬bb 的變化范圍為0. 1 ~ 0. 3 m,梁高的變化范圍為0. 2 ~ 0. 4 m,各層柱均為方柱( cb ×cb) ,柱寬的變化范圍為0. 2 ~ 0. 5 m。初始截面尺寸為bb = 0. 2 m、bh = 0. 3 m、cb = 0. 3 m。頂層承受200 kN 的均布荷載,其余各層均承受100 kN的均布荷載。材料彈性模量為210 GPa,拉壓許用應(yīng)力均為235 MPa。用混合遺傳算法優(yōu)化該結(jié)構(gòu),使其所用鋼材的體積最小。
展開(kāi) CAE Converter (在線(xiàn)CAD模型轉(zhuǎn)換軟件)
1.改進(jìn): 支持Ansys中*SET語(yǔ)句。
2.改進(jìn): 改進(jìn)Abaqus模型轉(zhuǎn)換速度。
3.修復(fù): 解決轉(zhuǎn)換大模型內(nèi)存不足的問(wèn)題。
4.修復(fù):Abaqus模型包含未定義的ELSET造成的錯(cuò)誤。
5.修復(fù):Nastran自由格式中續(xù)行以逗號(hào)開(kāi)頭造成的問(wèn)題。
6.修復(fù):Ansys中引用*DIM定義的Table造成的錯(cuò)誤。
⊙還有更多新功能等您來(lái)體驗(yàn),歡迎大家留言給我們提出寶貴建議
⊙歡迎加入Simright QQ群:576512506
⊙點(diǎn)擊閱讀原文可享受Simright的全新體驗(yàn)。
近期熱門(mén):
年前最后一更:多項(xiàng)改進(jìn)及修復(fù)!Simright 2018.2.9更新
模型樹(shù)支持多選part功能!Simright 2018.2.2更新
中國(guó)CAE走出國(guó)門(mén),邁向世界_全球知名門(mén)戶(hù)engineering.com對(duì)Simright采訪報(bào)道
3分鐘用仿真為機(jī)械鍵盤(pán)降低成本 無(wú)需安裝軟件
重磅!Simright與Onshape合作提供基于Web的CAD/CAE集成解決方案
Simright
CAE云仿真在線(xiàn)平臺(tái),無(wú)需安裝軟件,可在線(xiàn)進(jìn)行CAE格式轉(zhuǎn)換,模型預(yù)覽,仿真計(jì)算及拓?fù)鋬?yōu)化等功能。
展開(kāi) 用戶(hù)開(kāi)發(fā)界面
用戶(hù)界面的設(shè)計(jì)既要考慮到操作者友好的操作,也要保證為 ANSYS 提供有效的計(jì)算參數(shù)。在本例中,為了實(shí)現(xiàn)孔板的參數(shù)化分析, 選用孔板的有限元分析參數(shù)作為輸入的內(nèi)容,同時(shí)操作者還必須按工程要求輸入相應(yīng)的材料參數(shù)信息。
VB與ANSYS之間的數(shù)據(jù)交互
1、利用ANSYS生成命令流的方法
利用VB 生成命令流的方法利用VB 對(duì)ANSYS進(jìn)行二次開(kāi)發(fā),其基本原理就是利用VB 語(yǔ)言提供的OPEN 函數(shù)打開(kāi)和建立一個(gè)ANSYS 的命令流文件,在流文件中寫(xiě)入相應(yīng)的APDL 語(yǔ)句;然后,利用VB 程序來(lái)調(diào)用ANSYS 時(shí)將命令流文件讀入,運(yùn)行出用戶(hù)需要的結(jié)果。生成命令流的程序代碼可以用下面的VB 程序來(lái)實(shí)現(xiàn)。
Open "VB_ANSYS.inp" For Output As #1............. .............(1)
Print #1, "/CLEAR"..........................................(2)
程序中第一條語(yǔ)句的作用是新建一個(gè)名稱(chēng)為"VB_ANSYS.inp"宏文件;第二條語(yǔ)句的作用是在上述建立的宏文件中寫(xiě)入APDL 命令流語(yǔ)句/ CLEAR (當(dāng)ANSYS 讀入該語(yǔ)句時(shí),清空以前的數(shù)據(jù),開(kāi)始一個(gè)新的分析)。
2、VB對(duì)ANSYS的調(diào)用
在宏文件生成后,需要在VB 中調(diào)用ANSYS 進(jìn)行處理。目前,雖然調(diào)用方法有很多種,但是常采用shell 函數(shù)的方法。
展開(kāi) ANSYS 查詢(xún)函數(shù)(Inquiry Function)
資料來(lái)源:www.iccae.com
在ANSYS操作過(guò)程或條件語(yǔ)句中,常常需要知道有關(guān)模型的許多參數(shù)值,如選擇集中的單元數(shù)、節(jié)點(diǎn)數(shù),最大節(jié)點(diǎn)號(hào)等。此時(shí),一般可通過(guò)*GET命令來(lái)獲得這些參數(shù)。現(xiàn)在,對(duì)于此類(lèi)問(wèn)題,我們有了一個(gè)更為方便的選擇,那就是查詢(xún)函數(shù) — Inquiry Function。
Inquiry Function類(lèi)似于ANSYS的 *GET 命令,它訪問(wèn)ANSYS數(shù)據(jù)庫(kù)并返回要查詢(xún)的數(shù)值,方便后續(xù)使用。ANSYS每執(zhí)行一次查詢(xún)函數(shù),便查詢(xún)一次數(shù)據(jù)庫(kù),并用查詢(xún)值替代該查詢(xún)函數(shù)。
假如你想獲得當(dāng)前所選擇的單元數(shù),并把它作為*DO循環(huán)的上界。傳統(tǒng)的方法是使用*GET命令來(lái)獲得所選擇的單元數(shù)并把它賦給一個(gè)變量,則此變量可以作為*DO循環(huán)的上界來(lái)確定循環(huán)的次數(shù)
*get, ELMAX,elem,,count
*do, I, 1, ELMAX
…
…
*enddo
現(xiàn)在你可以使用查詢(xún)函數(shù)來(lái)完成這件事,把查詢(xún)函數(shù)直接放在*DO循環(huán)內(nèi),它就可以提供所選擇的單元數(shù)
*do, I, ELMIQR(0,13)
…
…
*enddo
這里的ELMIQR并不是一個(gè)數(shù)組,而是一個(gè)查詢(xún)函數(shù),它返回的是現(xiàn)在所選擇的單元數(shù)。括弧內(nèi)的數(shù)是用來(lái)確定查詢(xún)函數(shù)的返回值的。第一個(gè)數(shù)是用來(lái)標(biāo)識(shí)你所想查詢(xún)的特定實(shí)體(如單元、節(jié)點(diǎn)、線(xiàn)、面號(hào)等等),括弧內(nèi)的第二個(gè)數(shù)是用來(lái)確定查詢(xún)函數(shù)返回值的類(lèi)型的(如選擇狀態(tài)、實(shí)體數(shù)量等)。
同本例一樣,通常查詢(xún)函數(shù)有兩個(gè)變量,但也有一些查詢(xún)函數(shù)只有一個(gè)變量,而有的卻有三個(gè)變量。
展開(kāi) 
ansys if語(yǔ)句的相關(guān)專(zhuān)題、標(biāo)簽、搜索
ansys if語(yǔ)句的最新內(nèi)容
的語(yǔ)句,最關(guān)鍵語(yǔ)句,詳解見(jiàn)下文
Timer1.Enabled = True
‘使用Timer控件,實(shí)現(xiàn)對(duì)調(diào)用結(jié)果的檢測(cè)
End Sub
Private Sub Timer1_Timer()
If Dir(App.Path & "\file.err") <> "" Then
‘App.Path為當(dāng)前目錄路徑,語(yǔ)句功能:如果有file.err文件產(chǎn)生,
‘則說(shuō)明VB的shell函數(shù)對(duì)
讀入該語(yǔ)句時(shí),清空以前的數(shù)據(jù),開(kāi)始一個(gè)新的分析)。
CAE Converter (在線(xiàn)CAD模型轉(zhuǎn)換軟件)
1.改進(jìn): 支持Ansys中*SET語(yǔ)句。
2.改進(jìn): 改進(jìn)Abaqus模型轉(zhuǎn)換速度。
3.修復(fù): 解決轉(zhuǎn)換大模型內(nèi)存不足的問(wèn)題。
4.修復(fù):Abaqus模型包含未定義的ELSET造成的錯(cuò)誤。
5.修復(fù):Nastran自由格式中續(xù)行以逗號(hào)開(kāi)頭造成的問(wèn)題。
6.修復(fù):Ansys中引用*DIM定義的Table造成的錯(cuò)誤。
創(chuàng)建接觸時(shí)可考慮使用
24.如何在程序"外部"修改Ansys建模語(yǔ)句中的參數(shù)
如果對(duì)已做好的模型再增加僅僅幾條語(yǔ)句來(lái)修改某些參數(shù),例如用UIMP,1,****修改材料1的參數(shù),可否在程序外部實(shí)現(xiàn)?!
打開(kāi) log 文件或在 File 菜單下執(zhí)行 write DB log file,將建模過(guò)程寫(xiě)成命令流。然后在該文件中進(jìn)行修改就是了。不過(guò)需要你對(duì) ANSYS 的命令有一些了解才行。學(xué)吧!
圖5 語(yǔ)句添加代碼
圖6 添加后的輸出文件
VB_ansys.txt文件中的語(yǔ)句即可直接嵌入到VB里面。
2.2 VB與Python
雖然Python腳本文件格式與APDL文件格式不一樣,但是將Python腳本文件處理成VB可以直接用來(lái)嵌入的語(yǔ)言格式的方法完全一樣。如圖7和圖8所示,分別是處理前和處理后的文件格式。
創(chuàng)建接觸時(shí)可考慮使用
24.如何在程序“外部”修改Ansys建模語(yǔ)句中的參數(shù)
如果對(duì)已做好的模型再增加僅僅幾條語(yǔ)句來(lái)修改某些參數(shù),例如用UIMP,1,****修改材料1的參數(shù),可否在程序外部實(shí)現(xiàn)?!
打開(kāi) log 文件或在 File 菜單下執(zhí)行 write DB log file,將建模過(guò)程寫(xiě)成命令流。然后在該文件中進(jìn)行修改就是了。不過(guò)需要你對(duì) ANSYS 的命令有一些了解才行。
MATLAB 調(diào)用ANSYS 的語(yǔ)句如下:
system( 'D: \Ansys \v100 \ANSYS \ bin \ intel \ ansys100- b - p ansys - product - feature - i input file - o out file. bat')
其中各參數(shù)說(shuō)明如下:
- b batch 為運(yùn)行模式;
- p 為產(chǎn)品代碼( 可以在ANSYS 的幫助文件里找到
ANSYS 查詢(xún)函數(shù)(Inquiry Function)
資料來(lái)源:www.iccae.com
在ANSYS操作過(guò)程或條件語(yǔ)句中,常常需要知道有關(guān)模型的許多參數(shù)值,如選擇集中的單元數(shù)、節(jié)點(diǎn)數(shù),最大節(jié)點(diǎn)號(hào)等。此時(shí),一般可通過(guò)*GET命令來(lái)獲得這些參數(shù)。現(xiàn)在,對(duì)于此類(lèi)問(wèn)題,我們有了一個(gè)更為方便的選擇,那就是查詢(xún)函數(shù) — Inquiry Function。