黃 博,姚 燁,王佳川
(1.西北工業(yè)大學 機電學院,陜西 西安 710072;2.中國航發(fā)商用航空發(fā)動機有限責任公司,上海 200241; 3.上海市航空發(fā)動機數字孿生重點實驗室,上海 200241)
航空發(fā)動機研發(fā)數字化是集成了設計、仿真分析、優(yōu)化驗證于一體的系統(tǒng)工程,體現了一個國家的工業(yè)基礎、裝備先進性和科技水平。數字化仿真技術作為支撐航空發(fā)動機自主研發(fā)的重要手段,可大幅提高研發(fā)效率、減少反復實物試驗、縮短研制周期、降低研制成本。近年來,航空發(fā)動機研發(fā)過程與核心要素日益復雜[1-3]、研發(fā)輔助工具種類繁多、跨部門研發(fā)協同頻繁、多學科知識融合交叉等給傳統(tǒng)的數字化研發(fā)體系帶來了諸多挑戰(zhàn)。為了突破傳統(tǒng)體系的局限性,大型高端裝備數字化研發(fā)設計環(huán)境正向著集成化、平臺化、智能化的方向發(fā)展。
國外大型工業(yè)軟件及綜合集成平臺領域起步較早,形成了以美國、德國、法國為代表的巨頭工業(yè)軟件企業(yè)和產品[1]。美國Ansys推出的WorkBench[2]是一種設計仿真集成環(huán)境,提供開放的框架結構,將豐富的分析工具整合在一起,實現了分析過程與分析工具的高度統(tǒng)一和緊密結合,由于耦合度較高,目前只適配Ansys系列軟件。Isight[3]是一套過程集成、優(yōu)化設計和穩(wěn)健性設計的軟件平臺,可以將數字技術、推理技術和設計探索技術有效融合,實現各軟件間的數據流傳遞,完成多學科多領域聯合仿真和優(yōu)化流程。另外,德國西門子Simcenter[4]、法國達索SIMULIA Suite等平臺也實現了面向多學科分析軟件的集成與流程分析。典型的科學計算工作流系統(tǒng)Kepler[5],是一套開源的科學數據分析與建模軟件應用平臺,通過可視化模式設計科學工作流并支持基于網格的分布式計算,但其針對具體的仿真流程建模過程需要花費大量時間[6]。
隨著高端裝備數字研發(fā)能力提升及工業(yè)軟件自主化需求迫切,國內科研院所和企業(yè)開始投入到自主工業(yè)軟件集成平臺的研發(fā)中。大連理工大學陳飆松教授團隊[7-8]的SiPESC平臺,實現了面向核心任務管理、系統(tǒng)集成、大規(guī)模計算工程數據庫的集成開發(fā)環(huán)境,并完成了大量計算分析軟件集成案例。安世亞太研發(fā)的多學科異構集成平臺軟件SimCube[9],支持自主及商業(yè)計算分析軟件的聯合仿真、性能優(yōu)化、界面集成、結果可視化等功能。中國工程物理研究院針對多領域數值模擬軟件的封裝、計算任務的集成、異構資源屏蔽、圖形化交互等問題設計了數值模擬工作流管理平臺HSWAP[10],并將其應用在材料、光學、力學等領域,主要針對文件兼任務的松耦合。另外數值風洞、數值水池等研發(fā)團隊也開發(fā)了類似的集成平臺。
綜上可見,國外仿真集成平臺產品在軟件成熟度和穩(wěn)定性上具有較強的優(yōu)勢,但大部分屬于通用軟件,缺少面向航空發(fā)動機專業(yè)特征的知識庫。國內的仿真集成平臺多數將重點放在自研求解器集成和流程集成方面,對廣泛商業(yè)軟件集成不夠深入。因此,現急需一套覆蓋航空發(fā)動機數字化研發(fā)設計全流程,以仿真數據為核心,流程靈活定義,經驗知識模板固化,支持多學科軟件、多物理場耦合的自動化智能化的航空發(fā)動機數值仿真智能綜合集成平臺(簡稱數值仿真集成平臺)。本文將重點開展航空發(fā)動機數值仿真智能綜合集成平臺架構的研究,為平臺的開發(fā)提供先進的方法理念與架構解決方案。研究思路如圖1所示。
數值仿真集成平臺貫通航空發(fā)動機的設計、計算分析和數據管理等環(huán)節(jié),其研制目標包括:實現各部門仿真工具的統(tǒng)一管理入口,系統(tǒng)化集成自研程序和商用軟件;跨部門仿真流程的自動化,不同學科仿真軟件間輸入輸出數據聯通流轉及流程自定義;仿真專家經驗數據固化積累,異構仿真過程數據有序管理以及面向型號/部件的仿真模板定義。
圍繞數值仿真集成平臺建設目標,提升跨部門、多學科協同仿真效率,總結集成平臺架構需要滿足的6點需求分別是:①按照仿真場景定制仿真流程需求,支持可視化建模方式構建仿真流程和仿真模板參數化配置,形成自主的仿真流程規(guī)則表達語言;②靈活擴展仿真應用軟件需求,將常用的仿真軟件封裝成組件,同時支持用戶方便擴展新增商業(yè)、自研的仿真軟件;③全流程仿真數據管理需求,基于平臺的數據管理既要滿足仿真數據結構化管理,又要滿足仿真流程及模板的有組織管理;④仿真數據挖掘分析的需求,面向仿真優(yōu)化需求提供常用的多目標優(yōu)化算法庫,同時集成常用的機器學習引擎,為后續(xù)數據挖掘分析提供平臺基礎;⑤充分運用本地與集群資源需求,平臺的部署方案支持本地部署運行,同時也要支持基于集群/超算的遠程部署;⑥自研/商業(yè)軟件多物理場耦合需求,支持多學科軟件弱耦合的多物理場耦合需求,實現耦合界面數據映射算法,多求解器耦合策略,耦合節(jié)點間通信和基于適配器求解器封裝。
航空發(fā)動機研發(fā)設計過程涉及CAD、CAE、分析優(yōu)化等相關軟件,包括整機與部件仿真涵蓋結構、流體、燃燒等多學科復雜分析,不同分析優(yōu)化目標對流程與關鍵參數的要求均有不同,本文采用科學工作流引擎實現靈活、高可擴展、可視化交互的仿真流程定義?;诳茖W工作流的仿真流程自定義方法主要包括兩方面:
(1)可視化建模語言體系 是科學計算工作流中要素的規(guī)則體系,需要定義語素(語言符號)、語法和語義,并實現相應的解析器(相當于常規(guī)編程語言的編譯)。集成軟件(計算模型)在該建模語言中抽象為一個可配置參數的圖形組件,圖形組件之間按規(guī)則(計算步驟)組織起來,便構成科學計算工作流,如圖2所示。其中,圖形組件間是否能夠組合與連接,由圖形組件的參數決定,而這些參數都是標準化的接口。每一個圖形元素即為工作流中的節(jié)點,每個節(jié)點可依據其功能設置不同的屬性,通過輸入輸出參數來體現,參數遵循統(tǒng)一的標準,支持與其他圖元節(jié)點的數據通訊。
(2)可視化流程建模引擎 基于統(tǒng)一的建模語言開展工作流建模引擎開發(fā),相當于C++、Java等高級編程語言的集成開發(fā)環(huán)境(Integrated Development Environment, IDE),它由工作流建模環(huán)境、工作流模型庫、模型管理器3個主要部分構成。工作流建模環(huán)境為用戶提供建模過程的支持,模型管理器提供管理模型庫與工作流模型模板的管理功能,工作流模型庫保存與管理計算模型和工作流模型模板的元數據與其對應的模型文件。模塊組織關系如圖3所示。
在工作流引擎的基礎上,采用組件封裝和插件擴展的軟件設計技術,可提高航空發(fā)動機研發(fā)CAx工具軟件的復用,集成平臺中核心模塊均采用插件開發(fā)實現,使得軟件體系結構具有較強的開放性和集成性,有利于系統(tǒng)應用功能的動態(tài)擴展和系統(tǒng)核心功能的維護。
插件的本質是動態(tài)鏈接庫,從軟件的結構層級來說,高于所有的軟件功能模塊,因此插件可以調用任意的軟件接口,復雜的功能拓展主要通過多態(tài)實現。插件式集成軟件擴展機制主要包括以下3個方面:
(1)插件開放接口規(guī)則設計 充分考慮異構CAx軟件系統(tǒng)在仿真流程中的作用、功能特性、資源需求、數據需求等,研究并制定動態(tài)插拔的異構插件規(guī)則體系,并編制相應的應用程序接口(Applicaition Programming Interface, API)。
(2)軟件集成模板設計器 仿真軟件的插件集成需要考慮軟件的輸入參數配置和軟件驅動運行。即使同一個軟件在不同流程中也需要不同的參數,因此需要一套簡單易用的模板設計器,以可視化方式配置所集成軟件的參數界面,并給出參數化模板生成對應的軟件運行腳本,支持目標軟件靜默執(zhí)行。
(3)功能插件配置管理器 插件支持動態(tài)的加載與卸載,支持插件屬性配置,以及運行環(huán)境配置,方便實現具有基礎共性功能的插件共享。插件支持通過Web進行維護和升級,插件更新以及新增時,支持插件相關文件的上傳/下載功能。插件管理機制如圖4所示。
目前多物理場耦合方法分為強耦合(直接耦合式解法)和弱耦合(分離解法),強耦合方程的理論推導過程相當復雜,由于不同的物理場中的物質屬性不同,強耦合方法求解時矩陣通常是病態(tài)的,這導致無法或很難得到問題正確解,不適用于成熟的商業(yè)軟件之間進行耦合。然而弱耦合可以有效地避免這些問題,可以利用現有的單一物理場求解器/軟件,通過耦合中間件模塊組合在一起,求解多物理場問題。平臺集成的商業(yè)和自研仿真軟件需要按照一定的封裝規(guī)則開發(fā)適配器,接入到耦合中間件模塊。耦合中間件架構如圖5所示。
集成平臺借助耦合中間件實現多物理場弱耦合,其所需研究的關鍵技術如下:
(1)耦合界面數據映射算法 求解器中的數據通常是以離散化網格來表征的,網絡通常由節(jié)點和面組成。位移、速度或力數據值通常與節(jié)點相關聯,而壓力與面相關聯。弱耦合涉及到兩個求解器在耦合界面上的數據匹配問題,即兩個不同的求解器進行耦合計算時,由于劃分網格的不同,會導致數據不能直接傳遞到另一個求解器,這就需要對數據進行映射處理??梢愿鶕詈锨蠼馄骶W格的特征,采取最近鄰映射或者最近投影映射法。
(2)多求解器耦合策略 耦合策略分為串行顯示、串行隱式、并行顯式及并行隱式方案。串行是指一個參與者一個接一個地交錯執(zhí)行,并行是指兩個求解器同時執(zhí)行。使用顯式方案,兩個參與者每個時間步只運行一次。使用隱式方案,求解器會不斷迭代,直到滿足收斂標準。迭代方法一般在高斯—塞德爾(Gauss-Seidel)迭代的基礎上,采用各種加速方法進行迭代算法。
(3)耦合節(jié)點間通信 將需要耦合的求解器劃分為一個整體的模塊,將對應求解器的適配器與集成軟件連接,通過映射模塊,在不同求解器之間基于Socket或信息傳遞接口(Message Passing Interface, MPI)進行點對點通訊。模塊化通訊使用耦合策略控制不同求解器的運行順序,在求解器之間不斷進行網格數據的通訊。將要耦合的物理場的耦合交界面網格劃分為不同的域,分配給通訊模塊的不同進程組,可以直接在進程組內不同進程之間進行通訊,也可以在不同進程組的進程之間進行通訊,將耦合交界面上的網格數據通過MPI和Socket通訊功能進行傳輸。通過映射模塊,使用插值方法,對不匹配的網格數據進行匹配。
(4)基于適配器求解器封裝 因為不同求解器提供的接口不同,難以直接使用已有的集成平臺中的耦合功能進行分離耦合運算,所以需要開發(fā)一個連接集成平臺以及求解器的中間層,即適配器。適配器連接求解器和集成軟件,其中封裝了一些核心功能去調用耦合策略、映射方法以及通訊方式,不同求解器開發(fā)需要相應的適配器。通過適配器讀取配置文件中的信息來控制耦合,配置文件包括:耦合求解器想要交換的數據值;耦合交界面網格ID(可以通過適配器的功能定義網格ID);參與耦合的求解器以及物理場網格的名字;時間步長;映射方法;通訊方式;耦合策略等。
航空發(fā)動機仿真數據具有大規(guī)模、數據密集、類型多、動態(tài)存儲、高并發(fā)、格式不透明等特點。大部分商業(yè)軟件采用專有的工程項目數據庫管理過程數據,數值仿真集成平臺管理的數據包含商業(yè)軟件工程項目數據、仿真流程模板參數數據、仿真人員信息、仿真過程關鍵數據等。數據涉及業(yè)務邏輯、參與人員、多種軟件等,具有更高的復雜度。因此,需要統(tǒng)一的接口和管理方式將這些數據組織起來,方便后續(xù)復用與分析挖掘。
(1)異構仿真數據的組織與管理 仿真模型、仿真結果等數據采用文件的形式進行管理,但是需要結構化數據將仿真對象、仿真人員、配置參數(環(huán)境參數、載荷信息、邊界條件等)這些數據聯系起來,形成清晰的組織結構。采用文件數據庫和結構化數據庫混合模式,設計樹狀組織管理結構,可以與產品物料清單(Bill of Material, BOM)聯系起來,便于擴展和查找。結構化數據庫可以保障仿真數據各要素一致完整,并支持不同粒度的數據追溯。文件數據庫通過索引方便高效地管理大規(guī)模數據/模型(TB級),支持跨文件、跨分區(qū)、跨磁盤和跨節(jié)點等擴展方案。
(2)仿真任務分析過程數據管理 仿真過程數據不同于仿真數據,具有輸入動態(tài)性、模板依賴性和強干預性等特征?;谄脚_的仿真過程需要維護仿真流程定義數據和引用的仿真模板數據。如模板參數無法滿足仿真節(jié)點設置需求,需要啟動軟件手動配置參數,管理該節(jié)點軟件對應的工程數據。采用元數據標簽法,實現同一型號不同人員、不同工況的多維關系網,最大化經驗知識、模板的復用。
設計分析人員在開展仿真分析工作時會有很多場景,可能是本地運行小的算例開展一些驗證工作,也可能是采用某個軟件開展單學科性能分析任務,亦或是多人協同完成面向具體型號的多學科聯合仿真性能分析。數值仿真集成平臺是各種仿真軟件的集中入口,應該提供靈活的部署方案,滿足本地、遠程、多人協同等應用場景仿真任務需求。如何在數值仿真智能綜合集成平臺有效結合和使用遠程超算的計算資源,并實現操作人員在本地辦公電腦中便捷、靈活的進行人機交互,是對兼顧網絡環(huán)境、應用模式、數據傳輸保障等因素的巨大挑戰(zhàn)。下面給出綜合集成平臺在混合環(huán)境下的部署方案:
(1)基于超算遠程部署方案 需要將綜合平臺所有功能部件、集成的仿真軟件和仿真數據等完全部署到超算環(huán)境中,在超算環(huán)境中實現綜合集成平臺數據的組織管理、程序的運行管理和人機交互界面的渲染等。對于部署工作本身而言,這種部署方案簡單直接沒有額外的通信工作。在進行操作時,可以配套遠程作業(yè)管理系統(tǒng)進行使用,在本地辦公電腦中,通過作業(yè)管理系統(tǒng)提交帶用戶界面(User Interface, UI)的作業(yè),作業(yè)管理系統(tǒng)負責從超算中啟動綜合集成平臺,并能夠在本地使用諸如虛擬網絡控制臺(Virtual Network Console, VNC)客戶端等工具軟件,渲染并顯示綜合集成平臺UI界面,最終可以通過該界面實現人機交互,實現使用綜合集成平臺的目的。
(2)本地與超算混合部署方案 要求綜合集成平臺客戶端(UI人機交互部分)和后臺功能部件分開部署,能夠實現兩者的數據通信。這種部署方式,對于仿真數據而言,需要兼顧本地和遠程兩部分,需要提供額外的數據同步操作,仿真組件庫、流程模板庫等完成數據同步后才能在多個用戶之間共享。而仿真軟件則可以將負責計算的部分部署在超算,以充分使用超算算力資源,建模和前處理則可以部署在本地辦公電腦,實現高效渲染和顯示。另外,對于超算集群而言,作為服務端需要開辟專門的對外網絡端口,這在具體實施中增加了政策風險。混合部署方案拓撲如圖6所示。
仿真分析的目的是為了支撐優(yōu)化設計,多目標優(yōu)化是在復雜裝備設計分析過程中常用的技術手段,是在多輸入條件中尋找一組非劣解集。實際工程問題的優(yōu)化主要是修改目標幾何模型,或修改仿真分析輸入參數條件,來得到滿足工程設計的最優(yōu)解。在集成平臺中集成常用的優(yōu)化方法,如BFGS算法,序列線性規(guī)劃(Sequential Linear Programming, SLP)算法,序列二次規(guī)劃(Sequence Quadratic Program, SQP)算法和遺傳算法(Genetic Algorithm, GA)等,方便在仿真流程中加入多目標優(yōu)化組件。另外,隨著仿真集成平臺數據的積累,大規(guī)模仿真過程和結果數據可支撐AI與CAE結合,在一定程度上減少了計算資源浪費,基于工作流規(guī)則和接口集成TensorFlow等AI引擎,為各專業(yè)學科數據分析提供軟硬件環(huán)境。集成平臺中要實現仿真設計/數據智能優(yōu)化分析方法,架構設計要考慮以下兩個方面:
(1)多目標優(yōu)化算法集成 構建優(yōu)化算法庫,為集成平臺提供豐富的抽樣方法、優(yōu)化算法和代理模型等優(yōu)化資源,將算法封裝成組件。優(yōu)化算法組件作為仿真工作流中的邏輯控制節(jié)點,為CAD/CAE組件提供設計變量,優(yōu)化組件使用代理模型擬合采樣數據的變量和響應值之間的關系,然后使用優(yōu)化算法,基于構建的代理模型進行迭代尋優(yōu),可自動執(zhí)行迭代尋優(yōu)過程,直到迭代結束,最后輸出優(yōu)化結果。
(2)機器學習引擎集成 基于集成平臺統(tǒng)一規(guī)則集成飛槳、TensorFlow、PyTorch、NumPy等機器學習引擎,基于插件模式開發(fā)機器學習組件,借助異構仿真工程數據管理模塊打通與平臺底層數據的接口。為上層業(yè)務智能分析提供建模環(huán)境和數據基礎,降低用戶構建AI環(huán)境和數據鏈接的成本,專注業(yè)務模型的開發(fā)。
在平臺架構方法的指導下,下面給出航空發(fā)動機數值仿真智能綜合集成平臺設計實例。平臺采用分層架構模式及模塊化設計理念,有利于降低模塊之間的邏輯耦合度,便于協同研發(fā)與功能的迭代升級,為基于工作流的仿真集成環(huán)境后續(xù)功能擴展提供了良好的技術架構。
本實例采用四層架構,分別是基礎設施層、數據層、核心層和交互層。按照軟件工程架構設計思想,將系統(tǒng)的功能和業(yè)務邏輯進行劃分,并在不同層的功能設計上落實本文提出的平臺架構方法,設計實例架構如圖7所示。
(1)交互層 交互層是直接與用戶打交道的圖形界面。航空發(fā)動機數值仿真流程中涉及到的交互界面,包括仿真軟件組件封裝、仿真流程搭建、仿真模板管理、組件庫管理、仿真數據管理、仿真任務管理等功能模塊。
(2)核心層 核心層是平臺的邏輯和控制核心,將基礎功能的底層控制機制、基礎功能封裝成核心層的中間件模塊,通過統(tǒng)一接口有機組裝起來。包括插件擴展封裝機制、仿真工作流引擎、多物理場耦合引擎、本地遠程部署機制、作業(yè)調度與管理、智能優(yōu)化引擎等。
(3)數據層 數據是軟件平臺的血液,貫通所有模塊與業(yè)務,將各類數據統(tǒng)籌管理,方便功能模塊的共享,包括優(yōu)化算法庫、仿真案例庫、仿真過程數據庫、型號模型數據庫等。
(4)基礎設施層 基礎設施層是軟件平臺運行的底層硬件基礎,同時在軟件架構設計時也要兼顧網絡拓撲、通訊帶寬的限制、硬件計算能力等。本實例考慮集群與本地的混合部署模式,因此,考慮集群、磁盤陣列、本地工作站等硬件資源。
表1給出了本文應用實例平臺與商業(yè)軟件/開源軟件在架構功能方面的對比。由表1可知,Ansys公司的WorkBench和西門子公司的Simcenter平臺針對各自廠家的工具軟件接口支持性較好,但是在底層功能擴展和復雜計算環(huán)境支持方面還不完善;Isight和Kepler平臺偏向仿真流程管理,驅動軟件形式單一粒度較粗,針對異構仿真工程數據的管理缺少功能模塊和接口;而本文應用實例平臺在設計過程中完全兼顧和覆蓋了這些先進架構功能。
表1 架構功能對比
綜上可見,通過該實例充分落實了本文提出的6大平臺架構指導方法,按照軟件架構思想在不同層設計了相應的功能模塊,從平臺的先進性、完整性方面驗證了平臺架構方法的合理性和有效性。
為了滿足航空發(fā)動機數值化研發(fā)體系向集成化、智能化、平臺化方向發(fā)展,圍繞數值仿真集成平臺建設目標,提升跨部門、多學科協同仿真效率,本文總結了集成平臺架構需要滿足的六大需求。針對六大需求開展了平臺架構方法研究,并提出基于科學工作流仿真流程自定義方法、插件式集成軟件擴展機制、跨部件與多學科耦合封裝技術、異構仿真工程數據管理技術、本地與遠程混合環(huán)境部署架構、仿真設計/數據智能優(yōu)化分析方法六大方法指導平臺設計開發(fā)。最后,通過航空發(fā)動機數值仿真智能綜合集成平臺設計實例與主流軟件平臺在先進功能方面的對比分析,驗證了提出方法的先進性、合理性和有效性。本文重點開展了航空發(fā)動機數值化研發(fā)集成平臺架構方法的研究,未來將進一步在集成平臺實施關鍵技術和體系化研發(fā)方法方面開展研究。