劉 東,李 慶,盧宗健,蘆 韡,馮晉濤
(中國核動力研究設(shè)計院,四川 成都 610041)
在核電工程的開發(fā)與運行過程中,一系列反應(yīng)堆系統(tǒng)專用設(shè)計分析與運行支持計算機軟件發(fā)揮著至關(guān)重要的作用。這些軟件的精確性,有效性,易用性對反應(yīng)堆系統(tǒng)性能,工程建設(shè)周期與成本,以及核電廠能否安全運行均有重要影響。核電專用軟件的研發(fā)通常涉及核物理、熱工水力、燃料機理、計算機軟硬件技術(shù)等多個專業(yè)領(lǐng)域,不僅需要完善的理論模型、數(shù)值計算方法、精確無誤的編碼,而且需要大量核能領(lǐng)域特定實驗、電廠運行數(shù)據(jù)和工程使用反饋經(jīng)驗進(jìn)行軟件的驗證與確認(rèn),軟件研發(fā)的技術(shù)門檻較高、難度很大。同時,由于這些軟件中相當(dāng)部分軟件的計算分析結(jié)果涉及核安全評價,各國的核安全審評當(dāng)局對涉及核安全的軟件的開發(fā)過程與結(jié)果驗證有嚴(yán)格要求,而且常常以一系列法規(guī)或者安全導(dǎo)則形式強制要求[1-2],核能軟件的研發(fā)所需的研發(fā)投入巨大,軟件從研發(fā)、評審到使用的周期往往較長。正因為如此,是否擁有自主、先進(jìn)、完善的核能專用軟件是一個國家核電自主創(chuàng)新能力的重要體現(xiàn),是核電工程是否具有完整自主知識產(chǎn)權(quán)的重要標(biāo)志,也是國與國之間進(jìn)行核電技術(shù)轉(zhuǎn)讓的關(guān)鍵組成部分之一,具有重要的社會與經(jīng)濟價值。
為了解決我國以往核電工程設(shè)計研發(fā)、運行支持過程中依賴國外軟件的困境,解決我國核電機組出口面臨的軟件知識產(chǎn)權(quán)障礙,形成核心的軟件技術(shù)轉(zhuǎn)讓能力,中核集團(tuán)下屬中國核動力研究設(shè)計院、中國核電工程有限公司、中核武漢核電運行技術(shù)股份有限公司相關(guān)研發(fā)團(tuán)隊,依靠自身幾十年來在核電核動力技術(shù)研發(fā)過程中的技術(shù)積累,通過長時間的努力成功研發(fā)了具有自主知識產(chǎn)權(quán)的核電軟件包NESTOR。NESTOR軟件包由核反應(yīng)堆物理設(shè)計軟件、屏蔽與源項設(shè)計軟件、熱工水力與安全分析軟件、燃料元件相關(guān)設(shè)計軟件、系統(tǒng)與設(shè)備設(shè)計軟件、核電廠運行支持軟件,集成研發(fā)與管理平臺等7大部分組成。軟件研發(fā)的主要研發(fā)應(yīng)用目標(biāo)是 “華龍一號”為代表的ACP系列核電機組的設(shè)計、安全分析與運行支持,同時也兼顧在役核電機組的運行支持與改進(jìn),并為我國下一代核電機組創(chuàng)新研發(fā)提供軟件技術(shù)支撐。
NESTOR采用當(dāng)前核能領(lǐng)域主流的理論模型與數(shù)字計算方法,新一代面向?qū)ο蟮挠嬎銠C語言進(jìn)行開發(fā),軟件研發(fā)過程中,遵循了國家相關(guān)標(biāo)準(zhǔn)規(guī)范,形成了完善的開發(fā)、驗證與應(yīng)用體系。對比國內(nèi)外同類軟件,NESTOR軟件包在理論模型工程適應(yīng)性、人機交互方式、集成運行模式上具有獨特的原始創(chuàng)新與集成創(chuàng)新,開發(fā)軟件的過程中獲得了一系列的知識產(chǎn)權(quán)成果,包括獲得70余項軟件著作權(quán),申請了20余項技術(shù)發(fā)明專利。
針對核電工程專用軟件高可靠性、高安全性、高經(jīng)濟性的特殊要求,在國家相關(guān)軟件標(biāo)準(zhǔn)[3-4]總體要求下,NESTOR軟件的研發(fā)遵循了軟件工程化思想,建立了有針對性的軟件研發(fā)質(zhì)保體系,保證軟件的研發(fā)過程受控。重點通過對核安全相關(guān)反應(yīng)堆軟件研發(fā)流程、理論模型與數(shù)值計算方法、驗證&確認(rèn)技術(shù)進(jìn)行差異化的深入研究,創(chuàng)新性制定了一系列覆蓋核電軟件研發(fā)全生命周期的軟件開發(fā)技術(shù)規(guī)范,此外,引入獨立的第三方模型評估、測試與驗證環(huán)節(jié),最終建立了一套具有核反應(yīng)堆工程獨特特點的完善軟件研發(fā)體系,主要開發(fā)過程如下:
1)需求分析——明確每個軟件的各項基本功能與性能需求,軟件的應(yīng)用目標(biāo)與適用范圍,給出軟件數(shù)據(jù)輸入、輸出形式,用戶的交互方式。在此基礎(chǔ)上,對重要的功能與關(guān)鍵現(xiàn)象進(jìn)行識別,并可進(jìn)一步按照對核安全的重要程度進(jìn)行排序,形成規(guī)范軟件需求說明書,指導(dǎo)后續(xù)軟件設(shè)計、編碼實現(xiàn)與測試、驗證等工作。
2)理論模型研究——按照軟件計算功能要求,選擇先進(jìn)、可靠的理論模型,以及創(chuàng)新發(fā)展目標(biāo)軟件所需的獨特理論模型,并將形式化的解析計算公式離散為計算機可實現(xiàn)的方法與流程,從而建立完善的數(shù)值計算方法,以軟件理論手冊的方式進(jìn)行固化。必要時,必須對軟件理論模型的正確性、先進(jìn)性、成熟性進(jìn)行深入的先期評估與確認(rèn)。
3)軟件設(shè)計——針對不同功能的軟件,采用不同類型 (如結(jié)構(gòu)化軟件、面向?qū)ο筌浖?進(jìn)行軟件總體與詳細(xì)設(shè)計,在理論模型的研究得到數(shù)值計算流程基礎(chǔ)上,進(jìn)一步形成軟件流程圖、軟件總體體系結(jié)構(gòu)和各功能模塊設(shè)計、接口設(shè)計,并通過開發(fā)軟件界面原型的方式實現(xiàn)軟件輸入輸出設(shè)計,形成規(guī)范的軟件設(shè)計說明書。
4)軟件編碼——按照軟件的設(shè)計、選擇不同的開發(fā)語言 (如CC++、JAVA、Fortran等)進(jìn)行軟件編碼實現(xiàn)。NESTOR軟件項目針對這些開發(fā)語言分別制定了相應(yīng)的編碼規(guī)范,以及軟件輸入輸出數(shù)據(jù)標(biāo)準(zhǔn)格式、圖形界面編制規(guī)范,從而對軟件編碼的數(shù)據(jù)結(jié)構(gòu)設(shè)計、變量與函數(shù)命名方式、流程實現(xiàn)方法、類與函數(shù)定義、人機界面等編碼環(huán)節(jié)進(jìn)行了規(guī)范,形成了詳細(xì)的編碼技術(shù)文檔。
5)軟件測試——在編碼團(tuán)隊進(jìn)行內(nèi)部測試基礎(chǔ)上,獨立的軟件測試團(tuán)隊以軟件需求說明書、軟件設(shè)計說明書為輸入,對軟件代碼開展單元測試、集成測試、系統(tǒng)測試等工作,檢驗軟件代碼是否符合規(guī)范,計算結(jié)果的期望值、路徑覆蓋率、越界處理方法、人機界面等關(guān)鍵環(huán)節(jié)是否與相關(guān)設(shè)計說明書相符合,及時發(fā)現(xiàn)設(shè)計與編碼缺陷,并及時處理,直到所有發(fā)現(xiàn)的缺陷得以修復(fù)并通過回歸測試。
6)軟件驗證——按照軟件的功能需求,結(jié)合不同軟件的具體情況,分別采用基準(zhǔn)例題、核電站運行數(shù)據(jù)、工程試驗數(shù)據(jù)、已有工程設(shè)計數(shù)據(jù)對比分析等方式,對軟件的計算功能、計算精度等性能進(jìn)行分析,并確認(rèn)軟件的適用范圍。對與核安全相關(guān)軟件,還應(yīng)根據(jù)相關(guān)軟件開發(fā)與驗證導(dǎo)則的要求,根據(jù)不同軟件、不同重要程度的現(xiàn)象分別采取不同的方式,按照 “評價模型”的概念[1]與流程進(jìn)行進(jìn)一步深入驗證,重點要給出計算結(jié)果的不確定性量化分析,以及計算結(jié)果的偏差是否具有安全邊界內(nèi)的評價依據(jù),必要情況下可開展第三方團(tuán)隊的獨立模型與計算結(jié)果的評價工作。
在整個軟件研發(fā)體系中,作為質(zhì)量管理過程關(guān)鍵內(nèi)容的開發(fā)規(guī)范與配置管理活動發(fā)揮了重要的作用。NESTOR軟件研發(fā)過程最終形成了30余項開發(fā)規(guī)范,涉及上述軟件需求、模型研究、設(shè)計、編碼、測試與驗證全部環(huán)節(jié),是保證軟件研發(fā)過程質(zhì)量重要的理論依據(jù)。同時,有效配置管理方式實現(xiàn)了整個研發(fā)過程中的軟件源代碼、文檔等軟件配置項進(jìn)行識別、管理、變更和控制,是保證軟件研發(fā)過程質(zhì)量關(guān)鍵的技術(shù)手段。
NESTOR軟件包具備清晰的工程化應(yīng)用定位,主要滿足 “華龍一號”為代表的第三代中核ACP系列壓水堆核電工程設(shè)計與分析,以及適用于在役二代加和三代ACP系列壓水堆核電廠的安全運行的技術(shù)支持。軟件的功能必須滿足 “華龍一號”(HPR1000)采用177堆芯形式、國產(chǎn)CF系列燃料組件、能動加非能動安全系統(tǒng)、ZH-65蒸汽發(fā)生器、更高的抗震和防撞擊設(shè)計要求、三維功率分布在線監(jiān)測等核電機組創(chuàng)新的設(shè)計要求。
由此,NESTOR軟件包的理論模型的創(chuàng)新以及軟件的驗證工作主要圍繞軟件工程適應(yīng)性方面開展。重點針對在公知的先進(jìn)、成熟基礎(chǔ)理論與數(shù)值計算方法基礎(chǔ)上,結(jié)合工程實驗與設(shè)計經(jīng)驗反饋,對理論模型的邊界條件、經(jīng)驗參數(shù)、工程因子、特殊關(guān)系式等方面進(jìn)行改進(jìn)與創(chuàng)新。例如,堆芯核設(shè)計軟件理論模型采用了組件特征線法 (MOC)、三維堆芯節(jié)塊法等主流的技術(shù),并在參考大量電廠運行數(shù)據(jù)、實驗數(shù)據(jù)與燃料管理工程反饋經(jīng)驗基礎(chǔ)上,重點對共振參數(shù)、燃耗鏈參數(shù)、反射層參數(shù)等關(guān)鍵參數(shù)的選取與設(shè)定進(jìn)行了敏感性分析與優(yōu)化,使得其更好地符合 “華龍一號”(HPR1000)等工程;堆芯子通道熱工水力軟件采用了依靠大量實驗獲得的自主CF燃料系統(tǒng)組件的臨界熱流密度關(guān)系式 (CHF),大幅度提高了DNBR等關(guān)鍵參數(shù)計算的精度,理論計算更加符合與實驗驗證結(jié)果;燃料性能分析軟件采用新的材料物性參數(shù),利用輻照與化學(xué)腐蝕實驗數(shù)據(jù),對國產(chǎn)燃料組件多種鋯合金包殼燃料棒的熱-力學(xué)行為理論模型的工程因子進(jìn)行了有針對性的選取??傊?通過這些的理論模型改進(jìn)與創(chuàng)新,NESTOR軟件對特定具有工程特點的核電工程的設(shè)計計算精度得到了大幅度提高。
此外,為了方便工程設(shè)計使用,NESTOR軟件包針對特定的工程,集成大量的設(shè)計數(shù)據(jù),預(yù)設(shè)了多種可選邊界條件,固化了多種工程常用熱工參數(shù),凝聚了眾多的設(shè)計反饋經(jīng)驗,它不僅是一個核電設(shè)計計算軟件包,同時也是一個積累了大量工程師設(shè)計經(jīng)驗的設(shè)計知識庫。例如,NESTOR軟件包內(nèi)置了多種常用的燃料組件、可燃毒物組件數(shù)據(jù)庫,在堆芯裝載設(shè)計與燃料管理、燃料元件性能分析、堆芯子通道熱工安全計算等設(shè)計活動中,通過直接選取特定的燃料組件,大量復(fù)雜的幾何、性能參數(shù)自動作為缺省值進(jìn)行匹配,既能快速地進(jìn)行整體計算參數(shù)的設(shè)定,又方便進(jìn)行局部的修改。這種軟件內(nèi)置完善知識庫的特性在ZH-65蒸汽發(fā)生器軟件、能動與非能動系統(tǒng)熱工計算軟件,管道力學(xué)分析計算軟件等領(lǐng)域也得到了充分的體現(xiàn),極大地提升了NESTOR軟件包的工程適應(yīng)性。
NESTOR軟件包中各項軟件均采用圖形化的界面,具有友好的用戶交互方式。在初始輸入方式上,NESTOR軟件包能夠?qū)崿F(xiàn)物理、熱工、燃料等專業(yè)共用的幾何特性、物性參數(shù)統(tǒng)一圖形化輸入建模;針對特定的核電工程,在設(shè)備系統(tǒng)選取、輸入?yún)?shù)的設(shè)定預(yù)置了大量的工程設(shè)計默認(rèn)參數(shù);同時,可對輸入?yún)?shù)格式、取值范圍進(jìn)行自動的合法性檢測,具有良好的在線輸入錯誤提示與處理功能,極大地提升了用戶操作的效率和便利性。圖1為堆芯物理設(shè)計組件計算軟件的輸入界面,其采用圖形化的方式進(jìn)行17×17燃料棒布置,可以即見即所得的布置不同的燃料棒、可燃毒物棒、儀表管等軟件元件形式,對于燃料元件,也可以選擇不同的富集度、是否含釓等燃料棒參數(shù),多種工程上常見使用的CF2/CF3等燃料元件參數(shù)可以直接選用,也可設(shè)定新的元件參數(shù),以支持創(chuàng)新性的組件設(shè)計。
圖1 堆芯物理設(shè)計組件計算軟件輸入界面Fig.1 Data input interface of assembly co mputing soft ware
在過程交互方面,NESTOR軟件包通常采用直觀可靠、所見即所得的用戶交互方式,廣泛應(yīng)用直接點取、拖拽、一鍵填充、高亮特殊圖形等多種靈活交互技術(shù),以及輸入輸出數(shù)據(jù)引導(dǎo)信息提示、出錯報警提示等方法提高用戶交互友好性。圖2是堆芯計算軟件換料循環(huán)裝載交互界面,用戶可通過鼠標(biāo)點選、拖拽不同顏色代表的燃料組件,進(jìn)行新燃料導(dǎo)入、燃料組件的換位,全部換料過程均通過所見即所得的方式展現(xiàn)給用戶。軟件預(yù)設(shè)多種常見方式完成舊循環(huán)到新循環(huán)的換料過程,對于不常見的換料方式高亮顯示,即提升了用戶過程交互的便捷性,又降低了人為出現(xiàn)換料流程錯誤的可能性。
圖2 堆芯計算軟件換料循環(huán)裝載交互界面Fig.2 Reload interface of core co mputing soft ware
數(shù)據(jù)輸出技術(shù)方面,NESTOR軟件包為用戶提供了直觀的可視化輸出,包括重要計算結(jié)果的文本、一維、二維及三維圖形多樣化展現(xiàn)方式,方便地輸出計算結(jié)果,部分軟件可實現(xiàn)工程設(shè)計報告的自動生成等。圖3為堆芯熱工水力分析軟件CORT H輸出的三維堆芯溫場分布結(jié)果,數(shù)據(jù)后處理環(huán)境可以三維旋轉(zhuǎn)、剖切、分層等方式顯示全堆芯任何部分的計算結(jié)果,可以以云圖、鼠標(biāo)拾取數(shù)值等方式顯示從燃料元件棒、組件到全堆芯不同尺度的信息,支持即時顯示千萬量級網(wǎng)格數(shù)量穩(wěn)態(tài)與瞬態(tài)計算結(jié)果。
圖3 堆芯熱工水力分析軟件CORT H輸出的三維堆芯溫場分布結(jié)果Fig.3 Three-di mensional core te mperature distribution interface of CORT H
NESTOR軟件包主要軟件均運行在新一代銀河高性能計算機系統(tǒng)上,該硬件系統(tǒng)具有優(yōu)異的硬件與網(wǎng)絡(luò)集群架構(gòu),采用適合進(jìn)行超大規(guī)模并行計算的新一代LINUX操作系統(tǒng),支持OPENMP、MPI等并行運行環(huán)境,為軟件包提供了高效、穩(wěn)定的硬件運行支撐環(huán)境。
NESTOR軟件包還包含了一體化的集成運行平臺NEPRI,該平臺為NESTOR軟件包中眾多計算軟件提供統(tǒng)一的軟件配置集成、用戶與數(shù)據(jù)管理工具,實現(xiàn)了多用戶環(huán)境下軟件資源、設(shè)計數(shù)據(jù)、設(shè)計流程集成。主要功能包含:將多個設(shè)計軟件集成起來實現(xiàn)完善的設(shè)計計算流程,通過定義計算流程與接口的方式,以自動化的方式實現(xiàn)上下游軟件之間數(shù)據(jù)流轉(zhuǎn);實現(xiàn)用戶的統(tǒng)一管理,實現(xiàn)不同用戶之間按照權(quán)限進(jìn)行流程與數(shù)據(jù)安全共享與重用;實現(xiàn)復(fù)雜工程多用戶協(xié)同設(shè)計,可將大作業(yè)分解給不同用戶在協(xié)同環(huán)境中共同完成;支持并行計算,自動實現(xiàn)了軟件運行資源的統(tǒng)一執(zhí)行調(diào)度與計算自動化。圖4為NEPRI上定義的核電燃料管理流程,它將數(shù)十個分離的計算模塊按照設(shè)計規(guī)范流程集成起來,高效實現(xiàn)大任務(wù)的多個用戶的協(xié)同設(shè)計,以及快速的自動數(shù)據(jù)流轉(zhuǎn)。集成運行平臺NEPRI可有效提高設(shè)計過程數(shù)據(jù)經(jīng)驗復(fù)用程度,提高設(shè)計過程規(guī)范化程度,減少設(shè)計時間與差錯。
圖4 NEPRI平臺上定義的核電燃料管理流程Fig.4 Nuclear f uel management process on NEPRI
此外,NEPRI平臺架構(gòu)設(shè)計采用了云計算技術(shù)應(yīng)用模式,用戶使用統(tǒng)一的PORTAL遠(yuǎn)程登錄系統(tǒng),軟件在后端遠(yuǎn)程服務(wù)器進(jìn)行高性能計算,系統(tǒng)自動分配計算資源,可實現(xiàn)同步與異步計算模式。用戶可在線及離線以可視化的方式監(jiān)控計算過程。目前已實現(xiàn)基于企業(yè)內(nèi)部NESTOR“私有云”的構(gòu)建與應(yīng)用,相比于傳統(tǒng)應(yīng)用模式,在軟件的維護(hù)升級、數(shù)據(jù)安全、多用戶多任務(wù)協(xié)同等方面體現(xiàn)出了巨大優(yōu)勢。未來,NEPRI這種云計算模式可以較為方便地應(yīng)用到基于互聯(lián)網(wǎng)的 “公有云”計算模式上,這將為未來推動核電軟件技術(shù)出口,面向全球提供核電廠技術(shù)支持,保護(hù)知識產(chǎn)權(quán)提供了新的技術(shù)途徑,具有重要的意義。
當(dāng)前NESTOR軟件包技術(shù)范圍已經(jīng)覆蓋了“華龍一號” (HPR1000)為代表的三代核電工程的設(shè)計與運行支持主要軟件技術(shù)領(lǐng)域,通過大量的基準(zhǔn)例題、實驗數(shù)據(jù)、核電廠運行數(shù)據(jù)驗證,NESTOR包在核電工程物理、熱工、燃料、力學(xué)等領(lǐng)域主要參數(shù)的計算精度總體上與國外同類主流軟件相當(dāng)。軟件包已經(jīng)逐步應(yīng)用到多個核電工程的設(shè)計、校核、運行支持工作中,后續(xù)將廣泛收集用戶反饋意見,進(jìn)一步完善軟件功能。同時,也將按照近期國家核安全審評部門的相關(guān)規(guī)定,積極推進(jìn)NESTOR軟件包中涉及核安全相關(guān)的軟件進(jìn)行深入的軟件評價、認(rèn)證工作。
[1]Transient and accident analysis methods.Regulatory Guide 1.203[R].US NRC,2005.
[2]核動力廠基于計算機的安全重要系統(tǒng)軟件:HAD 102-16-2004[S].國家核安全局,2004.
[3]吳源俊,林宇,李韻琴,等.軟件能力成熟度模型:SJ/T 11235-2001[S].中華人民共和國信息產(chǎn)業(yè)部,2001.
[4]閆宇華,王黎明,宋太亮,等.軍用軟件研制能力成熟度模型:GJB5000 A-2008[S].中國人民解放軍總裝備部,2008.