
發布
注冊
/
登錄ansys運算
關注創建者:王靖雯 創建時間:2023-03-07

ansys運算的實例教程
前面兩篇介紹了Solidworks和ANSYS經典界面中的布爾運算,本期當然是介紹Workbench布爾運算了,WB自帶的強大建模工具怎能遺漏呢。
下面娓娓道來,想學好Workbench建模技術的童鞋看仔細了哈。
WorkbenchDesignModeler中實體間的布爾運算包括如下幾種:Unite(相加),Subtract(相減), Intersect(相交), Imprint Faces(印記面)。
關于印記面的專題介紹請參考什么是印記面?。
還包括其它形式的布爾運算如:Add Material,Cut Material, Slice.
布爾運算的菜單入口如下圖1。
圖1 布爾運算菜單入口
下面以一個小模型來演示布爾運算使用方法,方便大家理解。下圖是一個花鍵軸和圓盤組合在一起(有重合)。
圖2 演示幾何模型
1.Unite
Unite操作起來很簡單,只需要選中這里的軸和圓盤2 Bodies,Generate 一下就可以了,然后之前選中的2個實體就變成了一個新的實體了。如下圖3所示。
圖3選擇兩個實體進行Unite元算
Unite和add material 有些類似,但是Add Material操作只能在導入模型、生成新體時使用,而Unite操作可以在現有的模型中使用。
2. Subtract
WB DM中的Subtract功能也是與經典界面中的同出一轍,但稍遜于后者。新手需要特別注意Target Bodies 與Tool Bodies的區別!這兩項是必選項,很有必要弄清楚概念。Target Bodies是你需要減的母體,而Tools Bodies是你做減法所用的工具。即Target Bodies -Tool Bodies=期望得到的實體。
展開 加運算僅限于同級幾何圖素,而且相交部分最好與母體同級,但在低于母體一級時也可作加運算。如體與體的相加,其相交部分如為體或面,則加運算后為一個體;如相交部分為線,則運算后不能生成一個體,但可公用相交的線;如相交部分為關鍵點,同樣加運算后公用關鍵點,但體不是一個,不能作完全的加運算。
如面與面相加,其相交部分如果面或線,則可完成加運算。如果相交部分為關鍵點,則可能生成的圖素會有異常,當然一般情況下不會出現這種加運算。
加運算完成后,輸入圖素的處理采用 BOPTN 的設置。如采用缺省設置,則輸入圖素被刪除。
加運算有 2 個命令,即AADD,VADD。線合并 LCOMB 命令不能算布爾加運算,其命令說明詳見前面創建線部分。
加運算命令:
面加運算:AADD,NA1, NA2, NA3, NA4, NA5, NA6, NA7, NA8, NA9
體加運算:VADD,NV1, NV2, NV3, NV4, NV5, NV6, NV7, NV8, NV9
其中 NX1~NX9 為相加圖素的編號,NX1 可以為 P、ALL 或組件名 (其中 X表示 A 或 V)。
3.減運算Subtract
減運算就是“刪除”母體中一個或多個與子體重合的圖素。與加運算不同的是減運算可在不同級圖素間進行,但相交部分最多與母體相差一級;例如體體減運算時,其相交部分不能為線,為面或體均可完成運算。減運算結果的最高圖素與母體圖素相同。
減運算完成后,輸入圖素的處理可采用 BOPTN 的設置,如采用缺省設置,則輸入圖素被刪除。也可不采用 BOPTN 的設置,而在減運算的參數中設置保留或刪除,該設置高于 BOPTN 中的設置,并且減圖素和被減圖素均可設置刪除或保留選項。
展開 ANSYS的結果進行二次運算并顯示云圖
在實際應用中經常會需要將ANSYS的計算結果進行二次運算,并重新顯示新的結果云圖。也即是ANSYS的現有計算結果不能滿足實際需求,需要自己在一次計算結果的基礎之上編寫計算方法。
在ANSYS里,這個過程是通過修改節點或者單元的結來實現的,筆者以前在ABAQUS里面也實現過這樣的過程,不過在ABAQUS里面不是通過直接修改節點/單元解實現的,而是可以重新定義新的結果變量。
ANSYS修改節點解釋通過DNSOL命令完成的,命令解釋如下:
DNSOL, NODE, Item, Comp, V1, V2, V3, V4, V5, V6
其中Item和Comp這兩個量是需要修改的變量名稱,例如需要修改位移X,則Item應為U,Comp應為X,后面的V1-V6就是新的值。
可以看到,利用DNSOL命令每次只能修改一個節點的值,因此,很多情況下是需要對全部的節點值進行修改,故通常需要和遍歷命令一起使用。
下面以一個實際的例子說明具體的使用方法。
新建一個簡單的模型,加載求解得到以下的結果,分別為x方向的位移和y方向的位移。
X方向的位移如下:
Y方向的位移如下:
現在需要將X和Y方向的位移進行重新計算,假設:
新的Ux=Ux**2+0.1
新的Uy=Uy**2-0.1
具體實現過程是先依次讀取計算得到的Ux和Uy,保存在自定義的數組中,然后定義新的數組,將前面的數組的數據分別處理后保存到新的數組之中,最后依次讀取新的數組的數據再通過DNSOL命令進行修改,修改完成即可顯示新的結果。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
展開 本系列文章致力于實現“手搓有限元,干翻Ansys的目標”,基本框架為前端顯示使用QT實現交互,后端計算采用Visual Studio C++。
Matrix類
矩陣基本類,用于有限元矩陣計算。
1、public function
1.1、構造函數與析構函數
構造函數用來初始化矩陣,析構函數用來釋放內存。
其基本調用方法如下:
X = Shell("D:\ANSYS Inc\v160\ansys\bin\winx64\ANSYS160.exe -b -p ansys -i VB_ANSYS.inp -o file.out")
Timer1.Enabled = True
其中“D:\ANSYS Inc\v160\ansys\bin\winx64 ”為ANSYS 軟件的運行路徑;“ansys160.exe”中的160 表示ANSYS 的版本代號;“-b -p ”為特殊字符,表示對ANSYS 進行后臺調用,即在整個調用ANSYS 時,不出現它的運行界面,只小窗體顯示其在運行計算中;“ane3fl”為產品特征代碼,不同的ANSYS 版本也不相同,“-i VB_ANSYS.inp”表示要輸入的命令流文件及存放位置;“-o file.out”表示輸出的結果文件的文件名及存放位置。
3、時間函數
為了使研究者能夠清晰地知道優化分析完成的時間,通常需要設定一個時間控件設計器,來輔助完成上述功能。基本表現為:Timer 控件開始的Enable 屬性設置為False,Interval 屬性設為3000。調用ANSYS 完畢后(即ANSYS 運算結束后),Timer 控件被激活,彈出“ANSYS 運算完畢!”的對話框。則整個調用運行代碼如下:
Private Sub Timer1_Timer()
If Dir(App.Path & "\file.err") <> "" Then
其中App.Path為當前目錄路徑,語句功能:如果有file.err文件產生,則說明VB的shell函數對ANSYS的調用成功。
MsgBox ("ANSYS運行完畢!")
展開 
ansys運算的相關專題、標簽、搜索
ansys運算的最新內容
并行運算<img src="https://img.jishulink.com/msimage/202510/f8ef56c546ce05b5c3fce1e27d2cce30.png">兩種安裝方式: INTEL 和MS<img src="https://img.jishulink.com/msimage/202510/f2d3cc39fa66f87836df0598f82fcf84.png"> 
本系列文章致力于實現“手搓有限元,干翻Ansys的目標”,基本框架為前端顯示使用QT實現交互,后端計算采用Visual Studio C++。
Matrix類
矩陣基本類,用于有限元矩陣計算。
1、public function
1.1、構造函數與析構函數
構造函數用來初始化矩陣,析構函數用來釋放內存。
Matrix.h聲明文件:
//
調用ANSYS 完畢后(即ANSYS 運算結束后),Timer 控件被激活,彈出“ANSYS 運算完畢!”的對話框。
對于三維復雜幾何模型而言,通常的做法是利用ANSYS布爾運算功能,將其切割成一系列四、五或六面體,然后對這些切割好的體進行映射網格劃分。當然,這種純粹的映射劃分方式比較煩瑣,需要的時間和精力較多。 面的三角形映射網格劃分往往可以為體的自由網格劃分服務,以使體的自由網格劃分滿足一些特定的要求,比如:體的某個狹長面的短邊方向上要求一定要有一定層數的單元、某些位置的節點必須在一條直線上、等等。
對于三維復雜幾何模型而言,通常的做法是利用ANSYS布爾運算功能,將其切割成一系列四、五或六面體,然后對這些切割好的體進行映射網格劃分。當然,這種純粹的映射劃分方式比較煩瑣,需要的時間和精力較多。面的三角形映射網格劃分往往可以為體的自由網格劃分服務,以使體的自由網格劃分滿足一些特定的要求,比如:體的某個狹長面的短邊方向上要求一定要有一定層數的單元、某些位置的節點必須在一條直線上、等等。
對于三維復雜幾何模型而言,通常的做法是利用ANSYS布爾運算功能,將其切割成一系列四、五或六面體,然后對這些切割好的體進行映射網格劃分。也可以用連接的方式來得到規則的面和體,連接后生成的線或面對任何實體建模操作都是無效的,僅用于網格的劃分。
面可以是三角形、四邊形、或其它任意多邊形。
創建復雜的幾何模型,可運用布爾運算對模型進行加工和修改。無論是自頂向下建模或是自底向上建模創建的圖素都可進行布爾運算,通過簡單的幾何模型進行一系列布爾操作可創建復雜的模型,使得建模較為容易和快捷。
對于包含退化的模型,有時布爾運算是無法完成的。對于已經劃分網格的圖素不能進行布爾運算,在操作前應清除網格,否則提示錯誤信息;同樣地,如果定義了荷載和單元屬性,在布爾運算后這些屬性不會轉換到新圖素上
可以看到SW的組合功能非常簡單(只有相加、相減、取交集三個類型),和ANSYS的布爾運算差遠了!而且還不能保留組合實體(花鍵軸),需要重新建個裝配文件裝配這兩個零件。
雖說功能簡單但還是具有一定的實用性。本實例中提現的建模便利之處是:只需要繪制一個花鍵槽即可,不需要考慮軸孔是否完全匹配。用組合操作能提高建模速度,也能很好的避免軸孔干涉或者間隙問題。
前面兩篇介紹了Solidworks和ANSYS經典界面中的布爾運算,本期當然是介紹Workbench布爾運算了,WB自帶的強大建模工具怎能遺漏呢。
下面娓娓道來,想學好Workbench建模技術的童鞋看仔細了哈。
WorkbenchDesignModeler中實體間的布爾運算包括如下幾種:Unite(相加),Subtract(相減), Intersect(相交), Imprint Faces(
ANSYS的結果進行二次運算并顯示云圖
在實際應用中經常會需要將ANSYS的計算結果進行二次運算,并重新顯示新的結果云圖。也即是ANSYS的現有計算結果不能滿足實際需求,需要自己在一次計算結果的基礎之上編寫計算方法。
在ANSYS里,這個過程是通過修改節點或者單元的結來實現的,筆者以前在ABAQUS里面也實現過這樣的過程,不過在ABAQUS里面不是通過直接修改節點/單元解實現的,而是可以重新定義新的結果變量