軟體更新就像突然造訪的老朋友,在通知到訪前不會給你留下足夠的時間準備。感到興奮的同時,還是難免會陷入一陣慌亂。你希望一切順利,軟體升級後能向前兼容你當前正在運行的版本,並能滿足全部軟體質量保證(SQA)要求。當軟體被用於一個受高度管制的環境中時,例如美國能源部(Department of Energy,DOE)運維的一個核研究反應堆,這一問題會變得更加突出。

SQA 程序為安全保駕護航

處理核能時有許多為避免發生失效而設置的安全防護措施,其中包括應用於反應堆設施中所有與核安全相關零件的 SQA 規定。

在美國橡樹嶺國家實驗室(Oak Ridge National Laboratory,ORNL),James D. Freels 和一個團隊正專心研究並開發如何將高通量同位素反應堆(High Flux Isotope Reactor,HFIR)的燃料從高濃縮鈾(HEU)轉換為低濃縮鈾(LEU)(見圖1)。為了響應全球減少威脅倡議,世界上大部分的核研究反應器都已經完成了這個轉換過程。在 HFIR 中 LEU 轉換的一個主要設計目標是為美國的凝聚態物質研究提供最高通量的中子反應源,以便繼續維持其在世界中子源市場的競爭力。特殊的燃料和堆芯設計,以及高功率密度的 HFIR ,使得燃料轉換成為一個複雜且極具挑戰性的任務。ORNL 的研究人員使用 COMSOL Multiphysics? 軟體來探索燃料轉化對 HFIR 性能及中子散射活動的影響。

圖 1. 正進行卸燃料操作的 HFIR 反應器堆芯。

DOE 規定必須嚴格遵守 SQA 標準。為此,ORNL 按照核安全相關條例開發並執行了相關程序。Jim 和 ORNL 團隊需要驗證他們所用的全部軟體,包括從軟體的初次安裝到最後一次升級,是否能按照代碼開發人員的預期運行。

彙報要求,安全第一!

設置 SQA 步驟是為了保證分析軟體能實現預期結果。「驗證本地安裝的軟體能否按開發人員的預期執行,這雖然很耗時,但卻是核安全相關規範中必須的一步。」ORNL 的高級研究員 Jim 解釋道。ORNL 將他們的 SQA 工作分為兩類:驗證與確認(V&V)。

符合確認要求可能是最難達到的,因為理想情況是能對實驗、測試或操作數據進行直接比較,以便評估代碼的準確度。對某些代碼而言,特別是像 COMSOL Multiphysics 這種最近才用於核行業的軟體代碼,最好的驗證方法(同時也是 ORNL 打算針對 COMSOL Multiphysics 所採用的方法)就是生成一份獨立的驗證報告,用於說明許多與他們研究直接相關的模擬結果的有效性;或者,可以將確認工作作為正式核安全相關計算程序中的一環,由單獨的程序負責控制及管理。

雖然符合驗證要求比較簡單,但如果沒有合適的軟體工具,驗證過程也可能非常耗時。DOE 要求團隊提供一份報告。報告中需要包含一組從 COMSOL? 軟體中選定的應用模型,並對比這些模型在ORNL 的運行結果與 COMSOL Multiphysics 軟體 App 庫中自帶配套文檔中的結果。由於可能會選擇多個應用模型,而且還要記錄報告中輸出的每個變數,所以需要大量的資源來完成驗證。

Jim 表示「按照彙報要求,我們曾經需要花費一到三個月的時間來驗證 COMSOL 的一個新版本,需要手動與 COMSOL 提供的文檔資料比對多個模擬結果。」

簡化 SQA 流程

隨著 COMSOL 中新增 App 開發器以及 Michael(Mike)W. Crowell 作為核安全與實驗分析員加入 ORNL 團隊,所有這一切都發生了改變,他們看到了自動完成 SQA 程序的可能性。模擬專業人員可以使用 COMSOL Multiphysics 進行基於物理場的分析,然後藉助 App 開發器為模型定製用戶界面。這就意味著團隊中的每個人都可以訪問 COMSOL 模型,無需專業的 COMSOL 編碼經驗,也不需要向專業人員尋求幫助。除了能夠輕鬆開發定製界面之外,模擬專業人員還可以利用由 Java? 代碼編寫的方法來拓展模型,執行定製命令,並與以前程序進行鏈接。而這正是 ORNL 團隊的迫切需要的。

