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