
發布
注冊
/
登錄ansys if語句
關注創建者:王靖雯 創建時間:2023-03-08

ansys if語句的實例教程
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格式轉換,模型預覽,仿真計算及拓撲優化等功能。
展開 用戶開發界面
用戶界面的設計既要考慮到操作者友好的操作,也要保證為 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 函數的方法。
展開 *主要思想:
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運行完畢!")
展開 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并不是一個數組,而是一個查詢函數,它返回的是現在所選擇的單元數。括弧內的數是用來確定查詢函數的返回值的。第一個數是用來標識你所想查詢的特定實體(如單元、節點、線、面號等等),括弧內的第二個數是用來確定查詢函數返回值的類型的(如選擇狀態、實體數量等)。
同本例一樣,通常查詢函數有兩個變量,但也有一些查詢函數只有一個變量,而有的卻有三個變量。
展開 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 if語句的相關專題、標簽、搜索
ansys if語句的最新內容
的語句,最關鍵語句,詳解見下文
Timer1.Enabled = True
‘使用Timer控件,實現對調用結果的檢測
End Sub
Private Sub Timer1_Timer()
If Dir(App.Path & "\file.err") <> "" Then
‘App.Path為當前目錄路徑,語句功能:如果有file.err文件產生,
‘則說明VB的shell函數對
/ CLEAR (當ANSYS 讀入該語句時,清空以前的數據,開始一個新的分析)。
CAE Converter (在線CAD模型轉換軟件)
1.改進: 支持Ansys中*SET語句。
2.改進: 改進Abaqus模型轉換速度。
3.修復: 解決轉換大模型內存不足的問題。
4.修復:Abaqus模型包含未定義的ELSET造成的錯誤。
5.修復:Nastran自由格式中續行以逗號開頭造成的問題。
6.修復:Ansys中引用*DIM定義的Table造成的錯誤。
創建接觸時可考慮使用
24.如何在程序"外部"修改Ansys建模語句中的參數
如果對已做好的模型再增加僅僅幾條語句來修改某些參數,例如用UIMP,1,****修改材料1的參數,可否在程序外部實現?!
打開 log 文件或在 File 菜單下執行 write DB log file,將建模過程寫成命令流。然后在該文件中進行修改就是了。不過需要你對 ANSYS 的命令有一些了解才行。學吧!
圖5 語句添加代碼
圖6 添加后的輸出文件
VB_ansys.txt文件中的語句即可直接嵌入到VB里面。
2.2 VB與Python
雖然Python腳本文件格式與APDL文件格式不一樣,但是將Python腳本文件處理成VB可以直接用來嵌入的語言格式的方法完全一樣。如圖7和圖8所示,分別是處理前和處理后的文件格式。
創建接觸時可考慮使用
24.如何在程序“外部”修改Ansys建模語句中的參數
如果對已做好的模型再增加僅僅幾條語句來修改某些參數,例如用UIMP,1,****修改材料1的參數,可否在程序外部實現?!
打開 log 文件或在 File 菜單下執行 write DB log file,將建模過程寫成命令流。然后在該文件中進行修改就是了。不過需要你對 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 的幫助文件里找到
ANSYS 查詢函數(Inquiry Function)
資料來源:www.iccae.com
在ANSYS操作過程或條件語句中,常常需要知道有關模型的許多參數值,如選擇集中的單元數、節點數,最大節點號等。此時,一般可通過*GET命令來獲得這些參數。現在,對于此類問題,我們有了一個更為方便的選擇,那就是查詢函數 — Inquiry Function。
需要注意的是,在VC中調用ANSYS時,需要加一條判斷語句,以確定ANSYS
已經執行完畢。
在ANSYS中當然也可以以VC或FORTRAN作為子程序調用。可以參看有關ANSYS二次開發方面的資料。
這個方法應該是與系統無關的。
在FORTRAN中不需要判斷,FORTRAN會等ANSYS執行完畢才繼續執行下一條語句。
需要注意的是,在VC中調用ANSYS時,需要加一條判斷語句,以確定ANSYS
已經執行完畢。
在FORTRAN中不需要判斷,FORTRAN會等ANSYS執行完畢才繼續執行下一條語句。
在VC中,我沒有找到與FORTRAN類似的函數,只好加一條循環判斷語句。
如果誰能找著這樣的函數,請告訴我,謝謝!
判斷方法很簡單,只需判斷錯誤文件file.err是否可寫就可以了。