一切推理都必須從觀察與實驗中得來。
— 伽利略
培訓、文檔、網路檢索都有用處,但沒什麼能替代親自觀察,實驗和思考,“實踐是檢驗真理的唯一標準””。
BatchMesher顧名思義就是批量地對零件進行網格劃分,在2D網格劃分方面有很明顯的速度和品質優勢,其實質是根據 Criteria 檔裡面的單元品質要求和Parameters 檔中的特徵處理/ 網格劃分等控制參數進行自動反覆運算處理。
Part 1
BatchMesher 的使用流程
目前有兩種方法可以打開 BatchMesher。一種是從automesh面板中調用,對當前HyperMesh中的曲面進行網格劃分,劃分後還可以結合HyperMesh的其它工具對零件進行處理,比較靈活,適用於曲面相對較少或者網格品質要求較高的場合。
另外一種方法是從windows開始功能表下打開單獨的 BatchMesher,可以一次劃分多個檔中的模型,適合大量零件的網格劃分。劃分完後也可以通過HyperMesh 打開查看網格是否需要修改。。
首先,通過一個簡短的視頻瞭解一下 BatchMesher 的使用流程。
打開單獨的 BatchMesher 後,介面上有4個標籤頁,簡要說明如下:
1. Run Setup 標籤頁
主要用於選擇要進行網格劃分的零件以及相應的輸出檔和目錄,並為每個檔選擇設定檔。此外,可以對每個檔進行tcl腳本的選擇。
2. Run Status 標籤頁
用於查看當前網格劃分的進度等資訊。
可以看到隊列中還有多少個檔等待劃分。對於已經劃分好的檔可以直接點擊左下方的HyperMesh按鈕可以在HyperMesh中打開查看(同時也會載入對應的配置文件)。
3. Configurations 標籤頁
用於載入和編輯用戶自訂設定檔,然後可以在 Run Setup 選擇使用這些設定檔。該標籤頁是發揮BatchMesher 巨大威力的根本所在。
4. User Procedures 標籤頁
主要用於載入和設置使用者副程式。使用者副程式也是普通的tcl腳本,不過編寫的時候需要使用BatchMesher 特有的一些約定。
Part 2
Criteria文件介紹
Criteria檔不僅僅用於 BatchMesher,還可以在QualityIndex 或者 element cleanup 等面板中看到它的身影。
通常使用者不需要設置 Advanced Criteria Table,裡面的加權係數和各個參數值是已經調試好的值。
➡ 最小單元尺寸和最大單元尺寸的範圍要足夠大,常用的最小單元尺寸是目標單元尺寸的25%左右,最大單元尺寸是目標單元尺寸的兩倍左右,這樣得到的網格劃分結果更好。適當減小最小單元尺寸可以獲得更好的網格。
➡ Use min length from time step calculator 只用於顯式分析的網格。顯式分析時候對最小單元尺寸有明確要求,但是由於 timestep 還取決於很多網格尺寸以外的參數,所以這裡的結果只是個給定材料條件下的大概值。
➡ 一般即使不選擇三角形百分比控制,BatchMesher 也會儘量控制三角形數量,所以通常的做法是不選該項目,這樣得到的網格流向更好。
➡ 翹曲對網格劃分有較大影響,一般推薦值是20~25度。設置太小的翹曲值會導致大量四邊形被切割成三角形或者節點脫離幾何面。
單元品質只是實際單元偏離理想形狀程度的一種度量,不同的求解器會有不同的定義。HyperMesh 的單元品質計算方法盡可能與主流的求解器保持一致,用戶也可以在上圖中為不同的品質檢查項目選擇不同的計算方法。
2D單元部分品質檢查項目的 HyperMesh 計算方法如下表(某些指標有多種計算方法,只列出其中一種):
➡ Aspect Ratio 長寬比:最長邊與最短邊或者頂點到對邊最短距離(最小標準化高度)的比值。
➡ Chordal Deviation 弦差:近似直線段與實際曲線的最短垂向距離
➡ Interior Angles 内角:三角形和四邊形的內角
➡ Jacobian 雅可比:雅可比反映了單元偏離其理想形狀的程度。雅可比的取值範圍為0.0到1.0, 雅可比矩陣的行列式關係到單元從參數空間到全域座標空間的轉換。
HyperMesh 在單元的每個高斯積分點或者單元的頂點計算雅可比矩陣,並報告每個單元最小值和最大值之比。雅可比在0.7以上時單元品質較高。可以在Check Element Settings 中設定使用哪種計算方法(高斯積分點或頂點)。
➡ Length (min.)最小邊長:
最小邊長有以下兩種計算方法:
1. 單元最短邊長:適用於四面體單元之外的所有單元;
2. 頂點到對邊(對於四面體單元而言是對面)的最短距離。
可以在Check Element Settings中設定使用哪種計算方法,如下圖
注意:該設置同時會影響縱橫比的計算方法
Skew扭曲度:扭曲度=90-MIN(a, b),其中a,b為中線與底邊平行線的夾角
➡ Taper錐形度:表徵組成四邊形的兩個三角形的大小關係
對於三角形單元,taper值定義為0
➡ Warpage翹曲角:將四邊形沿著對角線分為兩個三角形,這兩個三角形的法向夾角就是翹曲角。該項只對四邊形進行檢查。
注意:將四邊形沿著對角線分為兩個三角形有兩種分法,取較大值為單元翹曲角。
Part 3
parameters配置文件
➡ 單元尺寸,導入容差和導入過程自動幾何清理設置,這裡的目標單元尺寸和 parameters 檔中的值必須相等
➡ 中面抽取設置
目前有中面抽取和直接中面網格兩種方法都可以得到中面網格。
第二種方法主要應用於注塑件等複雜結構。如果幾何檔已經是中面了,這裡就不要再重新抽取中面。對於鈑金件推薦使用skin offset方法進行中面的抽取。
➡ 曲面孔處理
鈑金件通常都有一些孔,孔的處理是一件費時費力的工作,所以 BatchMesher 對平面孔的處理方面有很強的自動識別-幾何處理-網格劃分能力。只要設定檔設置合適,孔附近就可以得到不錯的網格。
可以通過半徑範圍把孔分成不同的範圍,可以填充孔或者調整孔的半徑或者在孔的周邊增加washer。創建washer時還可以指定孔邊的單元數以及washer的優先順序。
使用者需要確保按照規則得到的washer的最小單元尺寸不小於單元品質要求的最小值。
最小單元尺寸的計算公式如下 ⬇
例如:半徑為2.5mm的孔,如果孔邊放6個單元,結果網格的最小單元尺寸為2.5mm。
可以在 Compose 簡單驗證如下:
輸入: r=2*2.5*sin(pi/6)
輸出: r = 2.5
孔邊的單元數通常應該是大於6的偶數
Elems mode 推薦使用“minimal”, 如果外徑超過目標單元尺寸的140%或者小於60%,可以考慮“exact” 模式;
Washer寬度推薦使用auto,因為1*radius模式可能導致單元尺寸過小或者雅可比太小。
如果兩個孔的距離過近,那麼系統就無法同時滿足兩個孔的washer要求,這時可以通過最後一列來設置哪個半徑的孔具有高優先順序。
下圖所示,如果設置為小孔優先,則大孔的washer要求被忽略,反之如果是大孔優先,則小孔的washer要求將被忽略。
如果你有哪一項設置沒有理解清楚,不妨拿一個簡單的零件試一試。
首先在Altair Evolve軟體中創建一個具有各種不同半徑的孔的平面。
接下來設置相應的控制檔
然後在 automesh 或者在 BatchMesher 中進行測試,結果如下:
局部放大後
1
成功填孔並創建圓心tag
2
半徑為4的孔,3層washer
3
半徑30的孔,2層washer
4
兩個washer設置有衝突的孔的處理結果
另外,在右上角的位置的幾個孔的washer數量大於要求的層數(當然,買一送一在這裡並沒有什麼害處),原因可能是因為孔的附近沒有其它特徵約束,但是這些説明文檔是沒有解釋的。可以自己動手驗證一下,比如,在孔的附近加一個特徵。
重新劃分後的結果如下:
再看一個logo remove的控制項,parameters檔的控制專案如下 ⬇
Logo remove
各參數的幾何意義:
contour_accumulated_turn_angle:等高累積轉角
user guide 中的解釋如下 ⬇
The contour_accumulated_turn_angle is the sum of angles between a letters contour straight parts. Curved parts of a contour letter are approximated by a segmented line composed of short straight segments. For completely concave contour (such as circles, quads, and hexagons) concavity factor contour_accumulated_turn_angle = 360 degrees and concavity factor = 0.
To extend the recognition and removal of a logo, the Concavity factor should be reduced.
翻譯如下 ⬇
等高累積轉角是一個字元中等高且平直的面間的夾角的總和。彎曲部分會先用一系列直線段進行近似。對於完整的凹等高面(比如圓形,四邊形或正六邊形凹台),總角度的和為360,根據公式可以計算得到凹度為0。具體計算的公式恐怕只有看到原始程式碼才能明白了。
通常你只需要知道:降低凹度可以增強logo面的識別。
選項並不難理解,但是沒有實際測試一下總還是不大放心的。
直接在HyperMesh中打開一個零件,一個X字元的高度大約0.8mm,長度大約8mm
設置好參數(這次我們只處理幾何,不劃網格試試)
然後到automesh面板下點擊mesh
得到的結果如下圖所示
說明通過設置正確的參數可以找到logo曲面!
總結
上面的介紹不難發現,BatchMesher 設置參數的好壞和幾何中的特徵以及特徵間的關係是密切相關的。
所以針對不同的零件可能需要調整設定檔才能得到比較好的網格。
還有一些重要的設置,我們下一期繼續哦~
想了解HyperWorks公開培訓課程的小伙伴們可以點擊加入Altair官方LINE,更多優質課程等你來參加~
留言列表