【HyperMesh寶典】之BatchMesher上

本貼原創,作者:AltairChina 方獻軍

方獻軍老師說:“培訓、文檔、網絡都很有用,但是沒有什么能替代親自觀察,實驗和思考,不清楚的時候就測試一下。”

BatchMesher 顧名思義就是批量地對零件進行劃分網格,在2D網格劃分方面有很明顯的速度和質量優勢,其實質是根據Criteria文件里面的單元質量要求和Parameters文件中的特征處理/網格劃分等控制參數進行自動迭代處理。 

第一部分:BatchMesher的使用流程

目前有兩種方法可以打開BatchMesher。一種是從automesh面板中調用,對當前hm中的曲面進行網格劃分,劃分后還可以結合HyperMesh的其它工具對零件進行處理,比較靈活,適用于曲面相對較少或者網格質量要求較高的場合。

1.jpg

另外一種方法是從windows開始菜單下打開單獨的BatchMesher,可以一次劃分多個文件中的模型,適合大量零件的網格劃分。劃分完后也可以通過HyperMesh打開查看網格是否需要修改。

首先,通過一個簡短的視頻了解一下BatchMesher的使用流程。

【HyperMesh寶典】之BatchMesher上的圖2batchmesher_demo.mp4

 打開單獨的BatchMesher后,界面上有4個標簽頁,簡要說明如下:

1、Run Setup標簽頁

主要用于選擇要進行網格劃分的零件以及相應的輸出文件和目錄,并為每個文件選擇配置文件。此外,可以對每個文件進行tcl腳本的選擇。

2.jpg

2、Run Status標簽頁

用于查看當前網格劃分的進度等信息。可以看到隊列中還有多少個文件等待劃分。對于已經劃分好的文件可以直接點擊左下方的HyperMesh按鈕可以在HyperMesh中打開查看(同時也會載入對應的配置文件)。

3.jpg

3、Configurations標簽頁

用于加載和編輯用戶自定義配置文件,然后可以在Run Setup選擇使用這些配置文件。該標簽頁是發揮BatchMesher巨大威力的根本所在。

4.jpg

4、User Procedures標簽頁

主要用于加載和設置用戶子程序。用戶子程序也是普通的tcl腳本,不過編寫的時候需要使用BatchMesher特有的一些約定。關于如何編寫tcl腳本的知識可以參考【HyperMesh寶典】前面的內容或者參加澳汰爾公司的培訓。

5.jpg

第二部分:Criteria文件介紹

Criteria文件不僅僅用于BatchMesher,還可以在QualityIndex或者element cleanup等面板中看到它的身影。

6.jpg

通常用戶不需要設置Advanced Criteria Table,里面的加權系數和各個參數值是已經調試好的值。

  • 最小單元尺寸和最大單元尺寸的范圍要足夠大,常用的最小單元尺寸是目標單元尺寸的25%左右,最大單元尺寸是目標單元尺寸的兩倍左右。這樣得到的網格劃分結果更好,適當減小最小單元尺寸可以獲得更好的網格。

  •  Use min length from time step calculator只用于顯式分析的網格。顯式分析時候對最小單元尺寸有明確要求,但是由于timestep還取決于很多網格尺寸以外的參數,所以這里的結果只是個給定材料條件下的大概值。

  • 一般即使不選擇三角形百分比控制,BatchMesher也會盡量控制三角形數量,所以通常的做法是不選該項目,這樣得到的網格流向更好。

  • 翹曲對網格劃分有較大影響,一般推薦值是20~25度。設置太小的翹曲值會導致大量四邊形被切割成三角形或者節點脫離幾何面。

單元質量只是實際單元偏離理想形狀程度的一種度量,不同的求解器會有不同的定義。HyperMesh的單元質量計算方法盡可能與主流的求解器保持一致,用戶也可以在上圖中為不同的質量檢查項目選擇不同的計算方法。

2D單元部分質量檢查項目的hm計算方法如下表(某些指標有多種計算方法,只列出其中一種):

? Aspect Ratio縱橫比:最長邊與最短邊或者頂點到對邊最短距離(最小標準化高度)的比值。

? Chordal Deviation弦差:近似直線段與實際曲線的最短垂向距離

7.jpg

?  Interior Angles內角:三角形和四邊形的內角

8.jpg

?  Jacobian雅可比:【HyperMesh寶典】之BatchMesher上的圖10【HyperMesh寶典】之BatchMesher上的圖11雅可比反映了單元偏離其理想形狀的程度。雅可比的取值范圍為0.0到1.0, 雅可比矩陣的行列式關系到單元從參數空間到全局坐標空間的轉換。

9.jpg

 HyperMesh在單元的每個高斯積分點或者單元的頂點計算【HyperMesh寶典】之BatchMesher上的圖13【HyperMesh寶典】之BatchMesher上的圖14雅可比矩陣,并報告每個單元最小值和最大值之比。雅可比在0.7以上時單元質量較高。可以在Check Element Settings中設定使用哪種計算方法(高斯積分點或頂點)。

