張寶花, 任海生, 王靜波, 徐 江, 李象遠, 金 鐘
1(中國科學(xué)院 計算機網(wǎng)絡(luò)信息中心, 北京 100190)
2(四川大學(xué), 成都 610065)
3(北京石油化工學(xué)院, 北京 102627)
4(中國科學(xué)院大學(xué), 北京 100049)
航空燃料通過燃燒為飛行器提供動力, 燃料燃燒是發(fā)動機共性問題, 反應(yīng)機理是燃燒數(shù)值模擬的關(guān)鍵.NASA 規(guī)劃在2030 年實現(xiàn)百億億次帶復(fù)雜燃燒模型的整機CFD 模擬[1], 其中合理的簡化燃燒模型耦合是計算得以實現(xiàn)的基本保證, 燃燒數(shù)據(jù)是燃燒模型耦合的基礎(chǔ).
專業(yè)的燃燒數(shù)據(jù)庫是燃燒室數(shù)值仿真、燃燒組織優(yōu)化和熱端部件冷卻設(shè)計的基礎(chǔ). 國際上NIST[2]等數(shù)據(jù)庫系統(tǒng)已經(jīng)收集了眾多的熱力學(xué)、動力學(xué)數(shù)據(jù), 但多為氣相小分子參數(shù), 而高碳烴等大分子燃料的熱力學(xué)和動力學(xué)參數(shù)仍然缺乏. 目前大量裂解、奪氫等基元反應(yīng)的動力學(xué)參數(shù)還采用按反應(yīng)類賦值等方式近似處理, 而熱力學(xué)參數(shù)多采用基團貢獻法等近似. 由于我國在數(shù)據(jù)庫建設(shè)方面的短板, 使得大量基礎(chǔ)研究和工程設(shè)計對國外數(shù)據(jù)庫網(wǎng)站產(chǎn)生了高度依賴. 對國外數(shù)據(jù)的使用僅限于可公開的部分數(shù)據(jù)和網(wǎng)上檢索, 網(wǎng)絡(luò)開關(guān)掌控在別人手里. 對西方核心技術(shù)的高度依賴導(dǎo)致了高科技領(lǐng)域的被動. 因此, 建立自主的燃燒數(shù)據(jù)庫平臺非常迫切.
對燃料燃燒反應(yīng)機理的研究, 國際上有MAMOX[3]、EXGAS[4]以及RMG[5]等主流機理構(gòu)建程序. 但這些軟件都有其局限性, 且多為非開源軟件, 無法滿足需求.因此, 發(fā)展并完善我國自有的機理生成方法和程序, 根據(jù)化學(xué)反應(yīng)動力學(xué)研究的最新進展對燃燒參數(shù)和燃燒機理構(gòu)建方法不斷更新是十分必要的. 另外, 由于燃燒機理構(gòu)建對燃料、工況和簡化方法選擇的依賴性, 使得燃燒動力學(xué)模型具有個性化特點[6]. 因此, 如何將不同燃料的個性化動力學(xué)建模在發(fā)動機燃燒數(shù)值模擬過程同步實現(xiàn), 根據(jù)湍流分辨率和計算資源確定動力學(xué)建模策略, 是連接燃燒反應(yīng)機理研究和燃燒數(shù)值模擬應(yīng)用的一條全新途徑. 一種可行的技術(shù)路線是基于燃燒機理自動生成、自動簡化方法和可靠的燃燒反應(yīng)參數(shù)計算, 構(gòu)建用戶自定義燃燒動力學(xué)模型的在線建模環(huán)境. 用戶能以數(shù)據(jù)庫為基礎(chǔ), 通過對話式引導(dǎo)獲得燃燒動力學(xué)模型, 解決當前燃燒數(shù)值模擬軟件不能為用戶提供個性化燃燒反應(yīng)機理的問題, 服務(wù)于我國獨立自主的航空發(fā)動機預(yù)研體系建立.
針對以上對燃燒數(shù)據(jù)庫和軟件易用性服務(wù)的迫切需求, 本文以形成我國自主的燃燒數(shù)據(jù)庫系統(tǒng)和動力學(xué)建模系統(tǒng)為目標, 實現(xiàn)基于Web 的頁面數(shù)據(jù)檢索和軟件計算, 秉承開放共享的理念建立建成燃燒動力學(xué)平臺.
本文采取前后端分離的開發(fā)模式[7], 將前端業(yè)務(wù)和后端業(yè)務(wù)邏輯分離開來, 考慮到燃燒動力學(xué)平臺包括多個數(shù)據(jù)庫檢索和軟件在線計算, 頁面交互式強, 需要多終端訪問和可持續(xù)擴展等特點, 本文采用模塊化設(shè)計與實現(xiàn), 建成了開放使用的燃燒反應(yīng)數(shù)據(jù)庫系統(tǒng)和人機交互的燃料動力學(xué)建模系統(tǒng).
另一方面, 燃燒數(shù)據(jù)包含5 大類8 個類型的數(shù)據(jù),類型多且來源分散, 數(shù)據(jù)產(chǎn)生周期長, 而整理耗時耗力且容易出錯. 因此, 為促進數(shù)據(jù)的長期管理和維護, 本文開發(fā)了靈活易用的數(shù)據(jù)匯交系統(tǒng), 實現(xiàn)匯交數(shù)據(jù)和已有數(shù)據(jù)的融合, 通過用戶和平臺的共建共享, 提升數(shù)據(jù)流動性, 讓數(shù)據(jù)產(chǎn)生真正的價值. 燃燒動力學(xué)平臺的建立, 將顯著拓寬數(shù)據(jù)獲取渠道, 減少國內(nèi)用戶對國外數(shù)據(jù)平臺的依賴, 顯著降低燃料反應(yīng)機理軟件使用門檻, 節(jié)約用戶科研時間和經(jīng)費, 推動國內(nèi)基礎(chǔ)燃燒反應(yīng)數(shù)據(jù)的交流與共享, 支撐航空煤油高精度燃燒反應(yīng)機理的構(gòu)建.
以下圍繞燃燒動力學(xué)平臺展開敘述, 將從平臺的整體結(jié)構(gòu)、關(guān)鍵技術(shù)設(shè)計與實現(xiàn)以及實現(xiàn)效果等方面進行介紹.
燃燒動力學(xué)平臺包括燃燒數(shù)據(jù)庫檢索、數(shù)據(jù)匯交和在線動力學(xué)建模模塊及一些輔助模塊. 為保證平臺的易用友好、穩(wěn)定運行和良好的可維護性, 平臺采取了圖1 所示的框架設(shè)計方案.
圖1 燃燒平臺設(shè)計架構(gòu)
平臺整體架構(gòu)以容器化方案為基礎(chǔ), 采取Browser/Server 的前后端分離開發(fā)模式, 分為前端用戶瀏覽器、前端服務(wù)器及后端服務(wù)器和數(shù)據(jù)庫等部分. 代碼開發(fā)遵循“高內(nèi)聚, 低耦合”策略, 各功能獨立的模塊分離, 通過API 等進行調(diào)用, 實現(xiàn)易于插拔和良好的可擴展性.前端頁面采用目前流行的Vue.js[8]漸進式框架開發(fā), 并結(jié)合Bootstrap、Chart.js 等開源工具包進行各種頁面的渲染和結(jié)果展示. Vue.js 是MVVM (model, view,view-model)[9]框架, 支持響應(yīng)式數(shù)據(jù)雙向綁定, 低耦合且重用性強. 在開發(fā)中, 遵循組件化設(shè)計模式, 通過組件引用等形式層層組裝形成各個頁面, 以達到最大化復(fù)用(圖2).
圖2 前端代碼組織結(jié)構(gòu)
平臺后端開發(fā)使用Python 語言的Flask 框架[10],它是一個基于Werkzeug 工具箱開發(fā)的Web 開發(fā)框架,具有輕量靈活的特點. 本文利用Flask 框架構(gòu)建RESTful API 接口進行前后端交互, 通過pymongo 鏈接MongoDB數(shù)據(jù)庫進行數(shù)據(jù)增刪改查等操作. 對于計算任務(wù), 采用Celery 進行調(diào)度計算, Redis 進行消息傳遞, 保證了計算過程與平臺操作的多線程處理, 提高響應(yīng)速度, 計算結(jié)果通過MongoDB 進行存儲(圖3).
圖3 后端代碼組織結(jié)構(gòu)
數(shù)據(jù)庫系統(tǒng)包括熱力學(xué)數(shù)據(jù)庫、動力學(xué)數(shù)據(jù)庫、輸運數(shù)據(jù)庫、實驗數(shù)據(jù)庫(含點火延遲數(shù)據(jù)庫、 高溫熱物性數(shù)據(jù)庫、 火焰?zhèn)鞑?shù)據(jù)庫、燃料物種濃度數(shù)據(jù)庫)和燃燒機理數(shù)據(jù)庫5 大類8 個數(shù)據(jù)庫. 由于數(shù)據(jù)種類多且來源分散, 數(shù)據(jù)存在格式不一致, 數(shù)據(jù)質(zhì)量參差不齊等問題, 對數(shù)據(jù)的處理和檢索提出了較大的挑戰(zhàn).為此, 平臺采取了圖4 所示的處理流程策略.
圖4 數(shù)據(jù)入庫處理流程
原始數(shù)據(jù)來源包括公開網(wǎng)站的爬蟲數(shù)據(jù)、公開發(fā)表文獻、理論計算結(jié)果、實驗測試結(jié)果等, 通常格式各異, 數(shù)據(jù)規(guī)范化差. 根據(jù)業(yè)務(wù)數(shù)據(jù)特點, 本文分別制定了各數(shù)據(jù)入庫標準規(guī)范, 對每一類來源數(shù)據(jù)進行規(guī)范化與標準化, 例如對數(shù)據(jù)字段和單位進行統(tǒng)一. 數(shù)據(jù)處理包括對原始數(shù)據(jù)的再加工, 例如對熱力學(xué)摩爾文件進行分析, 由OpenBabel[11]軟件統(tǒng)一轉(zhuǎn)換為 Canonical SMILES, 對于含自由基的結(jié)構(gòu)進行特殊標記處理, 保證在轉(zhuǎn)換時候保留自由基特性. 對動力學(xué)數(shù)據(jù)進行雙參數(shù)擬合, 并計算擬合優(yōu)度等. 針對數(shù)據(jù)質(zhì)量和重復(fù)問題采取了數(shù)據(jù)清洗策略, 例如對熱力學(xué)數(shù)據(jù)焓變?nèi)≈档囊恢滦詸z查, 對錯誤的動力學(xué)反應(yīng)結(jié)果或缺少關(guān)鍵信息數(shù)據(jù)進行篩減, 對重復(fù)數(shù)據(jù)進行去重等操作. 經(jīng)過處理的數(shù)據(jù), 采用MongoDB 以BSON (binary JSON)格式來存儲和管理各種數(shù)據(jù). 如圖5, 根據(jù)數(shù)據(jù)特點建立數(shù)據(jù)邏輯模型, 前端檢索通過API 對應(yīng)到后端相應(yīng)的檢索方法, 根據(jù)每類數(shù)據(jù)的特點鏈接到對應(yīng)數(shù)據(jù)庫執(zhí)行語法分析和查詢計劃.
圖5 數(shù)據(jù)查詢流程圖
平臺對每類數(shù)據(jù)提供了多種檢索方式, 例如熱力學(xué)數(shù)據(jù)庫包括上傳文件檢索、SMILES 檢索、分子式檢索、CAS 號以及在線建模檢索等多種方式, 并支持精確檢索和模糊匹配檢索. 由于同一物種對應(yīng)的SMILES 會出現(xiàn)不一致, 簡單字段匹配檢索會出現(xiàn)檢索不準確問題, 為此, 后端采用了SMILES 轉(zhuǎn)換處理策略,轉(zhuǎn)換為可唯一性標識的Canonical SMILES, 保證了查詢結(jié)果的一致性.
數(shù)據(jù)匯交與審核是數(shù)據(jù)庫實現(xiàn)良性可持續(xù)發(fā)展的關(guān)鍵. 增加數(shù)據(jù)匯交系統(tǒng), 可以隨時隨地收集零散數(shù)據(jù)到平臺. 為確保高效、規(guī)范化的將高質(zhì)量科研數(shù)據(jù)匯交到燃燒動力學(xué)平臺, 促進匯交數(shù)據(jù)與已有數(shù)據(jù)的有效融合, 本文制定了如圖6 所示的數(shù)據(jù)匯交與審核方案.
圖6 數(shù)據(jù)匯交與審核方案
本文從用戶角度出發(fā), 設(shè)計了數(shù)據(jù)提交、數(shù)據(jù)預(yù)覽和提交審核3 個步驟. 在數(shù)據(jù)提交階段, 用戶通過在線表單方式填寫數(shù)據(jù)和上傳文件, 平臺對數(shù)據(jù)完整性、規(guī)范性以及數(shù)據(jù)重復(fù)性進行校驗. 在數(shù)據(jù)預(yù)覽階段, 對通過校驗的數(shù)據(jù)進行處理和結(jié)構(gòu)化展示, 例如對上傳數(shù)據(jù)的可視化展示功能, 輔助用戶審查匯交的數(shù)據(jù). 通過數(shù)據(jù)預(yù)覽正確的數(shù)據(jù), 可以提交匯交審核到平臺.
為避免低質(zhì)量或錯誤數(shù)據(jù)污染正式數(shù)據(jù)庫, 經(jīng)過上述步驟匯交的數(shù)據(jù)會保存到暫存數(shù)據(jù)庫中, 由專家審核通過后方能匯入到正式數(shù)據(jù)庫中. 專家審核是實現(xiàn)數(shù)據(jù)匯交系統(tǒng)功能價值的關(guān)鍵, 此部分代碼邏輯如圖7 所示.
圖7 專家審核代碼邏輯
由于燃燒數(shù)據(jù)復(fù)雜, 難以從數(shù)據(jù)表中各類字段直觀看出數(shù)據(jù)錯誤, 本文設(shè)計了與數(shù)據(jù)匯交預(yù)覽階段相似的處理方式輔助專家進行數(shù)據(jù)審核. 通過審核的數(shù)據(jù)會轉(zhuǎn)入正式數(shù)據(jù)庫中共享給其他用戶. 數(shù)據(jù)審核中,專家可對低質(zhì)量數(shù)據(jù)進行退回, 對于少量錯誤亦可直接修正. 對于未通過審核的數(shù)據(jù), 專家本人或其他專家可以再次審核, 審核意見經(jīng)由后端Flask-Mail 郵件服務(wù)通知匯交者進行數(shù)據(jù)的修改或補充. 暫存數(shù)據(jù)庫和正式數(shù)據(jù)庫中均帶有匯交用戶和審核專家信息, 為數(shù)據(jù)的溯源和回滾等操作提供依據(jù).
本文建設(shè)了人機交互的燃燒反應(yīng)動力學(xué)建模環(huán)境,前端由用戶輸入機理計算所需要的物種和參數(shù)等信息,并提供“所見即所得”形式的文件展示, 后端計算采用Python 并行分步式框架Celery 進行任務(wù)計算, 采用Redis進行消息傳遞, 任務(wù)結(jié)果存儲于MongoDB 數(shù)據(jù)庫中(圖8).
圖8 在線動力學(xué)建模技術(shù)流程
用戶認證和管理是平臺提供個性化服務(wù)的基礎(chǔ).平臺采取了RBAC (role-based access control)模型[12],通過用戶-角色-權(quán)限3 個維度完成對用戶權(quán)限的控制.根據(jù)平臺數(shù)據(jù)管理、搜索和匯交審核等不同功能特點,設(shè)計了普通用戶、專家用戶和管理員用戶3 種角色,其中專家角色根據(jù)其對不同數(shù)據(jù)的專業(yè)度, 賦予不同數(shù)據(jù)庫的審核權(quán)限. 平臺通過邀請碼機制來賦予專家角色. 為了保障數(shù)據(jù)的安全, 采用JWT (JSON Web token)[13]跨域身份認證方案作為平臺 “通行證”, 采用HMAC-SHA256 算法進行密碼加密, 校驗成功后返回token, 在后面的操作中只需要攜帶此token 即可訪問相關(guān)的頁面和數(shù)據(jù)(圖9).
圖9 用戶認證授權(quán)過程
在線服務(wù)的快速部署和一致性運行環(huán)境是數(shù)據(jù)平臺實現(xiàn)快速迭代及穩(wěn)定化運行的關(guān)鍵. 平臺采取了Docker 容器化技術(shù)[14]建立一致的運行環(huán)境, 采用Docker-Compose 技術(shù)自動化部署和管理多個容器.平臺涉及的容器包括數(shù)據(jù)庫容器、軟件容器、計算容器等, 通過Docker networks 將涉及的容器進行互連并與其他軟硬件隔離, 通過端口映射到公開端口的方式實現(xiàn)外網(wǎng)訪問, 提高平臺的安全性. 對于前端代碼, 通過webpack 打包工具將代碼翻譯壓縮, 形成瀏覽器可以訪問的靜態(tài)文件. 以Flask-Nginx 作為基礎(chǔ)鏡像(包括一個精簡的Ubuntu 系統(tǒng)、 Python+Flask環(huán)境和Nginx 服務(wù)器)結(jié)合特定源碼文件Dockerfile來創(chuàng)建平臺應(yīng)用鏡像. 在容器運行中, 前端請求通過容器內(nèi)Nginx 服務(wù)器接收并代理到WSGI 服務(wù)(Python Web server gateway interface), 進而調(diào)用后端相關(guān)模塊完成操作并返回結(jié)果. 代碼的開發(fā), 遷移及發(fā)布階段, 編寫了相應(yīng)的腳本輔助進行, 以實現(xiàn)自動化部署流程.
平臺的穩(wěn)定運行是可持續(xù)發(fā)展的基本保證. 燃燒數(shù)據(jù)平臺涉及用戶信息、正式數(shù)據(jù)、用戶上傳數(shù)據(jù),計算程序結(jié)果等多種類型數(shù)據(jù). 隨著數(shù)據(jù)量的增大, 服務(wù)和數(shù)據(jù)的容災(zāi)備份就顯得非常重要. 在本工作中, 采取了每天備份策略, 將數(shù)據(jù)通過NFS 網(wǎng)絡(luò)文件系統(tǒng)及時備份到其他服務(wù)器. 另外, 為保證在線服務(wù)的穩(wěn)定運行, 在備份服務(wù)器中部署了服務(wù)容器, 一旦生產(chǎn)環(huán)境出現(xiàn)問題, 立即可以切換到備用服務(wù)器提供服務(wù)(圖10).
圖10 服務(wù)災(zāi)備策略
燃燒動力學(xué)平臺分為發(fā)布版和測試版, 其中發(fā)布版本功能穩(wěn)定, 網(wǎng)址為http://combus.vlcc.cn/, 測試版本注重功能的增加與完善, 網(wǎng)址為http://test.vlcc.cn. 網(wǎng)站平臺采用自適應(yīng)網(wǎng)頁設(shè)計理念, 支持多種瀏覽設(shè)備, 如桌面電腦顯示器、智能手機或其他移動產(chǎn)品設(shè)備, 及多種操作系統(tǒng)的訪問, 如Linux、Windows、 Mac 等,下面以測試版本功能進行介紹.
平臺主頁上提供了各個數(shù)據(jù)庫/計算軟件的入口,點擊相應(yīng)的卡片可進入各功能版塊. 例如, 點擊熱力學(xué)數(shù)據(jù)庫卡片, 可進入到熱力學(xué)數(shù)據(jù)檢索頁面, 用戶可根據(jù)需求選擇上傳文件或輸入分子式、SMILES 式、CAS號進行檢索, 此外, 通過集成JSME 軟件[15]提供了在線建模形式的檢索, 并支持模糊匹配. 例如, 以SMILES為“CC”輸入進行精確匹配查詢, 檢索結(jié)果如圖11 所示, 圖11(a)簡單展示了檢索結(jié)果, 在詳細信息下點擊“查看”后進入到詳細信息展示頁面, 圖11(b)詳細展示了乙烷分子所包含的基本信息, 常溫下熱力學(xué)信息表及參考文獻等信息. 在熱力學(xué)信息表中, 點擊相應(yīng)的熱力學(xué)數(shù)據(jù)項, 可顯示圖11(c)的CHEMKIN 格式熱力學(xué)數(shù)據(jù)擬合曲線, 點擊Cp_T 數(shù)據(jù)項, 可顯示圖11(d)所示的等壓熱容隨溫度變化曲線及擬合曲線和公式.
圖11 熱力學(xué)數(shù)據(jù)搜索結(jié)果頁面
對于動力學(xué)數(shù)據(jù)庫, 提供按照分子組成和分子唯一性檢索方式, 并支持模糊匹配. 例如, 輸入反應(yīng)物分子式C3H4, 產(chǎn)物分子式C6H6, 模糊匹配查詢得到如圖12 結(jié)果. 圖12(a)展示了所有符合條件的反應(yīng), 在每條結(jié)果的詳細信息處點擊“查看”, 顯示出對應(yīng)方程式的詳細信息(圖12(b)), 包括反應(yīng)方程式, 鼠標懸浮到每個反應(yīng)物/產(chǎn)物會顯示其結(jié)構(gòu)式, 點擊物種名稱可展示其對應(yīng)熱力學(xué)信息, 實現(xiàn)了熱力學(xué)數(shù)據(jù)和動力學(xué)數(shù)據(jù)的聯(lián)動. 列表展示了反應(yīng)方程式所對應(yīng)的參考文獻、溫度范圍、方法模型、對應(yīng)的三參數(shù)數(shù)值、計算出的雙參數(shù)數(shù)值等. 點擊“plot”可展示圖12(c)所示的速率常數(shù)曲線.
圖12 動力學(xué)數(shù)據(jù)搜索結(jié)果頁面
對于實驗數(shù)據(jù)庫, 所有數(shù)據(jù)(包含燃料點火延遲時間、火焰?zhèn)鞑ニ俣?、物種濃度、高溫熱物性等數(shù)據(jù)類型)通過同一入口頁面進行檢索. 對一些常見物種提供了按照分子名稱選擇的查詢模式, 在列出的實驗數(shù)據(jù)類型中選擇相應(yīng)的數(shù)據(jù)類型, 點擊后進行具體工況的選擇和查詢. 例如以“RP-3”為例, 檢索得到的實驗數(shù)據(jù)類型包括點火延遲時間和高溫熱物性(圖13(a))[16]. 點擊“點火延遲時間”標簽, 進入到點火延遲數(shù)據(jù)頁面, 按照參考文獻、當量比和壓力, 確定檢索的溫度范圍. 檢索結(jié)果包括點火延遲時間曲線等(圖13(b)). 點擊“高溫熱物性”標簽, 進入到高溫熱物性數(shù)據(jù)頁面, 包括密度、熱容和熱沉數(shù)據(jù). 選擇數(shù)據(jù)類型后, 根據(jù)壓力確定溫度范圍. 檢索結(jié)果包括溫度-密度曲線、溫度-熱容曲線、溫度-熱沉曲線, 并提供參考文獻及原始數(shù)據(jù)的查詢.
圖13 實驗數(shù)據(jù)搜索頁面
數(shù)據(jù)匯交功能包括數(shù)據(jù)填寫、數(shù)據(jù)預(yù)覽、數(shù)據(jù)審核3 個步驟, 通過引導(dǎo)式進行訪問. 如圖14, 以熱力學(xué)數(shù)據(jù)匯交為例, 數(shù)據(jù)填寫步驟中帶“*”的為必填字段.一條數(shù)據(jù)可以包含多條熱力學(xué)信息, 并通過SMILES與已有數(shù)據(jù)庫數(shù)據(jù)進行比對, 避免數(shù)據(jù)重復(fù)提交. 用戶可上傳摩爾文件, 熱力學(xué)文件和熱容-溫度數(shù)據(jù)(圖14(a)).在數(shù)據(jù)預(yù)覽階段, 數(shù)據(jù)結(jié)構(gòu)化呈現(xiàn), 通過 “Chem-Doodle”分子模型繪圖工具解析摩爾文件并提供分子模型展示, 不同熱力學(xué)信息通過參考文獻進行劃分. 對熱力學(xué)文件進行解析, 并通過參數(shù)擬合公式, 得到熱力學(xué)信息曲線(圖14(b)). 在專家審核頁面, 加入了專家審核-有關(guān)信息和專家審核-請審核數(shù)據(jù)模塊(圖14(c)和圖14(d)), 審核意見可供匯交用戶和其他審核專家參考.
圖14 數(shù)據(jù)匯交與審核頁面
在平臺首頁提供了反應(yīng)動力學(xué)軟件入口卡片, 點擊后可進入到相應(yīng)的軟件計算頁面. 例如, 點擊ReaxGen程序進行在線計算, 計算輸入文件可通過表單式創(chuàng)建,包括勾選參數(shù)、填寫物質(zhì)SMILES 或在線創(chuàng)建分子等多種方式創(chuàng)建輸入文件, 平臺提供實時的輸入文件展示功能. 點擊“提交計算”可上傳作業(yè)到后端運行(圖15(a)).計算任務(wù)提交后, 會返回作業(yè)計算進度條, 用戶可收藏頁面稍候查看計算結(jié)果, 或等待計算任務(wù)完成自動刷新顯示結(jié)果. 計算結(jié)果提供了文件列表, 包括文件名、大小、文件查看和下載功能(圖15(b)).
圖15 機理生成計算與結(jié)果頁面
本文基于燃燒反應(yīng)相關(guān)的各類數(shù)據(jù)和計算軟件,建立了可持續(xù)發(fā)展的燃燒動力學(xué)平臺. 文中從平臺整體框架、數(shù)據(jù)檢索系統(tǒng)、在線動力學(xué)建模系統(tǒng)、數(shù)據(jù)匯交系統(tǒng)、用戶認證系統(tǒng)、平臺部署及數(shù)據(jù)災(zāi)備策略等方面介紹了關(guān)鍵的技術(shù)與實現(xiàn)策略. 建成的平臺包括數(shù)據(jù)庫檢索和匯交系統(tǒng)及在線動力學(xué)建模系統(tǒng), 為國內(nèi)首個公開免費且可持續(xù)發(fā)展的多類型燃燒數(shù)據(jù)平臺. 其中數(shù)據(jù)庫檢索系統(tǒng)可實現(xiàn)包括熱力學(xué)數(shù)據(jù)庫、動力學(xué)數(shù)據(jù)庫、輸運數(shù)據(jù)庫、實驗數(shù)據(jù)庫、燃燒機理數(shù)據(jù)庫在內(nèi)的5 大類8 個數(shù)據(jù)庫的檢索, 檢索界面簡潔友好, 交互式強. 通過制定統(tǒng)一的數(shù)據(jù)準入標準和規(guī)范, 將理論計算、文獻及實驗等多方來源數(shù)據(jù)進行分類管理和檢索, 并保證了數(shù)據(jù)的前后一致性. 平臺通過匯交系統(tǒng)進行數(shù)據(jù)的收集與審核, 實現(xiàn)高質(zhì)量匯交數(shù)據(jù)與已有數(shù)據(jù)的融合, 促進了數(shù)據(jù)的流動. 在線動力學(xué)建模系統(tǒng)采用交互引導(dǎo)方式實現(xiàn)了創(chuàng)建計算輸入文件、提交計算和獲取結(jié)果的一站式功能, 實現(xiàn)了用戶自定義燃燒機理生成的在線動力學(xué)建模計算.
燃燒動力學(xué)平臺在性能和穩(wěn)定性方面的發(fā)展還在持續(xù)進行中, 未來功能發(fā)展的重點包括: (1)進一步完善數(shù)據(jù)匯交流程, 開發(fā)更多數(shù)據(jù)庫的匯交功能. (2)實現(xiàn)數(shù)據(jù)庫與機理計算軟件的聯(lián)用, 通過數(shù)據(jù)庫為計算軟件提供基礎(chǔ)和參考, 通過計算來擴充數(shù)據(jù)庫. (3)為計算軟件計算提供與多種計算資源的融合與調(diào)度及豐富的結(jié)果分析功能.