《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模拟设计 > 设计应用 > 基于服务架构的OpenFOAM求解客户端设计
基于服务架构的OpenFOAM求解客户端设计
电子技术应用 2023年3期
马轶聪,牟泓宇,淮晓永
(华北计算机系统工程研究所,北京 100083)
摘要: 针对OpenFOAM解算软件缺乏GUI功能用户交互体验性差问题,研究设计了一个OpenFOAM求解客户端软件。设计了基于服务的“云+端”计算架构,设计开发了一个OpenFOAM求解器服务,GUI客户端远程调用访问求解器服务,并集成可视化服务实现了数据可视化分析功能,实现了云端协同的求解计算功能;研究设计了基于界面模板的动态GUI界面生成方法,实现了客户端软件界面用户自定义配置功能。该软件支持基于服务的功能扩展集成,支持用户界面自定义、求解器用户设置界面自定义功能,用户界面友好,可扩展性强。通过实际的算例进行解算,验证表明了客户端软件能够通过远程调用云端求解服务、可视化服务实现完整的求解计算流程。
關(guān)鍵詞: 流场解算 服务架构 OpenFOAM GUI
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)志碼:A DOI: 10.16157/j.issn.0258-7998.222815
中文引用格式: 馬軼聰,牟泓宇,淮曉永. 基于服務(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.
Design of OpenFOAM solver client based on service architecture
Ma Yicong,Mou Hongyu,Huai Xiaoyong
(National Computer System Engineering Research Institute of China, Beijing 100083, China)
Abstract: Aiming at the problem that the OpenFOAM solving software lacks GUI function, the user interaction experience is poor, this paper studies and designs an OpenFOAM solving client software. The paper designs a service-based "cloud + terminal" computing architecture, designs and develops an OpenFOAM solver service, which can be remotely called and accessed by the GUI client, and integrates the visualization service to realize the data visualization analysis function and realize the cloud collaborative solution calculation function. This paper researches and designs a dynamic GUI interface generation method based on interface template, and realizes the user-defined configuration function of the client software interface. The software supports service-based function extension integration,and supports user interface customization and solver user setting interface customization functions. The user interface is friendly and the expansibility is strong. Through the actual calculation example, the verification shows that the client software can realize the complete solution calculation process by calling the cloud solution service and visualization service remotely.
Key words : flow field solution;service architecture;OpenFOAM;GUI

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)過幾十年的長(zhǎng)足發(fā)展,已有多款CFD商業(yè)軟件(Fluent、CFX、STAR-CD/CCM+等)被應(yīng)用于科研及實(shí)際生產(chǎn)中。由于商業(yè)軟件在使用上有較高專業(yè)性要求且費(fèi)用高昂,OpenFOAM作為一款開源免費(fèi)的解算工具庫(kù)被越來(lái)越多的科研人員所使用[2]。OpenFOAM軟件配置過程靈活,可以通過自定義編程進(jìn)行使用,但由于OpenFOAM僅支持通過命令行形式進(jìn)行調(diào)用、無(wú)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á)到千萬(wàn)甚至上億的數(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ì)算資源,滿足用戶使用場(chǎng)景需求,提高軟件使用效率。同時(shí),軟件客戶端使用界面模板進(jìn)行求解設(shè)置界面的動(dòng)態(tài)生成,支持用戶界面自定義配置,滿足了軟件易維護(hù)、可拓展的特性。




本文詳細(xì)內(nèi)容請(qǐng)下載:http://m.ihrv.cn/resource/share/2000005241





作者信息:

馬軼聰,牟泓宇,淮曉永

(華北計(jì)算機(jī)系統(tǒng)工程研究所,北京 100083)


微信圖片_20210517164139.jpg

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。