基于國(guó)產(chǎn)的“神威·太湖之光”,國(guó)家超級(jí)計(jì)算無(wú)錫中心發(fā)布了“無(wú)錫超算云平臺(tái)”,將打造世界一流的超算技術(shù)與產(chǎn)業(yè)發(fā)展深度融合的高性能計(jì)算應(yīng)用生態(tài)圈?,F(xiàn)已升級(jí)為“神工坊”2.0平臺(tái),即將于2022年4月公測(cè)。在此基礎(chǔ)上,向有需求的用戶提供進(jìn)一步的高性能仿真App定制化服務(wù)。
過(guò)去使用的傳統(tǒng)仿真設(shè)計(jì)流程存在以下的問(wèn)題:
1)仿真過(guò)程需要用到外國(guó)的商業(yè)前后處理軟件、流固耦合求解器軟件、數(shù)據(jù)管理軟件,需要支付高昂的License費(fèi)用。
2)仿真過(guò)程需要用到高性能計(jì)算硬件平臺(tái),自行部署同樣需要高昂的成本。
3)仿真過(guò)程要求工程師掌握大量的理論知識(shí),并具有工程經(jīng)驗(yàn)的積累,具有較高的門檻,提高了人力成本。
針對(duì)以上問(wèn)題,國(guó)家超級(jí)計(jì)算無(wú)錫中心先進(jìn)制造部基于一系列開(kāi)源代碼進(jìn)行了二次開(kāi)發(fā)和自主研發(fā)。對(duì)于仿真APP流程開(kāi)發(fā)上,主要是對(duì)SALOME平臺(tái)進(jìn)行了構(gòu)建。接下來(lái)本文將首先簡(jiǎn)要介紹SALOME平臺(tái)的概況,隨后展示一個(gè)簡(jiǎn)單的二次開(kāi)發(fā)案例。
Salome平臺(tái)介紹
SALOME是一款由法國(guó)電力集團(tuán)(EDF)、法國(guó)原子能和替代能源委員會(huì)(CEA)和Open CASCADE三方合作開(kāi)發(fā)的開(kāi)源工業(yè)仿真平臺(tái)。SALOME平臺(tái)為工程師、研究人員提供了一整套用于數(shù)值模擬整體流程的解決方案,包含:CAD、網(wǎng)格劃分、多物理場(chǎng)耦合、計(jì)算監(jiān)督、實(shí)時(shí)數(shù)據(jù)交互、結(jié)果可視化、不確定分析等高級(jí)模塊。這些模塊都有易于使用的GUI界面和直接調(diào)用的Python接口。開(kāi)發(fā)用戶可以根據(jù)實(shí)際模擬仿真的需要,組裝現(xiàn)有的特定模塊以及添加自定義模塊用于構(gòu)建仿真APP【1】。
目前SALOME平臺(tái)已經(jīng)更新到了9系列(截至2022/2/27,SALOME version 9.8.0已經(jīng)發(fā)布)。下面簡(jiǎn)要介紹一下9系列的重要模塊。
01?SHAPER
在SALOME9.3版本之后開(kāi)始支持的新模塊SHAPER是一個(gè)支持參數(shù)化的CAD建模器,允許用戶以交互的方式繪制具有各種約束的草圖,允許簡(jiǎn)單的3D零件裝配。SHAPER 專為模擬 CAD 模型而開(kāi)發(fā):
?◆?形狀設(shè)計(jì)致力于創(chuàng)建保形網(wǎng)格;
?◆?可以定義形狀組,如果修改了幾何形狀,則會(huì)自動(dòng)更新組;
?◆?可以進(jìn)行多維幾何的連接;非流形幾何是可行的,例如由兩個(gè)以上的面共享的邊;
?◆?幾何圖形可以通過(guò)python腳本,即文本用戶界面(TUI)進(jìn)行設(shè)計(jì)。
02?SMESH
SMESH是?SALOME 的網(wǎng)格模塊,它提供了廣泛的網(wǎng)格劃分算法,非常適用于有限元和有限體積方法。用戶可以用組/標(biāo)簽將網(wǎng)格以不同的幾何加以區(qū)分,這意味著可以區(qū)分網(wǎng)格的各種屬性甚至網(wǎng)格的類型(六面體或四面體)。這些組/標(biāo)簽還可以識(shí)別邊界以應(yīng)用相應(yīng)的邊界條件。當(dāng)然,這肯定有助于網(wǎng)格可視化和后處理操作。
關(guān)于網(wǎng)格劃分算法,SMESH模塊包含了:
◆?自身網(wǎng)格工具,用于四邊形、六面體、邊界層網(wǎng)格等;
◆?集成了開(kāi)源網(wǎng)格劃分工具:NETGEN和Gmsh;
◆?擁有商用許可的商業(yè)網(wǎng)格劃分工具M(jìn)G-CADSurf、MG-Tetra、MG-Hybrid、MG-Hexa。
03?PARAVIS
后處理模塊PARAVIS實(shí)際是強(qiáng)大的開(kāi)源前后處理軟件PARAVIEW。其分布式模式支持大規(guī)模的可視化任務(wù)。PARAVIS通過(guò)編寫Python腳本,可在必要時(shí)創(chuàng)建批處理可視化或需要重復(fù)對(duì)可變參數(shù)運(yùn)行的可視化任務(wù)。它可用于遠(yuǎn)程可視化集群,以交互方式分析大量結(jié)果。
Salome二次開(kāi)發(fā)案例
基于SALOME的仿真APP開(kāi)發(fā)依托于GUI模塊或稱為SUIT(SALOME User Interface Toolkit(SALOME用戶界面工具包))。該模塊通過(guò)SIP庫(kù)及SWIG庫(kù),前者實(shí)際是PYQT開(kāi)發(fā)商RiverBank開(kāi)發(fā)的用于PYQT的Python/C++混合編程解決方案【2】。通過(guò)SIP生成的Python接口,使得開(kāi)發(fā)者可以很方便地調(diào)用各個(gè)模塊,實(shí)現(xiàn)根據(jù)實(shí)際模擬仿真的需要,組裝現(xiàn)有的特定模塊以及添加自定義模塊用于構(gòu)建仿真APP。
下面是一個(gè)簡(jiǎn)單的二次開(kāi)發(fā)案例——桁架橋設(shè)計(jì)器【3】。使用到的SALOME原有模塊:SHAPER、GEOM、SMESH、PARAVIS。使用的求解器是著名開(kāi)源結(jié)構(gòu)有限元軟件Code-Aster。
該APP已經(jīng)集成至“神工坊”2.0平臺(tái)。圖形界面通過(guò)GPU集群渲染,保證用戶端流暢的圖形操作;后臺(tái)計(jì)算提交至超算高性能計(jì)算節(jié)點(diǎn)。
1. 注冊(cè)并登陸神工坊2.0平臺(tái),選擇“仿真計(jì)算”。
2.?雙擊TBridgeDesigner圖標(biāo)在彈出框中設(shè)置相應(yīng)參數(shù),點(diǎn)擊“提交”。
?3. APP界面操作
打開(kāi)APP是一個(gè)定制化的參數(shù)化建模界面,后臺(tái)是GEOM和SHPAER模塊的參數(shù)化建模腳本以及SMESH模塊的自動(dòng)劃分網(wǎng)格腳本。在“總體設(shè)計(jì)”選項(xiàng)卡中輸入幾何參數(shù),點(diǎn)擊“確定”即可在左側(cè)VTK viewer顯示網(wǎng)格劃分后的結(jié)果。“單元屬性”、“材料屬性”選項(xiàng)卡可設(shè)置不同幾何部分的單元屬性和材料屬性。設(shè)置完成后點(diǎn)擊“應(yīng)用”更新。
此外,為了方便用戶交互查看、設(shè)置不同位置的單元參數(shù),調(diào)用VTK-3D viewer顯示接口,高亮顯示不同位置的網(wǎng)格。
?點(diǎn)擊“提交計(jì)算”,后臺(tái)將通過(guò)調(diào)度器將作業(yè)提交至超算高性能計(jì)算節(jié)點(diǎn)。
?點(diǎn)擊頁(yè)面左側(cè)標(biāo)簽頁(yè)“Paraview后處理”直接切換至后處理界面。后處理窗口通過(guò)后臺(tái)PARAVIEW腳本操作與前端界面結(jié)合,實(shí)現(xiàn)了精簡(jiǎn)、可定制化的后處理顯示。后處理窗口可根據(jù)需求定制多個(gè),方便同時(shí)處理多種類型的結(jié)果以及結(jié)果之間的對(duì)比。
參考文獻(xiàn)
[1] https://www.salome-platform.org/
[2] SALOME GUI Architecture文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-412176.html
[3] http://cn.comsol.com/model/truss-bridge-designer-30831文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-412176.html
了解更多干貨,歡迎關(guān)注神工坊!
到了這里,關(guān)于Salome平臺(tái)介紹及二次開(kāi)發(fā)案例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!