在驗證步驟方面,研究人員需要演示軟體已經正確安裝在特定的計算機上,而且能按照 COMSOL Multiphysics 開發人員的預期運行並得到結果。Mike 在尋找一個解決方案,希望能幫助團隊測試能否在使用不同操作系統和數學庫的計算機上得到相同的模擬結果。「由於機器架構和庫的差別,再加上機器精度的限制,我們並不要求軟體內的結果與本地結果能夠吻合到小數點後的最後一位,但希望結果能足夠接近。」 Mike 解釋說。差異的產生有許多原因,例如,求解器與網格演算法在本地的創建與編譯方式等都可能造成偏差,而這些偏差都將影響最終結果。

在COMSOL 開發的「模型測試器」(App 開發器)正式發布前,Mike 使用 MATLAB? 定製了一款軟體程序來完成自動驗證流程,實現的方式類似於首先選擇COMSOL? 軟體的App 庫中自帶的一小組模型並在本地運行,然後提取並對比結果。他們在 COMSOL 用戶年會 2015 波士頓站發表的論文就記錄了這款程序的開發過程。Mike 開發的 MATLAB? 軟體程序將對比模型內及 COMSOL 配套文檔中的結果與在本地獲得的結果,然後報告二者的差異,突出顯示所有出界情況。藉助 Mike 的新方法,ORNL 將驗證所需的時間從數月減少至幾天。

Jim 非常希望能與 COMSOL 和 DOE 項目中的其他設備供應商分享 Mike 的成果,這也促成了他與 COMSOL 公司首席技術官 Ed Fontes 的一次交流。Jim 希望 COMSOL 能開發一款 App 並加入 App 庫,這樣所有用戶都能輕鬆驗證 COMSOL Multiphysics 的安裝。Ed 解釋說,他們在開發 COMSOL Multiphysics 時都會進行類似的驗證測試,每晚會測試數百個模型。他很樂意啟動該項目,並表示「App 將允許用戶運行一系列模型,對比例如溫度和電勢等物理量的運行結果與產品文檔(及 App 庫)中的值,用戶還將在測試完成後自動收到一份報告」。(見圖 2)。

圖 2. 模型測試器 App 將運行一系列模型並對比模型結果與產品文檔中的值,比如溫度和電勢。用戶將在測試完成後自動收到一份報告。圖註:Test selectionshortcuts–測試選擇快捷鍵;Compute selected–計算選定項;Create test reports–創建測試報告;Help–幫助;Test selection–測試選擇;Model selection–模型選擇;Test Status–測試狀態;Inputs and status–輸入和狀態;Output graphs, tables and compute times–輸出圖像、表格及計算時間

自動報告解放生產力

用戶可以根據 COMSOL Multiphysics 許可證運行 App 庫中的模型,靈活選擇他們希望加入安裝測試的模型。模擬開始後,測試 App 將告訴用戶哪些模型通過了測試,哪些未能通過,包括發生失效時的值,並會自動向用戶提供一份報告。「通過/失敗」的標準有預設設定,但用戶可以根據需求進行更改。用戶也可以通過自己的模型來拓展測試,並為數值解輸入自己的參考值。

「用戶可以使用 App 與上次的安裝結果對比,清楚瞭解最新安裝中產品的各項升級帶來的潛在影響。」Ed 說,「例如,如果 COMSOL 更改了網格演算法或湍流模型,您將能查看更新對您自己的模型及 COMSOL App 庫中的模型結果的影響。」

在對測試 App 的初級版本進行測試後,Mike 說:「我們能夠在 24 小時內完成所有驗證步驟。」

Jim 補充道:「自動報告不僅幫我們節省了大量時間,還提升了精度與可靠性。這使我們能將更多精力放在 HFIR 的燃料從高性能 HEU 到 LEU 的轉換上。」

經授權轉載自 COMSOL 用戶故事。


推薦閱讀:
相关文章