? Length (min.)最小邊長:

10.jpg

最小邊長有以下兩種計算方法:

1、單元最短邊長:適用于四面體單元之外的所有單元;

2、頂點到對邊(對于四面體單元而言是對面)的最短距離。

【HyperMesh寶典】之BatchMesher上的圖16【HyperMesh寶典】之BatchMesher上的圖17可以在Check Element Settings中設定使用哪種計算方法,如下圖

11.jpg

注意:該設置同時會影響縱橫比的計算方法

Skew扭曲度:扭曲度=90-MIN(a, b),其中a,b為中線與底邊平行線的夾角

12.jpg

? Taper錐形度:表征組成四邊形的兩個三角形的大小關系

13.jpg
14.jpg

對于三角形單元,taper值定義為0

? Warpage翹曲角:將四邊形沿著對角線分為兩個三角形,這兩個三角形的法向夾角就是翹曲角。該項只對四邊形進行檢查。

注意:將四邊形沿著對角線分為兩個三角形有兩種分法,取較大值為單元翹曲角。

15.jpg

第三部分:parameters配置文件。

16.jpg

?  單元尺寸,導入容差和導入過程自動幾何清理設置,這里的目標單元尺寸和parameters文件中的值必須相等

17.jpg

?  中面抽取設置

目前有中面抽取和直接中面網格兩種方法都可以得到中面網格。第二種方法主要應用于注塑件等復雜結構。如果幾何文件已經是中面了,這里就不要再重新抽取中面。對于鈑金件推薦使用skin offset方法進行中面的抽取。

18.jpg

?  曲面孔處理

?  鈑金件通常都有一些孔,孔的處理是一件費時費力的工作,所以BatchMesher對平面孔的處理方面有很強的自動識別-幾何處理-網格劃分能力。只要配置文件設置合適,孔附近就可以得到不錯的網格。

19.jpg

可以通過半徑范圍把孔分成不同的范圍,可以填充孔或者調整孔的半徑或者在孔的周邊增加washer。創建washer時還可以指定孔邊的單元數以及washer的優先級。

用戶需要確保按照規則得到的washer的最小單元尺寸不小于單元質量要求的最小值,最小單元尺寸的計算公式如下:

Element size = 2.radius.sin(180/#elements)【HyperMesh寶典】之BatchMesher上的圖27

例如:半徑為2.5mm的孔,如果孔邊放6個單元,結果網格的最小單元尺寸為2.5mm。

可以在Compose簡單驗證如下:

? 輸入: r=2*2.5*sin(pi/6)

?  輸出: r = 2.5

20.jpg

孔邊的單元數通常應該是大于6的偶數

Elems mode推薦使用“minimal”, 如果外徑超過目標單元尺寸的140%或者小于60%,可以考慮“exact” 模式

Washer寬度推薦使用auto,因為1*radius模式可能導致單元尺寸過小或者雅可比太小。

21.jpg

如果兩個孔的距離過近,那么系統就無法同時滿足兩個孔的washer要求,這時可以通過最后一列來設置哪個半徑的孔具有高優先級。下圖所示的是小孔優先,因而大孔的washer要求被忽略了。

22.jpg

如果你有哪一項設置沒有理解清楚,不妨拿一個簡單的零件試一試。

首先在Evolve中創建一個具有各種不同半徑的孔的平面。

23.jpg

接下來設置相應的控制文件

24.jpg

25.jpg

然后在automesh或者在BatchMesher中進行測試,結果如下:

26.jpg

局部放大后

1、成功填孔并創建圓心tag

27.jpg
27.jpg

2、半徑為4的孔,3層washer

28.jpg

3、半徑30的孔,2層washer

29.jpg

4、兩個washer設置有沖突的孔的處理結果

30.jpg
30.jpg

另外,在右上角的位置的幾個孔的washer數量大于要求的層數(當然,買一送一在這里并沒有什么害處),原因可能是因為孔的附近沒有其它特征約束,但是這些幫助文檔是沒有解釋的。可以自己動手驗證一下,比如,在孔的附近加一個特征。重新劃分后的結果如下:

31.jpg

再看一個logo remove的控制項,parameters文件的控制項目如下

?  Logo remove

32.jpg

各參數的幾何意義:

33.jpg

contour_accumulated_turn_angle:等高累積轉角,幫助文件中有一段話解釋

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

34.jpg

設置好參數(這次我們只處理幾何,不劃網格試試)

35.jpg

然后到automesh面板下點擊mesh

36.jpg

得到的結果如下圖所示

37.jpg

說明通過設置正確的參數可以找到logo曲面。

從上面的介紹不難發現,BatchMesher的設置參數的好壞和幾何中的特征以及特征間的關系是密切相關的。所以針對不同的零件可能需要調整配置文件才能得到比較好的網格。

還有很多重要的設置沒有介紹,敬請期待下一期~

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

8
4
23