
發布
注冊
/
登錄ansys if語句的案例
VB調用ANSYS軟件
*主要思想:
VB為ANSYS應用的自動化提供了可視化操作平臺,可用于參數化編程等應用。
其基本原理是,VB通過其內部函數shell()函數實現對Windows應用程序的調用。利用VB向打開的ANSYS程序寫入APDL文件,實現對ANSYS的控制。
對ANSYS調用的具體代碼及注釋:
Option Explicit
‘變量強制定義控制語句
Private Sub Command1_Click()
‘進入Command1_Click()事件過程
Dim aa
‘定義一變量,用來存放shell()函數的返回值,shell帶括號時必須有‘變量存放其返回值,不帶參數是不需要
aa=
Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\intel\ANSYS.exe -b -p ane3fl -i shi.txt -o sh.log", 1)
‘shell函數調用ANSYS的語句,最關鍵語句,詳解見下文
Timer1.Enabled = True
‘使用Timer控件,實現對調用結果的檢測
End Sub
Private Sub Timer1_Timer()
If Dir(App.Path & "\file.err") <> "" Then
‘App.Path為當前目錄路徑,語句功能:如果有file.err文件產生,
‘則說明VB的shell函數對ANSYS的調用成功。
MsgBox ("ANSYS運行完畢!")
展開 基于MATLAB 與ANSYS 的結構優化設計
打開并寫入數據到數據文件
* cfopen,atm, txt
* vwrite,obj
( format)
* cfclose
2. 2 MATLAB 調用ANSYS
ANSYS 程序提供了batch ( 批處理) 運行方式,可以在不打開ANSYS 程序界面的情況下后臺運行計算,并輸出結果,這使得在其他程序中調用ANSYS 成為可能。MATLAB 調用ANSYS 的語句如下:
system( 'D: \Ansys \v100 \ANSYS \ bin \ intel \ ansys100- b - p ansys - product - feature - i input file - o out file. bat')
其中各參數說明如下:
- b batch 為運行模式;
- p 為產品代碼( 可以在ANSYS 的幫助文件里找到) ;
- i 為輸入文件( ANSYS 分析文件) ;
- o 為輸出文件。
此外,在調用ANSYS 時還可以輸入以下控制參數:
- j 為工程名稱;
- m 為內存大小;
- db 為數據庫打下。
3 結構優化算例
以一3 層4 跨平面鋼框架結構為例,如圖2。
為了減少設計變量個數,各層梁的尺寸( 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,拉壓許用應力均為235 MPa。用混合遺傳算法優化該結構,使其所用鋼材的體積最小。
展開 新年第一更:CAE Converter大改進!Simright 2018.2.23更新
CAE Converter (在線CAD模型轉換軟件)
1.改進: 支持Ansys中*SET語句。
2.改進: 改進Abaqus模型轉換速度。
3.修復: 解決轉換大模型內存不足的問題。
4.修復:Abaqus模型包含未定義的ELSET造成的錯誤。
5.修復:Nastran自由格式中續行以逗號開頭造成的問題。
6.修復:Ansys中引用*DIM定義的Table造成的錯誤。
⊙還有更多新功能等您來體驗,歡迎大家留言給我們提出寶貴建議
⊙歡迎加入Simright QQ群:576512506
⊙點擊閱讀原文可享受Simright的全新體驗。
近期熱門:
年前最后一更:多項改進及修復!Simright 2018.2.9更新
模型樹支持多選part功能!Simright 2018.2.2更新
中國CAE走出國門,邁向世界_全球知名門戶engineering.com對Simright采訪報道
3分鐘用仿真為機械鍵盤降低成本 無需安裝軟件
重磅!Simright與Onshape合作提供基于Web的CAD/CAE集成解決方案
Simright
CAE云仿真在線平臺,無需安裝軟件,可在線進行CAE格式轉換,模型預覽,仿真計算及拓撲優化等功能。
展開 基于VB的ANSYS二次開發之孔板靜力、溫度場分析實例 ¥29.9
用戶開發界面
用戶界面的設計既要考慮到操作者友好的操作,也要保證為 ANSYS 提供有效的計算參數。在本例中,為了實現孔板的參數化分析, 選用孔板的有限元分析參數作為輸入的內容,同時操作者還必須按工程要求輸入相應的材料參數信息。
VB與ANSYS之間的數據交互
1、利用ANSYS生成命令流的方法
利用VB 生成命令流的方法利用VB 對ANSYS進行二次開發,其基本原理就是利用VB 語言提供的OPEN 函數打開和建立一個ANSYS 的命令流文件,在流文件中寫入相應的APDL 語句;然后,利用VB 程序來調用ANSYS 時將命令流文件讀入,運行出用戶需要的結果。生成命令流的程序代碼可以用下面的VB 程序來實現。
Open "VB_ANSYS.inp" For Output As #1............. .............(1)
Print #1, "/CLEAR"..........................................(2)
程序中第一條語句的作用是新建一個名稱為"VB_ANSYS.inp"宏文件;第二條語句的作用是在上述建立的宏文件中寫入APDL 命令流語句/ CLEAR (當ANSYS 讀入該語句時,清空以前的數據,開始一個新的分析)。
2、VB對ANSYS的調用
在宏文件生成后,需要在VB 中調用ANSYS 進行處理。目前,雖然調用方法有很多種,但是常采用shell 函數的方法。
展開 
ANSYS 查詢函數(Inquiry Function)(很有用)
ANSYS 查詢函數(Inquiry Function)
資料來源:www.iccae.com
在ANSYS操作過程或條件語句中,常常需要知道有關模型的許多參數值,如選擇集中的單元數、節點數,最大節點號等。此時,一般可通過*GET命令來獲得這些參數。現在,對于此類問題,我們有了一個更為方便的選擇,那就是查詢函數 — Inquiry Function。
Inquiry Function類似于ANSYS的 *GET 命令,它訪問ANSYS數據庫并返回要查詢的數值,方便后續使用。ANSYS每執行一次查詢函數,便查詢一次數據庫,并用查詢值替代該查詢函數。
假如你想獲得當前所選擇的單元數,并把它作為*DO循環的上界。傳統的方法是使用*GET命令來獲得所選擇的單元數并把它賦給一個變量,則此變量可以作為*DO循環的上界來確定循環的次數
*get, ELMAX,elem,,count
*do, I, 1, ELMAX
…
…
*enddo
現在你可以使用查詢函數來完成這件事,把查詢函數直接放在*DO循環內,它就可以提供所選擇的單元數
*do, I, ELMIQR(0,13)
…
…
*enddo
這里的ELMIQR并不是一個數組,而是一個查詢函數,它返回的是現在所選擇的單元數。括弧內的數是用來確定查詢函數的返回值的。第一個數是用來標識你所想查詢的特定實體(如單元、節點、線、面號等等),括弧內的第二個數是用來確定查詢函數返回值的類型的(如選擇狀態、實體數量等)。
同本例一樣,通常查詢函數有兩個變量,但也有一些查詢函數只有一個變量,而有的卻有三個變量。
展開 利用VB生成APDL文件和Python文件的方法
2 方法
2.1 VB與APDL
事先編寫好的文件為ansys.txt,其格式如圖3所示,這些APDL命令不能直接嵌入VB進行使用,而是需要進行一定的轉換,轉換完成后可以嵌入VB程序里面,再由VB程序生成批處理文件,用于ANSYS執行有限元分析過程。
圖3 APDL文件格式
在VB里面的語句格式如圖4所示。
圖4 VB里面的APDL語句
對比圖3和圖4,可知兩者相差的語句部分為PrintLines(input,),因此只需在APDL語句補上該部分即可,為此編寫一些語句實現這個添加功能。語句如圖5所示,通過VB打開并讀取ansys.txt文件,再通過固定的輸出格式輸出添加語句后的文件,最終得到如圖6所示的VB_ansys.txt文件。
圖5 語句添加代碼
圖6 添加后的輸出文件
VB_ansys.txt文件中的語句即可直接嵌入到VB里面。
2.2 VB與Python
雖然Python腳本文件格式與APDL文件格式不一樣,但是將Python腳本文件處理成VB可以直接用來嵌入的語言格式的方法完全一樣。如圖7和圖8所示,分別是處理前和處理后的文件格式。
圖7 Python文件
圖8添加后的輸出文件
展開 ANSYS后處理操作技巧與各類問題良心大總結。
所存文件即在進入Ansys時設的工作目錄下。在Ansys圖形輸出窗口中,顯示各種有用圖形,需要儲存并輸出時,均可以該方式存為.bmp文件,以備用。
不知道大家對這個網格顯示滿不滿意,單元的顯示用藍色,背景白色!其實是很簡單的:
/color,wbak,whit
/color,elem,whit
/color,outl,blue
看一看/color命令,你可是設置自己想要得效果
23.ASBW, NA, SEPO, KEEP
Subtracts the intersection of the working plane from areas (divides areas).
SEPO — The resulting areas will have separate, but coincident line(s).
創建接觸時可考慮使用
24.如何在程序“外部”修改Ansys建模語句中的參數
如果對已做好的模型再增加僅僅幾條語句來修改某些參數,例如用UIMP,1,****修改材料1的參數,可否在程序外部實現?!
打開 log 文件或在 File 菜單下執行 write DB log file,將建模過程寫成命令流。然后在該文件中進行修改就是了。不過需要你對 ANSYS 的命令有一些了解才行。學吧!
得到*lgt文件,改為*log文件即可修改操作
25.ANSYS在模擬錨桿支護巖體問題中,是不是要涉及到接觸問題,目標面和接觸面又是怎么確定的呢?請問:錨桿預應力如何施加?
如果你想研究錨桿的具體受力情況的話,那就要考慮接觸,如果你只是泛泛的研究整個結構的力學行為的話就沒必要考慮接觸。考慮接觸的話ansys有自帶施加接觸工具欄,
26.隧道開挖模擬方法
小弟正在做一個大跨度隧道的施工模擬。
展開 ANSYS接觸和出圖技巧
所存文件即在進入Ansys時設的工作目錄下。在Ansys圖形輸出窗口中,顯示各種有用圖形,需要儲存并輸出時,均可以該方式存為.bmp文件,以備用。
不知道大家對這個網格顯示滿不滿意,單元的顯示用藍色,背景白色!其實是很簡單的:
/color,wbak,whit
/color,elem,whit
/color,outl,blue
看一看/color命令,你可是設置自己想要得效果
23.ASBW, NA, SEPO, KEEP
Subtracts the intersection of the working plane from areas (divides areas).
SEPO - The resulting areas will have separate, but coincident line(s).
創建接觸時可考慮使用
24.如何在程序"外部"修改Ansys建模語句中的參數
如果對已做好的模型再增加僅僅幾條語句來修改某些參數,例如用UIMP,1,****修改材料1的參數,可否在程序外部實現?!
打開 log 文件或在 File 菜單下執行 write DB log file,將建模過程寫成命令流。然后在該文件中進行修改就是了。不過需要你對 ANSYS 的命令有一些了解才行。學吧!
得到*lgt文件,改為*log文件即可修改操作
25.ANSYS在模擬錨桿支護巖體問題中,是不是要涉及到接觸問題,目標面和接觸面又是怎么確定的呢?請問:錨桿預應力如何施加?
如果你想研究錨桿的具體受力情況的話,那就要考慮接觸,如果你只是泛泛的研究整個結構的力學行為的話就沒必要考慮接觸。考慮接觸的話ansys有自帶施加接觸工具欄,
***錨桿預應力可以用初始變形添加***
26.隧道開挖模擬方法
小弟正在做一個大跨度隧道的施工模擬。現在主要采取兩種方法:
一、直接施加重力場進行計算。
展開