中文引用格式: 馬軼聰,牟泓宇,淮曉永. 基于服務架構的OpenFOAM求解客戶端設計[J]. 電子技術應用,2023,49(3):124-129.
英文引用格式: Ma Yicong,Mou Hongyu,Huai Xiaoyong. Design of OpenFOAM solver client based on service architecture[J]. Application of Electronic Technique,2023,49(3):124-129.
0 引言
計算流體動力學(Computational Fluid Dynamics,CFD)是通過計算機數(shù)值模擬計算和圖像顯示,對包含有流體流動及熱傳導等相關物理現(xiàn)象的系統(tǒng)進行分析的一門學科[1],在工業(yè)設計中起到了重要的作用。經(jīng)過幾十年的長足發(fā)展,已有多款CFD商業(yè)軟件(Fluent、CFX、STAR-CD/CCM+等)被應用于科研及實際生產(chǎn)中。由于商業(yè)軟件在使用上有較高專業(yè)性要求且費用高昂,OpenFOAM作為一款開源免費的解算工具庫被越來越多的科研人員所使用[2]。OpenFOAM軟件配置過程靈活,可以通過自定義編程進行使用,但由于OpenFOAM僅支持通過命令行形式進行調(diào)用、無GUI圖形交互[3]的原因,導致軟件的使用效率較低,且新手使用時上手困難。同時,OpenFOAM僅為一些基本物理量提供設置及監(jiān)控,對于其他物理量的監(jiān)控則需要用戶編程進行實現(xiàn),提高了軟件的使用門檻與操作難度。因此,針對于OpenFOAM的GUI功能開發(fā)也成為了提高軟件使用效率的重要拓展方向之一。
由于解算軟件功能復雜,現(xiàn)有的商業(yè)軟件為滿足大部分業(yè)務使用者的交互需求,開放了更多的參數(shù)設置接口,提高了GUI界面參數(shù)配置流程的復雜性。用戶在進行求解參數(shù)配置時,需要考慮其他參數(shù)對當前工程解算的影響,增大了使用難度。因此,GUI定制化開發(fā)也成為了目前解算軟件致力于解決的問題。除此之外,求解計算主要以網(wǎng)格為計算對象單元,為了獲得更加準確的數(shù)值仿真結果,工程中需要將計算域劃分為非常細小的網(wǎng)格單元,使得計算網(wǎng)格量通??梢赃_到千萬甚至上億的數(shù)量級。網(wǎng)格數(shù)量越多,計算時對CPU、內(nèi)存等計算資源的需求也會越高。因此,大型復雜模型的仿真求解需要大量的計算資源進行支撐,提高軟件使用效率。
為了解決OpenFOAM缺少GUI交互功能的問題,本文設計實現(xiàn)了一個OpenFOAM求解客戶端,提供友好的用戶交互界面。為了滿足求解計算中對于大量計算資源的需求,設計了基于服務的“云+端”計算架構[4],設計開發(fā)了一個OpenFOAM求解器服務,將OpenFOAM求解器進行服務化封裝,部署于云端,通過云端協(xié)同的方式實現(xiàn)遠程云端解算服務調(diào)用、可視化服務調(diào)用。通過使用云端豐富的計算資源,滿足用戶使用場景需求,提高軟件使用效率。同時,軟件客戶端使用界面模板進行求解設置界面的動態(tài)生成,支持用戶界面自定義配置,滿足了軟件易維護、可拓展的特性。
本文詳細內(nèi)容請下載:http://ihrv.cn/resource/share/2000005241
作者信息:
馬軼聰,牟泓宇,淮曉永
(華北計算機系統(tǒng)工程研究所,北京 100083)