中文引用格式: 馬軼聰,,牟泓宇,淮曉永. 基于服務(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ì)算流體動力學(xué)(Computational Fluid Dynamics,,CFD)是通過計(jì)算機(jī)數(shù)值模擬計(jì)算和圖像顯示,,對包含有流體流動及熱傳導(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)控,,對于其他物理量的監(jiān)控則需要用戶編程進(jìn)行實(shí)現(xiàn),,提高了軟件的使用門檻與操作難度。因此,,針對于OpenFOAM的GUI功能開發(fā)也成為了提高軟件使用效率的重要拓展方向之一,。
由于解算軟件功能復(fù)雜,現(xiàn)有的商業(yè)軟件為滿足大部分業(yè)務(wù)使用者的交互需求,,開放了更多的參數(shù)設(shè)置接口,,提高了GUI界面參數(shù)配置流程的復(fù)雜性。用戶在進(jìn)行求解參數(shù)配置時(shí),,需要考慮其他參數(shù)對當(dāng)前工程解算的影響,,增大了使用難度。因此,,GUI定制化開發(fā)也成為了目前解算軟件致力于解決的問題,。除此之外,求解計(jì)算主要以網(wǎng)格為計(jì)算對象單元,,為了獲得更加準(zhǔn)確的數(shù)值仿真結(jié)果,,工程中需要將計(jì)算域劃分為非常細(xì)小的網(wǎng)格單元,,使得計(jì)算網(wǎng)格量通常可以達(dá)到千萬甚至上億的數(shù)量級,。網(wǎng)格數(shù)量越多,,計(jì)算時(shí)對CPU、內(nèi)存等計(jì)算資源的需求也會越高,。因此,,大型復(fù)雜模型的仿真求解需要大量的計(jì)算資源進(jìn)行支撐,提高軟件使用效率,。
為了解決OpenFOAM缺少GUI交互功能的問題,,本文設(shè)計(jì)實(shí)現(xiàn)了一個(gè)OpenFOAM求解客戶端,提供友好的用戶交互界面,。為了滿足求解計(jì)算中對于大量計(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è)置界面的動態(tài)生成,,支持用戶界面自定義配置,,滿足了軟件易維護(hù)、可拓展的特性,。
本文詳細(xì)內(nèi)容請下載:http://forexkbc.com/resource/share/2000005241
作者信息:
馬軼聰,,牟泓宇,淮曉永
(華北計(jì)算機(jī)系統(tǒng)工程研究所,,北京 100083)