陳康肅公善射,當世無雙 ,公亦以此自矜。嘗射於家圃,有賣油翁釋擔而立,睨之久而不去。見其發矢十中八九,但微頷之。康肅問曰:”汝亦知射乎?吾射不亦精乎?”翁曰:”無他, 但手熟爾。”康肅忿然曰:”爾安敢輕吾射!”翁曰:”以我酌油知之。”乃取一葫蘆置於地,以錢覆其口,徐以杓酌油瀝之,自錢孔入,而錢不濕。因曰:”我亦無他,惟手熟爾。”康肅笑而遣之。此與莊生所謂解牛斫輪者何異?
——《賣油翁》
宋 · 歐陽修
即使在看起來完全不相干的領域,很多道理也依然是相通的。賣油翁和解牛、斫輪者都是特定領域的大師。看似很簡單的事情也存在很高深的境界。很多訣竅都有其不可言傳之處,只能在實踐中去感悟。
四面體網格劃分在HyperMesh中可以說是非常簡單的。基本思路是先劃分外表面的三角形網格,然後由外向內生成四面體網格。對外表面的三角形的基本要求有:
- 精確捕捉幾何特徵;
- 形成封閉空間;
- 單元品質不能太差;
- 相鄰單元的法向夾角不能太小;
- 相鄰兩片外表面之間的距離不能太小。
實例說明
用一個簡單的結構四面體的例子來說明。
Step1
打開幫助文件中的manifold_surf_mesh.hm
Step2
檢查自由邊。
因為該模型沒有自由邊,點擊find edges後,螢幕左下角會顯示:
如果有自由邊,那邊使用幾何/網格編輯工具修復,再檢查T型連接。
因為該模型沒有T型連接,點擊find edges後,螢幕左下角會顯示:
如果有T型連接,那邊使用幾何/網格編輯工具修復。
Step3
生成四面體單元。
如果是結構四面體,使用如下設置可以直接生成四面體,這裡我們讓程式自動將四邊形切割成三角形。
或者先在split面板將四邊形切割成三角形
如果是CFD分析用的體網格,需要先在CFD tetramesh面板生成邊界層。
對於複雜流體空間,可以使用1st cell height calc按鈕計算第一層邊界層的厚度。
在生成CFD體網格的面板裡面需要分別指定有邊界層和無邊界層的2D網格。
設置完畢後點擊mesh按鈕進行劃分,結果如下:
CFD網格通常要求在幾何突變處或者曲率較大的區域進行局部細化,automesh面板的surface deviation子面板可以滿足這些要求,第三列綠色的refine按鈕可以選擇幾何特徵進行進一步地細化。
Tetramesh面板有幾個比較重要的選項
1.速度/品質選項
通常選擇品質優先,只有當單元數量極大(比如大於幾千萬或上億)才採用速度優先。
2.插值演算法
網格品質要求較高時(或者想達到希望的品質要求有困難時)選擇Interpolate演算法;希望得到高品質流體邊界層時可以採用Octree based演算法。
在拓撲優化設計空間定義時可以採用user Controlled方法得到內外大小一致的四面體網格,設置方法如下圖:
和standard選項的對比如下:
實際中可能碰到的問題
問題1
模型沒有自由邊和T型連接,但是劃分四面體失敗。
這種情況通常在複雜的結構中出現,通常是因為2D網格的拓撲有錯誤或者單元之間的法向夾角過小。
模型如下:
模型中2D網格的品質良好而且也沒有自由邊和T型連接,但左側區域有兩排網格之間的夾角只有0.01度(基本上重合)。
如果我們直接使用tetramesh面板去生成四面體網格,HyperMesh也可以成功生成(說明tetramesh面板確實非常強大),但是得到的四面體網格的品質是非常差的。
要避免此類問題,可以使用tetramesh面板自帶的2D網格檢查工具。
得到的結果如下:
找到問題部位後局部修改2D網格即可。
問題2
體的內部有孔。
簡單的情況如下,如果採用預設設置中間的球形區域不會生成網格,如果希望在兩個區域同時都生成網格,可以這樣處理:
Step1
劃分2D單元。
Step2
打開tetramesh面板的fill voids選項。
生成的四面體網格如下:
問題3
體單元的局部細化。
通常應該在2D網格上完成細化後在生成體網格,但是在一些情況下也可能需要對體單元進行局部細化,Tetramesh面板提供了相應的選項。
Step1
在tetramesh面板的Refinement box子面板創建一個refine box並提供希望細化到的單元邊長(refinement size),輸入相應參數後點擊create按鈕進行創建。
如果希望再對該refine box進行編輯可以直接點擊freehand edit按鈕進行編輯。
Step2
在tetramesh parameters子面板選中該refine box對應的comp。
Step3
在tetramesh子面板進行四面體網格的生成,效果如下:
問題4
孔和圓角的特徵捕捉。
為了使圓角的單元呈規則排列,需要進行必要的幾何清理,劃分網格時使用mixed方法,結果如下圖所示:
圓孔的處理方法類似,結果如下圖所示:
實際上,四面體網格的絕大部分工作都在於生成表面網格,而生成高品質的表面網格可能會花費相當多的時間。對於動力總成、複雜注塑件等尤其如此。
如果對網格的要求不高,HyperMesh簡單易用的四面體劃分工具utility。
打開後介面如下圖:
該工具會自動完成幾何清理-2D網格劃分-2D單元清理-生成四面體單元整個過程。可能出現的主要問題是清理過程可能導致局部單元沒有緊貼幾何表面。
另外,HyperMesh的utility工具集中也提供了直接修正四面體單元品質的工具,請大家自己嘗試使用。
打開後會先要求使用者選擇四面體單元(框選部分或全部單元即可):
對於複雜模型建議選擇Remesh選項,否則局部幾何造成的問題單元可能無法修復。
四面體網格的常見要求
2.對於圓角,希望得到大小勻稱而且排列整齊的網格。
1.對於特定半徑範圍的圓柱孔,希望固定圓周方向的單元個數和軸線方向的單元長度。
3.大多數情況下希望圓柱面上的網格橫平豎直,尺寸一致。
4.四面體螺栓處有漂亮的washer。
5.在重要部位希望增加體單元的層數。
另外,我們有時希望軟體能自動按照事先給定的要求生成體網格。
所有這些功能HyperMesh都可以通過幾何清理或者tetramesh的控制實現。但是HyperWorks中還有更專業更自動化的四面體網格劃分工具——SimLab。
下面視頻中的零件特徵眾多,如果都要手工進行幾何清理,使用HyperMesh的工作量會很大。看看SimLab是怎麼處理的。
本期HyperMesh專題就到這裡啦~ 喜歡的小伙伴不妨给我們點個讚或者分享到朋友圈,下期方老師將給大家介紹更多SimLab的強大功能,我們下期見嚕~