最新消息
NEWS
【SimLab技巧】多核並行提高網格劃分效率
2022.11.14

SimLab技巧 多核平行運算提高網格劃分效率

精度和效率是一直 CAE  工程師追求的兩大目標。有限元分析中,前處理大概佔據工程師70%的時間,而網格劃分又是整個前處理過程中佔據時間最多的,因此 CAE 工程師們不斷地研究提升網格劃分效率的方法。

文章將介紹 SimLab 多核並行網格劃分方法,幫助大家進一步提高網格劃分效率。

 

 

 多核並行網格劃分參數介紹

 

SimLab 支持兩種模式的多核並行網格劃分算法:多零件並行和單零件並行。

多零件並行網格劃分指幾何模型裝配體中有多個零件,對應 SimLab 軟體中的多個 body,軟體給每個零件分配一個核進行網格劃分,實現並行網格劃分;

單零件並行網格劃分指整個幾何模型中只有一個零件,對應 SimLab 軟體中的一個 body,軟體調用多個核同時為該零件劃分網格,實現並行網格劃分。

 

“多零件並行”算法設置方法如下:

將 File > Preferences > Applications > Options > Number of cores 參數設置為大於 1 的數字。

圖: 啟動多核網格劃分選項1

 

“單零件並行”算法設置方法如下:

1. 將 File > Preferences > Applications > Options > Number of cores 參數設置為大於 1 的數字;

2. 同時將 File > Preferences > Mesh > Use Multi-thread surface mesher (Parasolid) 選項啟動。單零件並行算法只支援 Parasolid 格式的幾何模型,若幾何模型是其他格式,請使用 File > Import > CAD: Translated Geometry 方法將幾何模型轉化為 Parasolid 格式。

圖: 起動多核網格劃分選項2

 

 

 並行網格劃分效率測試

 

 多零件並行算法測試

測試幾何模型格式為 Parasolid 格式,裝配體中共有 4 個零件,總體尺寸為 204 x 197 x 76 mm,網格尺寸為 3mm。分別測試三種網格劃分方法下的並行效率:基於幾何劃分面網格,基於面網格劃分四面體網格,基於幾何劃分四面體網格。

對於每種網格劃分方法,分別測試不開啟 Multi-thread surface mesher 選項時,分別使用 1 核、4 核和 12 核的情況下劃分網格所需要的時間,即表格中第二三四列對應數據;另外測試開啟 Multi-thread surface mesher 選項時,分別使用 4 核和 12 核時劃分網格所需要的時間,即表格中第五六列對應數據。

 

測試結果如下表所示:

由上表可得如下結論:模型中有多個零件時,起動 Number of cores 選項,基於幾何劃分面網格,多核並行能提高效率,基於面網格劃分四面體網格,多核並行能提高效率,基於幾何劃分四面體網格多核並行不能提高效率。 

 

 單零件並行算法測試

測試幾何模型格式為 Parasolid 格式,裝配體中只有 1 個零件,總體尺寸為 400 x 426 x 190 mm,網格尺寸為 5mm。測試方法與多零件並行算法測試中保持一致。測試結果如下表所示:

由上表可得如下結論:模型中只有一個零件時,同時啟動 Number of cores 和 Use Multi-thread surface mesher (Parasolid) 兩個選項,基於幾何劃分面網格,多核並行能有效提升網格效率,但當核數大於 4 核後效率不會明顯提升;基於面網格劃分體網格,多核並行不能提高效率,基於幾何劃分四面體網格,多核並行不能提高效率。

 

 多核並行網格劃分參數推薦

幾何模型中有多個零件時,只啟動 Number of cores 選項,且設置的核心數不超過零件個數;

幾何模型中只有一個零件時,同時啟動 Number of cores 和Use Multi-thread surface mesher (Parasolid) 選項,設置的核心數不超過 4核。

 

 自動化腳本中如何 設置多核並行網格劃分

 

若想在用腳自動劃分網格時,設置多核並行劃分網格,該如何設置呢?

SimLab 2021.1 及之後的版本提供二次開發接口 setUserDefinedSettings 可滿足需求,用法如下:

1)在 File > Preferences 選單中設置好多核並行參數,擊右下角的 Export 按鈕,然後將設置導出後綴為 ini 的文件 ;

2)在 Python 腳本中加入如下所示的一行代碼,即可載入多核並行設置參數,請將代碼放到網格劃分對應的代碼之前。

simlab.setUserDefinedSettings(r"D:OneDrive - Altair Engineering, Inc echnical documentSimLabwechat_article20220327_multi_threading_mesh4core.ini")

 

順便提醒,修改某些 Preference 面板參數需要重新啟動 SimLab 才會生效,可在 SimLab 中定義名為“SL_USER_DEFINED_SYSTEM_SETTING_FILE”的環境變量,環境變量值設置為 ini 文件完整路徑。

 

想了解更多,歡迎聯絡我們申請試用或產品展示。

  • 電話 : (02)2518-9060
  • 郵件 : info@agilesim.com.tw
LINE
TOP