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