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