分布式多溫度ace庫的制作方法
【技術領域】
[0001] 本發明屬于核數據技術,具體涉及一種針對ACE格式連續能量點截面庫的制作方 法。
【背景技術】
[0002] 隨著核工程設計技術的發展,中子輸運過程的蒙卡模擬在核工程中應用越來越廣 泛。相應地,對與蒙卡程序MCNP配套的ACE格式連續能量點截面庫(ACE庫)的需求也不 斷增長,在包含核素的數量、數據的可靠性、溫度數量和范圍、數據庫的適用范圍等方面提 出了越來越高的要求。
[0003] 制作ACE庫最基本的方法是采用美國洛斯阿拉莫斯國家實驗室(LANL)開發的核 數據處理程序NJ0Y。該程序的目前廣泛應用的版本是NJ0Y99 (可參見R. E. MacFarlane and D. ff. Muir. NJ0Y99. 0, Code System for Producing Pointwise and Multigroup Neutron and Photon Cross Sections from ENDF/B Data.Los Alamos National Laboratory,LA-12740-M,2000.)。以ENDF-6格式存儲的全套中子評價核數據為輸入,按照 核數據處理流程調用NJ0Y99程序的多個模塊對核數據進行多步處理,就能夠計算得到單 核素、單溫度的ACE文檔。不過,NJ0Y/ACER模塊一次只能夠加工制作一個溫度、一個核素的 ACE文檔。在NJ0Y99運行過程中,模塊的調用和大量運行參數的輸入是通過輸入卡(輸入 文件)來輸入的。手工編寫這些輸入卡非常繁瑣。當前國際上主要評價核數據庫,如ENDF/ B-VII. 1、JENDL-4. 0、JEFF-3. 2等的規模大約為400個核素。采用手動編寫輸入卡的方式 制作400個核素規模的全套中子評價核數據庫的ACE庫是一種低效的做法。
[0004] 由于ACE庫在制作過程中需要改變的參數很少,主要是核素的標識和溫度,國內 外都已經發展了一些比較便捷的方法來制作ACE庫。
[0005] 2008年,為了研制以ENDF/B-VII. 0為基礎的、包含5個溫度點的ACE庫ENDF70, 美國LANL研發了 Fortran程序PRENJ0Y。該程序運行于Linux系統,只要在命令行鍵入 "prenjoy ZZAAA"就可以調用NJOY程序制作單個核素的ACE文檔。ZZAAA是核素的質子數 Z*1000+質量數A。首先,需要手動新建一個目錄,然后運行"prenjoy ZZAAA"。PRENJ0Y程 序會檢索一個評價數據列表,找到該核素對應的評價數據文件,然后再生成一個cshell腳 本RUNNJ0Y。該腳本包含了拷貝文件、根據預先編制在程序中的參數生成的NJOY程序輸入 卡、運行NJOY程序和檢查程序CHECKACE. pi等命令。手動運行該命令,則可以完成單個核 素、多個溫度的ACE文檔的制作。如果編制一個運行PRENJ0Y程序的列表,則可以實現以串 行方式連續制作大量核素的ACE庫,繼而得到一個多溫度或單溫度的ACE庫。如果想以并 行方式運行PRENJ0Y (實際是集群上的分布式作業),則需要手動改變cshell腳本的名稱, 并提交作業。
[0006] PRENJ0Y雖然能夠實現批量制作大量核素的ACE文件,但也存在若干不足: prenjoy腳本的運行需要手動執行,降低了運行效率;溫度參數需要預先在RUNNJ0Y程序中 編制,缺乏靈活性;沒有匯編生成ACE庫索引的功能;缺乏異常處理功能,串行運行時如果 評價數據有錯,則可能造成運行中斷,降低效率。
[0007] "十一五"期間,中國核數據中心建立了單溫度快中子ACE庫制作的技術方案,研制 了在Windows系統下自動化制作單溫度ACE庫的程序系統genACE,流程如圖1所示。在該 程序系統中,PERL語言程序preACE. pi能夠遍歷ENDF. 1st文件中評價核數據文檔,自動生 成制作單個核素、單溫度ACE文檔的NJOY輸入卡,并生成處理所有核素的批處理腳本文件 runNJOY. bat。接下來,手動運行runNJOY,則系統按圖1中的加工流程調用NJOY程序,制作 每個核素的ACE文檔,得到的ACE文檔和索引文件。最后,手動運行getXSD. pi程序,則可 以生成包含所有核素的索引文件。在評價數據沒有格式、物理錯誤的條件下,genACE系統 能夠完成單個溫度標準ACE庫的無人值守、自動化制作。與PRENJ0Y相比,genACE系統更 加快捷,手工干預更少。將一套包含400個核素的評價核數據庫加工成ACE庫的時間約為 7天。
[0008] 但是,genACE也存在與PRENJ0Y相似的不足:制作多溫度庫需要更改preACEn腳 本中的參數;ACE文檔的制作也是順序執行的,評價數據處理異常可能導致錯誤,從而中斷 執行,造成效率降低。另外,該系統運行在WINDOWS單機上,不支持分布式計算,無法利用集 群計算的優勢。
【發明內容】
[0009] 本發明的目的在于針對現有技術的缺陷,提供一種分布式多溫度ACE庫的制作方 法,從而克服缺乏異常處理的串行方法帶來的效率降低的缺陷,消除制作中途的人工干預 和代碼改寫,充分利用高性能計算集群帶來計算能力提升,提高ACE庫制作的效率和便捷 性。
[0010] 本發明的技術方案如下:一種分布式多溫度ACE庫的制作方法,包括如下步驟:
[0011] (1)準備待加工制作的評價核數據庫,以及輸入參數文件和評價數據文件路徑列 表;所述的評價核數據庫存放在單個目錄中,并在所述評價數據文件路徑列表中給出包含 相對于溫度目錄的路徑和文件名稱,所述的輸入參數文件包含ACE庫制作過程需要的溫度 及對應溫度目錄、庫標識、每個溫度的索引標識信息;
[0012] (2)準備作業管理系統SGE進行分布式作業所需的文件及目錄,包括:溫度目錄、 分布式作業編號腳本、SGE分布式作業腳本、所有溫度和核素的單核素單溫度NJ0Y99輸入 卡、以SGE_TASK_ID為后綴的輸入卡符號鏈接文件;
[0013] (3)遍歷各個溫度目錄,先執行分布式作業編號腳本,對已經生成的NJ0Y99輸入 卡進行編號;再提交每個目錄中的SGE分布式作業腳本文件,開始多溫度ACE庫的分布式制 作,待作業腳本正常結束后,生成的文件包括NJ0Y99運行輸出文件、ACE庫文件以及分布式 作業運行志;
[0014] (4)待所有分布式作業完成后,遍歷每個溫度目錄中的ACE庫文件,并從中提取每 個文件的索引信息,存儲在各個溫度目錄下的索引文件中,之后,將多個目錄中的索引文件 與原子數表、熱散射ACE庫索引及光子原子數據索引、電子原子數據索引合并,生成完整的 MCNP程序可用的索引文件。
[0015] 進一步,如上所述的分布式多溫度ACE庫的制作方法,步驟(2)中,準備所述溫度 目錄的方法如下:讀取所述的輸入參數文件,從中提取各個溫度庫擬存放的目錄名稱,按照 目錄名稱新建與溫度相對應的目錄。
[0016] 進一步,如上所述的分布式多溫度ACE庫的制作方法,步驟(2)中,所述的分布式 作業編號腳本用于實現當前目錄下的所有參加分布式作業的NJ0Y99輸入卡的編號,并生 成名為inp. SGE_TASK_ID的符號鏈接文件;作業管理系統SGE需要以等差數列形式的SGE_ TASK_ID后綴來索引分布式作業中的各個任務,實現分布式作業的管理。
[0017] 進一步,如上所述的分布式多溫度ACE庫的制作方法,步驟(2)中,所述的SGE分 布式作業腳本具備7項功能:第一,根據評價數據文件的個數來確定每個溫度目錄中分布 式作業的任務個數;第二,運用模式匹配分析每個以SGE_TASK_ID結尾的符號鏈接文件,獲 得實際的輸入卡文件名,并通過模式匹配從中提取ACE庫標識;第三,以SGE_TASK_ID為名 稱,為單個核素的單溫度ACE文檔制作建立單獨的目錄,以滿足多個NJOY程序同時運行的 要求;第四,將待加工的評價核數據文檔放入SGE_TASK_ID目錄;第五,進入該目錄并執行 NJ0Y99程序進行ACE庫的加工制作;第六,待NJOY制作結束之后,將所需的輸出文件按一 定規則命名并轉移到溫度目錄中;第七,刪除SGE_TASK_ID目錄。
[0018] 進一步,如上所述的分布式多溫度ACE庫的制作方法,步驟(2)中,準備所述 NJ0Y99輸入卡的方法如下:掃描核反應數據庫列表中給出的所有核素的評價核數據文件, 從中提取生成ACE庫所需的信息,并按照NJ0Y99程序制作ACE庫的輸入卡要求,在以"庫標 識+6位ZA值+1位亞穩態標識"命名的輸入卡文件中打印NJ0Y99輸入卡。
[0019] 進一步,如上所述的分布式多溫度ACE庫的制作方法,其中,本方法對于不同類型 的文件,用文件后綴加以區分,NJ0Y99輸入卡后綴為".nji"、輸出文件后綴為".njo"、ACE 庫文件后綴為ace";對于同一類型的文件,采用"庫標識+6位ZA值+1位亞穩態標識"作 為文件名來進行區分;對于文件名相同的文件,則以目錄進行區分。
[0020] 本發明的有益效果如下:本發明所提供的分布式多溫度ACE庫的制作方法將溫度 相關參數和評價數據列表以文件的形式輸入,分布式作業腳本生成、分布式作業編號、NJOY 輸入卡生成、分布式作業提交、ACE庫索引文件生成等功能均實現的了自動化,消除了手工 干預,極大地提高了 ACE庫制作的效率。由于采用分布式計算,個別核素 ACE庫制作的異常 只影響自己,避免了缺乏異常處理帶來的處理過程中斷。基于中國核數據中心包含128核 芯的ROCKS高性能計算集群,采用分布式ACE庫制作系統genACE2,將包含400個核素的中 子評價核數據庫制作成多溫度ACE庫,效率比intel i7/3. 4G核芯單機串行制作提高100 多倍。
【附圖說明】
[0021] 圖1為現有的制作單溫度ACE庫的genACE程序的流程示意圖;
[0022] 圖2為本發明分布式多溫度ACE庫的制作流程圖;
[0023] 圖3為本