胡海洋 王方 鄭赟 李高翔 信忠仁
1.北京航空航天大學(xué)能源與動(dòng)力工程學(xué)院;2.北京艾博永勝科技發(fā)展有限責(zé)任公司
利用有限的經(jīng)費(fèi),完成了數(shù)字教室巨屏互動(dòng)顯示系統(tǒng)、高性能計(jì)算節(jié)點(diǎn)及其無線訪問與控制設(shè)備的搭建;并對(duì)教學(xué)團(tuán)隊(duì)自研的一系列航空發(fā)動(dòng)機(jī)CAE軟件進(jìn)行了源代碼級(jí)硬件適配與性能優(yōu)化。在此基礎(chǔ)上,完成了航空發(fā)動(dòng)機(jī)虛擬仿真綜合實(shí)驗(yàn)課的設(shè)計(jì),通過精心挑選的認(rèn)知、演示、設(shè)計(jì)三類虛擬仿真實(shí)驗(yàn),使學(xué)生了解虛擬仿真技術(shù)及其應(yīng)用,了解自主研發(fā)的部分虛擬仿真軟件的功能與使用方法,并初步掌握虛擬仿真軟件的核心編程方法與技巧。課程的試講效果良好,數(shù)字教室各系統(tǒng)運(yùn)轉(zhuǎn)流暢,為學(xué)生之后的畢業(yè)設(shè)計(jì)與研究生階段的虛擬仿真工作打下了良好的基礎(chǔ)。
虛擬仿真實(shí)驗(yàn)教學(xué)是教育部《關(guān)于一流本科課程建設(shè)的實(shí)施意見》中的重要組成部分[1],其核心是利用現(xiàn)代計(jì)算機(jī)與信息技術(shù),有效解決真實(shí)實(shí)驗(yàn)項(xiàng)目條件不具備或?qū)嶋H運(yùn)行困難,涉及高?;驑O端環(huán)境,高成本、高消耗、不可逆操作,以及大型綜合訓(xùn)練等部分實(shí)體試驗(yàn)課程的問題[2,3]。截至2021年9月,教育部已認(rèn)定728門國家虛擬仿真實(shí)驗(yàn)教學(xué)一流課程[4],但其中絕大部分是生產(chǎn)與試驗(yàn)流程的3D動(dòng)畫仿真[5]。
為響應(yīng)“突出優(yōu)勢(shì)學(xué)科,完善專業(yè)布局”,及時(shí)將學(xué)術(shù)研究、科技發(fā)展前沿成果引入課程,增加研究性、創(chuàng)新性、綜合性內(nèi)容的最新虛擬仿真實(shí)驗(yàn)教學(xué)要求[1,6],北京航空航天大學(xué)能源與動(dòng)力工程學(xué)院設(shè)立了航空發(fā)動(dòng)機(jī)虛擬仿真綜合實(shí)驗(yàn)課。其目的是瞄準(zhǔn)國內(nèi)航空發(fā)動(dòng)機(jī)領(lǐng)域的設(shè)計(jì)研發(fā)高度依賴國外商用CAE(Computer Aided Engineering)軟件尤其是數(shù)值模擬類軟件,“卡脖子”風(fēng)險(xiǎn)大;近年雖然大力開展自主替代產(chǎn)品的研發(fā),但面臨技術(shù)欠賬過多,年輕一代開發(fā)人才欠缺等需要迫切解決的問題[7,8],使學(xué)生了解、掌握,并在科學(xué)研究中使用、改進(jìn)自主開發(fā)的航空發(fā)動(dòng)機(jī)CAE軟件。
由于CAE軟件尤其是數(shù)值模擬類軟件與上述3D動(dòng)畫仿真軟件的使用、開發(fā)方法與運(yùn)行環(huán)境要求完全不同,因此需要完全不同的虛擬仿真實(shí)驗(yàn)課程設(shè)計(jì)思路與數(shù)字教室軟硬件環(huán)境的搭建方法。
選擇自行搭建數(shù)字教室互動(dòng)教學(xué)系統(tǒng)的原因有以下幾點(diǎn):
(1)北京航空航天大學(xué)能源與動(dòng)力工程學(xué)院決定建設(shè)該系統(tǒng)時(shí),配套經(jīng)費(fèi)不足。而包含大尺寸LED屏的整套數(shù)字教室互動(dòng)教學(xué)系統(tǒng)的市場(chǎng)報(bào)價(jià)超過200萬元。
(2)不同于國內(nèi)絕大多數(shù)數(shù)字教室,該數(shù)字教室的首要建設(shè)目的是使學(xué)生掌握各種航空發(fā)動(dòng)機(jī)領(lǐng)域的數(shù)值模擬軟件的使用與開發(fā)方法。其運(yùn)行需要消耗巨大的計(jì)算資源,本已不足的建設(shè)經(jīng)費(fèi)還要有至少一半用于高性能計(jì)算服務(wù)器的購買;市場(chǎng)上提供的整套數(shù)字教室互動(dòng)教學(xué)系統(tǒng)也不包含高性能計(jì)算設(shè)備。
(3)在搭建該數(shù)字教室前進(jìn)行的調(diào)研表明,學(xué)生出于課后練習(xí)與討論的便利性,更傾向于使用自帶筆記本電腦而不是教室的一體機(jī)進(jìn)行相關(guān)軟件的學(xué)習(xí)操作。為方便外部電腦連接,該數(shù)字教室采用無線互聯(lián)方案,而市場(chǎng)上提供的整套數(shù)字教室互動(dòng)教學(xué)系統(tǒng)幾乎都是基于教室內(nèi)固定電腦的有線連接方案。
不同于實(shí)際工程領(lǐng)域動(dòng)輒數(shù)小時(shí)乃至數(shù)天完成一個(gè)復(fù)雜流體機(jī)械部件的相關(guān)數(shù)值模擬計(jì)算,課堂教學(xué)挑選的數(shù)值模擬算例需要盡可能降低計(jì)算規(guī)模,以便在數(shù)分鐘內(nèi)完成計(jì)算??紤]到計(jì)算規(guī)模越小的算例,計(jì)算節(jié)點(diǎn)間數(shù)據(jù)交換的速度越容易成為計(jì)算效率瓶頸,上述高性能計(jì)算服務(wù)器為單節(jié)點(diǎn)的計(jì)算性能優(yōu)化,采用無線互聯(lián)方案,適合多個(gè)學(xué)生(或小組)同時(shí)進(jìn)行各自的算例計(jì)算的教學(xué)場(chǎng)景。
使用的航空發(fā)動(dòng)機(jī)部件特性數(shù)值模擬軟件全部是教學(xué)團(tuán)隊(duì)的自研產(chǎn)品。由于上述高性能計(jì)算服務(wù)器是NUMA(Non Uniform Memory Access)構(gòu)架,部分軟件進(jìn)行了源代碼優(yōu)化以在上述計(jì)算設(shè)備上達(dá)到最優(yōu)計(jì)算效率。
如圖1所示:使用筆記本電腦或一體機(jī)的學(xué)生采用EV屏幕共享軟件向講臺(tái)上的PC發(fā)送屏幕共享請(qǐng)求;講臺(tái)上的教師用一套鍵鼠、顯示器通過KVM(Keyboard Video Mouse)切換控制三臺(tái)PC,并在每臺(tái)PC端的EV屏幕共享軟件中選擇接收的屏幕圖像信號(hào)來源;通過專用平板電腦控制拼接屏控制器,即可將老師與學(xué)生電腦上的內(nèi)容以分割、合成、畫中畫等形式顯示在LED屏上,實(shí)現(xiàn)師生互動(dòng);三臺(tái)PC與學(xué)生的筆記本、一體機(jī)又可以直接對(duì)計(jì)算服務(wù)器進(jìn)行控制,派發(fā)數(shù)值計(jì)算任務(wù)。
非一致內(nèi)存訪問(NUMA,Non Uniform Memory Access)是當(dāng)前高性能服務(wù)器的硬件架構(gòu)發(fā)展趨勢(shì)。每個(gè)NUMA架構(gòu)的CPU包含多個(gè)NUMA節(jié)點(diǎn)(NUMA Node),每個(gè)都有自己的直連內(nèi)存控制器(MC)和獨(dú)立的本地內(nèi)存(RAM)。每個(gè)NUMA節(jié)點(diǎn)包含多個(gè)CPU核心,其必須借助NUMA節(jié)點(diǎn)間的數(shù)據(jù)中轉(zhuǎn)才能訪問其他NUMA節(jié)點(diǎn)的內(nèi)存單元,如圖2所示。共享內(nèi)存式并行計(jì)算程序默認(rèn)將數(shù)組開辟在執(zhí)行線程的CPU直連的內(nèi)存單元中。常規(guī)的動(dòng)態(tài)數(shù)組開辟方式(如圖3上半部分所示)將其開辟到CPU 1直連的內(nèi)存單元RAM1中,此時(shí)其余NUMA節(jié)點(diǎn)的CPU如果同時(shí)訪問RAM1就會(huì)造成其內(nèi)存控制器的擁堵(其他NUMA節(jié)點(diǎn)的內(nèi)存控制器則完全閑置),計(jì)算效率大幅下降。程序優(yōu)化的核心思想是使用不同NUMA節(jié)點(diǎn)的CPU線程,將動(dòng)態(tài)數(shù)組分開開辟在不同的內(nèi)存控制器控制的內(nèi)存單元中,即可在程序訪問該動(dòng)態(tài)數(shù)組時(shí)發(fā)揮所有內(nèi)存控制器的作用,避免擁堵,使計(jì)算效率恢復(fù)正常。如圖3下半部分所示,對(duì)于本項(xiàng)目采購的雙路服務(wù)器,每臺(tái)包含8個(gè)NUMA節(jié)點(diǎn)(NUMA_node=8),每個(gè)NUMA節(jié)點(diǎn)的CPU線程數(shù)為32(threads_per_NUMA=32)。
優(yōu) 化 后 的CFD(Computational Fluid Dynamics)程序,在上述單臺(tái)服務(wù)器上僅需11.5min即可完成吸氣高超飛行器內(nèi)外粘性流場(chǎng)(計(jì)算網(wǎng)格數(shù)175萬)的數(shù)值計(jì)算,計(jì)算速度是優(yōu)化前的6倍(如圖4所示),滿足教學(xué)演示實(shí)驗(yàn)的運(yùn)行時(shí)間要求。
整個(gè)數(shù)字教室的建設(shè)費(fèi)用為130萬元,如表1所示??紤]到國內(nèi)Linux的普及程度,服務(wù)器與各類終端的操作系統(tǒng)選用Windows10。整套系統(tǒng)無盜版軟件。學(xué)生如使用自帶筆記本,僅需要安裝免費(fèi)版的EV屏幕共享軟件,即可連接使用教室的各種軟硬件資源,并與老師和其他同學(xué)進(jìn)行多媒體交流互動(dòng)。
表1 數(shù)字教室設(shè)備明細(xì)Tab.1 Details of digital classroom equipment
試講課程共16學(xué)時(shí),分為認(rèn)知、演示、設(shè)計(jì)三部分。認(rèn)知部分以教師講解軟件的功能和用途、操作過程、計(jì)算結(jié)果為主;演示部分在教師完成軟件的功能與使用方法講解后,學(xué)生遠(yuǎn)程控制數(shù)字教室的計(jì)算節(jié)點(diǎn),對(duì)比分析不同計(jì)算參數(shù)對(duì)軟件運(yùn)行結(jié)果的影響;設(shè)計(jì)部分則要求學(xué)生走完整個(gè)CAE軟件的使用流程,包括分析對(duì)象幾何建模、計(jì)算網(wǎng)格劃分、運(yùn)行軟件、分析計(jì)算結(jié)果,并掌握CAE軟件的核心編程技巧。教學(xué)大綱如下。
(1)試驗(yàn)內(nèi)容:1)發(fā)動(dòng)機(jī)葉片鳥撞及機(jī)匣包容仿真模擬;2)基于高保真高性能數(shù)值仿真軟件HGAE的渦輪葉片流場(chǎng)與固體結(jié)構(gòu)溫度場(chǎng)耦合計(jì)算。
(2)教學(xué)要求:使學(xué)生了解什么是虛擬仿真,虛擬仿真技術(shù)在航空發(fā)動(dòng)機(jī)設(shè)計(jì)領(lǐng)域有哪些應(yīng)用;介紹學(xué)院的虛擬仿真工作與虛擬仿真軟件開發(fā)情況,使學(xué)生理解虛擬仿真的實(shí)現(xiàn)方法、什么是計(jì)算網(wǎng)格。
(3)重點(diǎn)和難點(diǎn):虛擬仿真領(lǐng)域中數(shù)值模擬與仿真的區(qū)別;結(jié)構(gòu)與非結(jié)構(gòu)計(jì)算網(wǎng)格拓?fù)浣Y(jié)構(gòu)的區(qū)別;主流數(shù)值模擬結(jié)果后處理軟件的基本使用方法。
(1)試驗(yàn)內(nèi)容:1)二維槽道湍流流動(dòng)的大渦模擬;2)直升機(jī)整體式粒子分離器稀疏氣固兩相流場(chǎng)數(shù)值模擬;3)吸氣高超飛行器內(nèi)外流場(chǎng)數(shù)值模擬。
(2)教學(xué)要求:使學(xué)生了解如何通過虛擬仿真技術(shù)獲得近壁面湍流流場(chǎng)的瞬態(tài)流動(dòng)特性與統(tǒng)計(jì)特性,加深學(xué)生對(duì)湍流基本現(xiàn)象與規(guī)律的認(rèn)識(shí),高超聲速流場(chǎng)激波系的認(rèn)識(shí)。體會(huì)高性能服務(wù)器與家用電腦計(jì)算性能的差別。了解主流商用CFD軟件的計(jì)算功能缺陷與二次開發(fā),粒子在流場(chǎng)中的受力與傳熱特性及其控制方程,基于拉格朗日坐標(biāo)系的粒子軌跡追蹤算法。
(3)重點(diǎn)和難點(diǎn):湍流統(tǒng)計(jì)特性參數(shù)及其沿固壁法向的變化規(guī)律;不同尺寸粒子在粒子分離器中的運(yùn)動(dòng)規(guī)律差異;入口條件對(duì)直升機(jī)整體式粒子分離器砂礫分離效率的影響。
(1)試驗(yàn)內(nèi)容:基于自研軟件ERIR的導(dǎo)彈遠(yuǎn)程紅外成像計(jì)算。
(2)教學(xué)要求:教師講解目標(biāo)紅外信號(hào)的來源與軍事意義,紅外成像計(jì)算的過程和原理,ERIR軟件的開發(fā)背景與工程應(yīng)用情況。學(xué)生自主實(shí)驗(yàn)分為四個(gè)步驟:1)導(dǎo)彈外流場(chǎng)、發(fā)動(dòng)機(jī)排氣系統(tǒng)內(nèi)流場(chǎng)與固體結(jié)構(gòu)溫度場(chǎng)流動(dòng)與耦合傳熱傳質(zhì)特性計(jì)算;2)基于離散傳遞法的固壁反射輻射計(jì)算;3)基于射線追蹤法的導(dǎo)彈近距離紅外成像計(jì)算;4)導(dǎo)彈近距離紅外成像在大氣中的傳輸衰減特性計(jì)算。為學(xué)生發(fā)放程序的完整使用說明文檔,鼓勵(lì)學(xué)生建立自己的飛行器與發(fā)動(dòng)機(jī)模型,嘗試設(shè)置不同的計(jì)算參數(shù)與計(jì)算邊界條件。
(3)重點(diǎn)和難點(diǎn):多分區(qū)結(jié)構(gòu)網(wǎng)格的繪制;計(jì)算邊界條件的類型、意義與設(shè)置方法。
(1)試驗(yàn)內(nèi)容:基于自研軟件AECSC的高雷諾數(shù)湍流火焰的模擬計(jì)算。
(2)教學(xué)要求:教師講解航空發(fā)動(dòng)機(jī)燃燒室高雷諾數(shù)湍流火焰的來源與意義,湍流燃燒計(jì)算的過程和原理,AECSC軟件的開發(fā)背景與工程應(yīng)用情況。學(xué)生自主實(shí)驗(yàn)分為三個(gè)步驟:1)高雷諾數(shù)湍流流場(chǎng)模擬;2)高雷諾數(shù)湍流火焰數(shù)值模擬;3)改變邊界條件進(jìn)行高雷諾數(shù)湍流火焰計(jì)算。為學(xué)生發(fā)放程序的完整使用說明文檔,鼓勵(lì)學(xué)生建立自己的網(wǎng)格,嘗試設(shè)置不同的計(jì)算邊界條件。
(3)重點(diǎn)和難點(diǎn):大渦模擬與雷諾平均流場(chǎng)計(jì)算在計(jì)算網(wǎng)格繪制與邊界條件設(shè)置上的異同。
(1)試驗(yàn)內(nèi)容:共享內(nèi)存并行計(jì)算程序開發(fā)初步。
(2)教學(xué)要求:教師通過直接講解與運(yùn)行演示采用OpenMP語言并行的C程序的方式,使學(xué)生掌握共享內(nèi)存式并行計(jì)算程序的基本開發(fā)方法。在此基礎(chǔ)上,通過講解高溫燃?xì)夤庾V輻射特性的逐線計(jì)算程序,使學(xué)生掌握大型科學(xué)計(jì)算程序動(dòng)態(tài)數(shù)組的開辟與內(nèi)存釋放方法,體會(huì)計(jì)算輸入輸出數(shù)據(jù)文件由十進(jìn)制改為二進(jìn)制帶來的讀寫速度提升與文件尺寸縮減。鼓勵(lì)學(xué)生嘗試將各種計(jì)算程序并行化。
(3)重點(diǎn)和難點(diǎn):提升程序并行計(jì)算效率的基本方法,NUMA結(jié)構(gòu)計(jì)算硬件上的OpenMP程序優(yōu)化原理。
航空發(fā)動(dòng)機(jī)虛擬仿真涉及航空發(fā)動(dòng)機(jī)原理與結(jié)構(gòu),流體力學(xué)、工程熱力學(xué)、傳熱學(xué)、燃燒學(xué)、材料力學(xué)等多個(gè)基礎(chǔ)物理化學(xué)學(xué)科及其衍生的計(jì)算科學(xué)學(xué)科(計(jì)算流體力學(xué)、計(jì)算傳熱學(xué)等),高級(jí)程序語言、計(jì)算機(jī)圖形學(xué)等計(jì)算機(jī)專業(yè)學(xué)科,屬于典型的跨學(xué)科課程[9]?;诖?,教學(xué)團(tuán)隊(duì)采用“問題中心”的教學(xué)思路[10],圍繞各虛擬仿真軟件用于解決航空發(fā)動(dòng)機(jī)設(shè)計(jì)領(lǐng)域的什么問題,怎樣操作上述軟件來解決該問題,軟件解決該問題的基本物理、化學(xué)、數(shù)學(xué)原理是什么三個(gè)層次展開課程。鼓勵(lì)學(xué)生大膽探索,主動(dòng)提問;利用數(shù)字教室的智能互動(dòng)系統(tǒng),將老師與多個(gè)學(xué)生的軟件操作過程、軟件計(jì)算結(jié)果顯示在大屏幕上進(jìn)行對(duì)比分析。學(xué)生學(xué)習(xí)氣氛活躍,很多學(xué)生參與課下討論,主動(dòng)查閱相關(guān)資料或咨詢使用上述軟件多年的研究生學(xué)長。雖然試講課程只有16學(xué)時(shí),但大部分試聽的學(xué)生尤其是本科生在之后的問卷調(diào)查中表示,接觸該課程前認(rèn)為虛擬仿真和電腦、手機(jī)上的3D游戲差不多;學(xué)習(xí)該課程后不但對(duì)虛擬仿真技術(shù)有了真正了解,在之后的本科畢業(yè)設(shè)計(jì)、研究生課題中接觸到虛擬仿真任務(wù)時(shí),相比其他學(xué)生也更容易上手。
我國包括航空發(fā)動(dòng)機(jī)在內(nèi)的大部分工業(yè)領(lǐng)域的虛擬仿真幾乎全部依賴于國外商用CAE軟件,被“卡脖子”的風(fēng)險(xiǎn)極大。自主開發(fā)的虛擬仿真軟件難以與之競(jìng)爭(zhēng)的原因除了開發(fā)的人力與資源投入過低外,高校與型號(hào)設(shè)計(jì)單位的使用慣性也是重要原因。本課程認(rèn)知、演示、設(shè)計(jì)虛擬仿真實(shí)驗(yàn)使用的軟件多為自主開發(fā)。試講后的問卷調(diào)查表明,部分試聽學(xué)生在之后的本科畢設(shè)、研究生課題中嘗試使用課上學(xué)習(xí)過的國產(chǎn)虛擬仿真軟件,其中一名學(xué)生利用學(xué)習(xí)到的ERIR軟件使用方法,在本科畢設(shè)期間就直接參與了某航天院所的型號(hào)研發(fā)任務(wù)。
課程試講前的調(diào)研表明,絕大多數(shù)學(xué)生認(rèn)為開發(fā)CAE軟件最需要的是面向?qū)ο缶幊棠芰?。由于絕大部分高校非計(jì)算機(jī)類理工科專業(yè)只講授基礎(chǔ)的面向過程編程課程,上述觀點(diǎn)甚至成為大部分研究生不愿、不敢參與自主CAE軟件研發(fā)的主要原因。本課程教學(xué)團(tuán)隊(duì)各成員都有十年以上的航空發(fā)動(dòng)機(jī)CAE軟件開發(fā)經(jīng)驗(yàn),提出學(xué)生在掌握基本的面向過程編程方法后,只需要額外幾個(gè)課時(shí)的學(xué)習(xí),掌握開辟/釋放動(dòng)態(tài)內(nèi)存、共享內(nèi)存式并行計(jì)算編程方法、NUMA架構(gòu)硬件上并行程序的優(yōu)化原理,即可勝任大部分CAE軟件的核心程序開發(fā)工作。問卷調(diào)查表明,試聽過該課程的學(xué)生,參與自主CAE軟件研發(fā)的意愿明顯提高。
北京航空航天大學(xué)能源與動(dòng)力工程學(xué)院航空發(fā)動(dòng)機(jī)虛擬仿真綜合實(shí)驗(yàn)課教學(xué)團(tuán)隊(duì),圍繞使學(xué)生了解虛擬仿真技術(shù)在現(xiàn)代航空發(fā)動(dòng)機(jī)設(shè)計(jì)領(lǐng)域中的應(yīng)用,熟悉國內(nèi)主研發(fā)的航空發(fā)動(dòng)機(jī)虛擬仿真軟件的功能與使用方法,并使學(xué)生快速掌握虛擬仿真軟件的核心編程方法與技巧的教學(xué)目的,設(shè)置了演示、認(rèn)知、設(shè)計(jì)三類虛擬仿真實(shí)驗(yàn)課程。通過軟硬件系統(tǒng)的底層匹配,在經(jīng)費(fèi)有限的情況下,完成了數(shù)字教室互動(dòng)教學(xué)系統(tǒng)的搭建,并取得了良好的試講效果。近日,該數(shù)字教室已獲批教育部飛行器動(dòng)力工程專業(yè)虛擬教研室,及與中國航空發(fā)動(dòng)機(jī)集團(tuán)共建的航空發(fā)動(dòng)機(jī)全流程云設(shè)計(jì)與創(chuàng)新實(shí)踐平臺(tái),軟硬件系統(tǒng)及虛擬仿真教學(xué)內(nèi)容與質(zhì)量有望獲得進(jìn)一步提升。