1. 2 A B B A B 0 y A + y B A Burner FP SRAC FP CBZ BurnupChainGenerator 197 FP BurnupChainGenerator 1

Similar documents
03J_sources.key

1 1 H Li Be Na M g B A l C S i N P O S F He N Cl A e K Ca S c T i V C Mn Fe Co Ni Cu Zn Ga Ge As Se B K Rb S Y Z Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb T e

IS(A3) 核データ表 ( 内部転換 オージェ電子 ) No.e1 By IsoShieldJP 番号 核種核種半減期エネルギー放出割合核種番号通番数値単位 (kev) (%) 核崩壊型 娘核種 MG H β-/ce K A

1/120 別表第 1(6 8 及び10 関係 ) 放射性物質の種類が明らかで かつ 一種類である場合の放射線業務従事者の呼吸する空気中の放射性物質の濃度限度等 添付 第一欄第二欄第三欄第四欄第五欄第六欄 放射性物質の種類 吸入摂取した 経口摂取した 放射線業 周辺監視 周辺監視 場合の実効線 場合

2_R_新技術説明会(佐々木)

元素分析

H1-H4

36 th IChO : - 3 ( ) , G O O D L U C K final 1

RN201602_cs5_0122.indd

RAA-05(201604)MRA対応製品ver6


Microsoft PowerPoint - ①-3_データ集(タンク推定・実測)r6

hv (%) (nm) 2

PowerPoint プレゼンテーション


K 吸収端 XAFS 用標準試料 Ti Ti-foil 金属箔 縦 1.3 cm 横 1.3 cm 厚さ 3 µm TiO2 anatase ペレット φ 7 mm 厚さ 0.5 mm 作製日 TiO2 rutile ペレット φ 7 mm 厚さ 0.5 mm 作製日 2017.

SIサイエンス株式会社 stable isotope metal

登録プログラムの名称 登録番号 初回登録日 最新交付日 登録された事業所の名称及び所在地 問い合わせ窓口 JCSS JCSS 年 12 月 1 日 2018 年 5 月 23 日公益社団法人日本アイソトープ協会川崎技術開発センター 神奈川県川崎市川崎区殿町三丁目

希少金属資源 -新たな段階に入った資源問題-

<4D F736F F F696E74202D BD8A6A8EED8F9C8B8E90DD94F582CC90DD E707074>

PowerPoint Presentation

Al アルミニウム Cu 銅 Fe 鉄 Ni ニ


理工学部無機化学ノート

untitled

新規な金属抽出剤

r03.dvi

Basic Welding 1. welding processes and equipments

Microsoft PowerPoint - 基礎化学4revPart1b [互換モード]

日本内科学会雑誌第97巻第7号

日本内科学会雑誌第98巻第4号

ohp03.dvi

本レポートは独立行政法人日本原子力研究開発機構が不定期に発行する成果報告書です 本レポートの入手並びに著作権利用に関するお問い合わせは 下記あてにお問い合わせ下さい なお 本レポートの全文は日本原子力研究開発機構ホームページ ( より発信されています 独立

1 C STL(1) C C C libc C C C++ STL(Standard Template Library ) libc libc C++ C STL libc STL iostream Algorithm libc STL string vector l

CRA3689A

Microsoft Word - FINALmanual_pm1703mo1ab.docx

1 1 x y = y(x) y, y,..., y (n) : n y F (x, y, y,..., y (n) ) = 0 n F (x, y, y ) = 0 1 y(x) y y = G(x, y) y, y y + p(x)y = q(x) 1 p(x) q(

DV-DT1 取扱説明書


Condition DAQ condition condition 2 3 XML key value

apple ヲ0 09 apple ヲ apple0309apple076 56ヲ fl 0603apple6ヲ

Microsoft Word - Jmol リソースの使い方-2.doc

振動充填燃料の粒子焼結試験実施計画書

tuat1.dvi

USB FDD ユーザーズマニュアル

42 3 u = (37) MeV/c 2 (3.4) [1] u amu m p m n [1] m H [2] m p = (4) MeV/c 2 = (13) u m n = (4) MeV/c 2 =

[ 1] 1 Hello World!! 1 #include <s t d i o. h> 2 3 int main ( ) { 4 5 p r i n t f ( H e l l o World!! \ n ) ; 6 7 return 0 ; 8 } 1:

Copyright c 2008 Zhenjiang Hu, All Right Reserved.

Donald Carl J. Choi, β ( )

CH 2 CH CH 2 CH CH 2 CH CH 2 CH 2 COONa CH 2 N CH 2 COONa O Co 2+ O CO CH 2 CH N 2 CH 2 CO 9 Change in Ionic Form of IDA resin with h ph CH 2 NH + COO


: CR (0x0d) LF (0x0a) line separator CR Mac LF UNIX CR+LF MS-DOS WINDOWS Japan Advanced Institute of Science and Technology

Μ粒子電子転換事象探索実験による世界最高感度での 荷電LFV探索 第3回機構シンポジューム 2009年5月11日 素粒子原子核研究所 三原 智

開催日時 平成25年11月14日 木 9:3 17: 会場 東海大学高輪キャンパス1号館 第2会議室 講師 東海大学工学部原子力工学科 教授 大江 俊昭 氏 講義 課題1 放射性廃棄物処分の安全評価解析の基礎 Ⅰ 浅地中ピット処分の事例分析 Ⅱ 地層処分の事例分析 課題2 放射性廃棄物処分の安全評価

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

ALG ppt

Microsoft PowerPoint - 生成核種

第1は、福島事故とチェルノブイリ事故との放射能放出量の比較です

VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool

1 平成 27 年度環境研究総合推進費研究成果発表会 平成 27 年 10 月 23 日 廃自動車の行方を考える - 資源と環境の視点から見た使用済み自動車 - 京都大学環境科学センター酒井伸一

Ł\”ƒ-2005

第90回日本感染症学会学術講演会抄録(I)


日本内科学会雑誌第102巻第4号

アルゴリズムとデータ構造1

USB FDD ユーザーズマニュアル

K227 Java 2

1.3 2 gnuplot> set samples gnuplot> plot sin(x) sin gnuplot> plot [0:6.28] [-1.5:1.5] sin(x) gnuplot> plot [-6.28:6.28] [-1.5:1.5] sin(x),co

:010_ :3/24/2005 3:27 PM :05/03/28 14:39

2 3

Copyright c 2006 Zhenjiang Hu, All Right Reserved.

untitled

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B

新版明解C言語 実践編

8 if switch for while do while 2

27巻3号/FUJSYU03‐107(プログラム)

第101回 日本美容外科学会誌/nbgkp‐01(大扉)

パーキンソン病治療ガイドライン2002

(Java/FX ) Java CD Java version Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas C

東京大学教養学部 放射線講義 スライドのご案内 ごらんのファイル以外にも 別学期の講義シリーズのファイルがあります 書籍 放射線を科学的に理解する 基礎からわかる 東大教養の講義 5 10 火曜5限 スタート!!

本文27/A(CD-ROM

tnbp59-20_Web:P1/ky108679509610002943

Coarse Standard ISO 190/ /21.0 ISO 160/ /22.0 ISO 173/ /21.8 ISO 198/ /21.8 ISO 197/ /20.0 ISO 068/ /19.1 FO-54C



TB014 Book No BC4Z004 S N 11


positron 1930 Dirac 1933 Anderson m 22Na(hl=2.6years), 58Co(hl=71days), 64Cu(hl=12hour) 68Ge(hl=288days) MeV : thermalization m psec 100

program.dvi

main

O1-1 O1-2 O1-3 O1-4 O1-5 O1-6


プログラム

放射線専門医認定試験(2009・20回)/HOHS‐05(基礎二次)


BW BW

AN 100: ISPを使用するためのガイドライン

Evoltion of onentration by Eler method (Dirihlet) Evoltion of onentration by Eler method (Nemann).2 t n =.4n.2 t n =.4n : t n

, , ,852, ,872, , % 65.6% 11.4% 17.9% 75.4% 17.7% 6.9% 2

Transcription:

1 CBZ/BurnupChainGenerator 27 4 27 1 (n,g) (n,γ) (n,2n) U-235 (n,g) U-236 (n,2n) U-234 α β Cm-242 α 2 2 Pu-238 heavy nuclides 30 fission product, FP 1,000 ORNL ORIGEN ORIGEN UO 2 MOX MOX CBZ/Burner Burner 107 FP FP A B y A y B A 1[ms] B day

1. 2 A B B A B 0 y A + y B A Burner FP 197 1 SRAC-2006 1 FP CBZ BurnupChainGenerator 197 FP BurnupChainGenerator 1

2. 3 2 (n,g) (n,2n) decay data α β branching ratio Decay data file JENDL FP Decay Data File 2011(JENDL/FPD- 2011) ENDF/B-VII.1 JEFF-3.1 fission yield data FP FP Fission yield data file JENDL FP Yield Data File 2011(JENDL/FPY-2011) ENDF/B-VII.1 JEFF-3.1 (n,g) (n,2n) meta-stable ground meta-stable branching ratio Am-241 FP JEFF-3.1 activation file JEFF-3.1A Japan Nuclear Data Comittee JNDC Nuclear Data Library of Fission Products - Second Version - JNDC Ver.2 CBZ BurnupChainGenerator Burner SRAC-2006 GWd/tHM Burner

3. CBZ/BurnupChainGenerator 4 3 CBZ/BurnupChainGenerator 3.1 BurnupChainGenerator CBZ BurnupChainGenerator BCGNuclide BCGNuclide BCGManager BCGManager Listing 1 BCGManager 1 BCGManager man 4 Decay Data 7 Branching ratio Data 11 12 Fission yield Fission yield ReadFPYieldDataFromFile fy.u5.j33 u235 man 2 Listing 1: BCGManager 1 BCGManager man ; 2 3 // +++ Decay Data i n p u t 4 man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. endf71 ) ; 5 6 // +++ brancing r a t i o i n p u t 7 man. ReadNGBranchingRatioDataFromFile (. /BR DATA/ n g b r j n d c v 2 ) ; 8 // JNDC Ver. 2 f o r thermal r e a c t o r 9 10 // +++ F i s s i o n y i e l d data i n p u t 11 man. ReadFPYieldDataFromFile (.. /.. / CBGLIB/ FPYfile / f y. u5. j 3 3, 0, u235 ) ; 12 man. ReadFPYieldDataFromFile (.. /.. / CBGLIB/ FPYfile / f y. p9. j 3 3, 0, pu239 ) ; BCGManager Listing 2 Listing 2: BCGManager 1 // +++ For showing information on screen 2 //man. ShowNuclideList ( ) ; // N u c l i d e s i n c l u d e d BCGManager are shown. 3 //man. ShowYieldData ( u235, f a l s e ) ; // F i s s i o n y i e l d data are shown. 4 5 // +++ For p l o t t i n g 6 //man. ShowYieldDataForXYPlot ( u235 ) ; // F i s s i o n y i e l d data are shown. 7 //man. ShowDNDataForXYPlot ( ) ; // Delayed neutron emission per a decay 2 BurnupChainGenerator 7

3. CBZ/BurnupChainGenerator 5 ShowNuclideList ShowYieldData Boolean ShowYieldDataForXYPlot gnuplot ShowDNDataForXYPlot gnuplot ShowYieldDataForXYPlot gnuplot Fig. 1 gnuplot Number of protons 70 "y_u5t" 60 50 40 30 20 30 40 50 60 70 80 90 100 110 Number of neutrons 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 Fig. 1: Listing 3: gnuplot 1 #!/ bin / sh 2 3 gnuplot p e r s i s t <<EOF 4 s e t s i z e 0. 7, 0. 7 5 s e t pm3d map 6 s e t xrange [ 3 0 : 1 1 0 ] 7 s e t yrange [ 2 0 : 7 0 ] 8 s e t x l a b e l Number o f neutrons 9 s e t y l a b e l Number o f protons 10 s e t l o g s c a l e cb 11 s e t cbrange [ 1 e 1 0 : 0. 1 ] 12 s e t format cb 10ˆ{%L} 13 s e t t e r m i n a l p o s t s c r i p t eps enhanced c o l o r 14 s e t output y p 9 f f. eps 15 s p l o t y p 9 f f 16 EOF

3. CBZ/BurnupChainGenerator 6 3.2 CBZ BurnupChainGenerator BurnupChainGenerator main.make cbg chain.cxx Listing 4: (1) 1 s t r i n g f i l e n a m e y i e l d=. / c b g d a t y i e l d ; 2 s t r i n g f i l e n a m e c h a i n=. / c b g d a t c h a i n ; 3 4 r e a l h a l f l i f e l i m i t =0; // h a l f l i f e upper l i m i t [ s ] ( 0 : no l i m i t ) 5 // r e a l h a l f l i f e l i m i t =10 24 60 60; // h a l f l i f e upper l i m i t [ s ] 6 7 bool n 2 n i g n o r=true ; // i g n o r i n g (n, 2 n) r e a c t i o n in FP burnup chain FP FP 1 2 3 A C BurnupChainGenerator 4 FP (n,2n) SRAC-2006 CBZ/BurnupChainGenerator (n,2n) 7 boolean n2n ignor Listing 5: (2) 1 // +++ Decay Data i n p u t 2 man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. endf71, true ) ; 3 // When j e n d l l i b r a r y i s used, endf data s h o u l d be read in advance 4 // because t h e j e n d l l i b r a r y does NOT i n c l u d e s t a b l e n u c l i d e data. 5 man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. j e n d l 2 0 0 0 ) ; 6 //man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. j e n d l 2 0 1 1 ) ; 7 //man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. j e f f 3 1 1 ) ; 8 //man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. endf71 ) ; 9 10 // +++ brancing r a t i o i n p u t 11 //man. ReadBranchingRatioDataFromFile (. /BR DATA/ b r j e f f 3 1 a u o 2 ) ; 12 //man. ReadBranchingRatioDataFromFile (. /BR DATA/ b r o r i g e n p w r u ) ; 13 man. ReadNGBranchingRatioDataFromFile (. /BR DATA/ n g b r j n d c v 2 ) ; 14 // JNDC Ver. 2 f o r thermal r e a c t o r 15 //man. SetNGBranchingRatioDataForFR ( ) ; // f a s t r e a c t o r 3 A B C B A C

3. CBZ/BurnupChainGenerator 7 ENDF/B-VII.1 JENDL/FPD-2000 JENDL/FPD-2011 JEFF-3.1.1 JENDL JENDL 2 ReadDecay- DataFromFile boolean true JNDC Ver.2 JEFF-3.1A JEFF-3.1 Activation file ORIGEN-2.2 JEFF-3.1A (n,g) (n,2n) JEFF-3.1A UO2 MOX CBZ ChainGenerator FP CBZ BurnupChain Am-241(n,g) ) SRAC-2K6 Listing 6: (3) 1 int num=49; 2 s t r i n g nuc nam []={ 3 Kr083, Zr095, Nb095, Mo095, Tc099, Ru101, Ru103, Rh103, Rh105, Pd105, 4 Pd107, Pd108, Ag107, Ag109, I135, Xe131, Xe133, Xe135, Cs133, Cs134, 5 Cs135, Cs137, Ba140, La140, Pr143, Nd143, Nd145, Nd147, Nd148, Pm147, 6 Pm148m, Pm148, Pm149, Sm147, Sm148, Sm149, Sm150, Sm151, Sm152, Eu153, 7 Eu154, Eu155, Eu156, Gd154, Gd155, Gd156, Gd157, Gd158, Gd160, 8 } ; 9 10 man. MakeFlagTrue (num, nuc nam ) ; 11 man. CalCumulativeYield ( h a l f l i f e l i m i t ) ; 12 man. CalDecayBranch ( h a l f l i f e l i m i t ) ; 13 man. CalReactionBranch ( ) ; 14 15 man. ShowYieldSum ( ) ; 16 17 // +++ Write down t h e data on f i l e with CBG format 18 man. WriteFileYieldDataCBGFormat (num, nuc nam, f i l e n a m e y i e l d ) ; 19 man. WriteFileChainDataCBGFormat (num, nuc nam, f i l e n a m e c h a i n, n 2 n i g n o r ) ; 1 int num FP 2 8 FP 10 13 BurnupChain- Generator 18 19 BCGNuclide boolean flag flag true false flag true 10 BCGManager MakeFlagTrue string nuc nam 49 flag true

3. CBZ/BurnupChainGenerator 8 3.3 9 BCGManager SearchShortHalflivedNuclide flag true flag false flag false flag true 50 1 4 17 18 flag false ENDF-ID Listing 7: 1 BCGManager man ; 2 3 // +++ Decay Data i n p u t 4 man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. endf71, true ) ; 5 man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. j e n d l 2 0 0 0 ) ; 6 7 man. ReadFPYieldDataFromFile (.. /.. / CBGLIB/ FPYfile / f y. u5. j 3 3, 0, u235 ) ; 8 9 man. S e a r c h S h o r t H a l f l i v e d N u c l i d e ( 5 0 6 0 6 0, 1 ) ; 10 11 man. MakeFlagTrue ( 6 8, 1 4 5, 0 ) ; 12 // Note 13 // Er145 i s s t a b l e n u c l i d e in ENDF/B VII. 1 decay data, 14 // but ENDF ID f o r t h i s n u c l i d e cannot g i v e n under t h e format r u l e. 15 // So, t h i s n u c l i d e i s omitted from burnup chain 16 17 man. ShowFlagedNuclideMatID ( f a l s e ) ; 18 man. ShowFlagedNuclideName ( f a l s e ) ; 19 20 man. S h o w F l a g e d N u c l i d e S h o r t H a l f l i f e ( 1., f a l s e ) ; 13 SearchShortHalflivedNuclideForSpecificNuclides SearchShortHalfLivedNuclide 3 4 Cs 1 2 flag false 41 193 flag false Listing 8: 1 BCGManager man ; 2 3 // +++ Decay Data i n p u t 4 man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. endf71, true ) ; 5 man. ReadDecayDataFromFile (.. /.. / CBGLIB/ DDfile /dd. j e n d l 2 0 0 0 ) ; 4 11 MakeFlatTrue ENDF/B-VII.1 Eu-145

3. CBZ/BurnupChainGenerator 9 6 7 man. ReadFPYieldDataFromFile (.. /.. / CBGLIB/ FPYfile / f y. u5. j 3 3, 0, u235 ) ; 8 9 // +++ 10 11 int nucnum=1; 12 int nucid [ ] = { 5 5 } ; // Cs 13 man. S e a r c h S h o r t H a l f l i v e d N u c l i d e F o r S p e c i f i c N u c l i d e s ( 1., 0., nucnum, nucid ) ; 14 15 // +++ 16 17 int num include 193chain =193; 18 s t r i n g nucname include 193chain []={ 19 Ge073, Ge074, Ge076, As075, Se076, Se077, Se078, Se079, Se080, Se082, 20 Br081, Kr082, Kr083, Kr084, Kr085, Kr086, Rb085, Rb086, Rb087, Sr086, 21 Sr087, Sr088, Sr089, Sr090, Y089, Y090, Y091, Zr090, Zr091, Zr092, 22 Zr093, Zr094, Zr095, Zr096, Nb093, Nb093m, Nb094, Nb095, Mo092, Mo094, 23 Mo095, Mo096, Mo097, Mo098, Mo099, Mo100, Tc099, Ru100, Ru101, Ru102, 24 Ru103, Ru104, Ru105, Ru106, Rh103, Rh105, Rh106, Pd104, Pd105, Pd106, 25 Pd107, Pd108, Pd110, Ag107, Ag109, Ag110m, Cd110, Cd111, Cd112, Cd113, 26 Cd113m, Cd114, Cd116, In113, In115, Sn116, Sn117, Sn118, Sn119, Sn119m, 27 Sn120, Sn121, Sn121m, Sn122, Sn123, Sn124, Sn126, Sb121, Sb123, Sb124, 28 Sb125, Sb126, Sb126m, Te122, Te123, Te123m, Te124, Te125, Te125m, Te126, 29 Te127m, Te128, Te129m, Te130, Te132, I127, I129, I130, I131, I135, 30 Xe126, Xe128, Xe129, Xe130, Xe131, Xe132, Xe133, Xe134, Xe135, Xe136, 31 Cs133, Cs134, Cs135, Cs136, Cs137, Ba134, Ba135, Ba136, Ba137, Ba137m, 32 Ba138, Ba140, La139, La140, Ce140, Ce141, Ce142, Ce143, Ce144, Pr141, 33 Pr143, Pr144, Nd142, Nd143, Nd144, Nd145, Nd146, Nd147, Nd148, Nd150, 34 Pm147, Pm148, Pm148m, Pm149, Pm151, Sm147, Sm148, Sm149, Sm150, Sm151, 35 Sm152, Sm153, Sm154, Eu151, Eu152, Eu153, Eu154, Eu155, Eu156, Eu157, 36 Gd152, Gd154, Gd155, Gd156, Gd157, Gd158, Gd160, Tb159, Tb160, Dy160, 37 Dy161, Dy162, Dy163, Dy164, Ho163, Ho165, Ho166m, Er162, Er164, Er166, 38 Er167, Er168, Er170 39 } ; // F P 1 9 3 40 41 man. MakeFlagFalse ( num include 193chain, nucname include 193chain ) ; 42 43 // +++ 44 45 man. MakeFlagTrue ( 6 8, 1 4 5, 0 ) ; 46 // Note 47 // Er145 i s s t a b l e n u c l i d e in ENDF/B VII. 1 decay data, 48 // but ENDF ID f o r t h i s n u c l i d e cannot g i v e n under t h e format r u l e. 49 // So, t h i s n u c l i d e i s omitted from burnup chain 50 51 // +++ 52 53 man. ShowFlagedNuclideMatID ( f a l s e ) ; 54 man. ShowFlagedNuclideName ( f a l s e ) ; 55 56 man. S h o w F l a g e d N u c l i d e S h o r t H a l f l i f e ( 1., f a l s e ) ;

4. BCGManager 10 4 BCGManager BCGManager BCGNuclide GetNuclide GetNuclide 3 1 Listing 9: BCGManager 1 class BCGManager{ 2 private : 3 vector <BCGNuclide> nuc ; 4 vector <s t r i n g > yield tagname ; 5 public : 6 BCGNuclide &GetNuclide ( int atm, int mas, int l e v =0); 7 BCGNuclide &GetNuclide ( int i ){ return nuc [ i ] ; } ; 8 } ; BCGNuclide BCGNuclide channel Listing 10: BCGNuclide 1 class BCGNuclide{ 2 private : 3 int atomic number ; 4 int mass number ; 5 int e x l e v e l ; 6 int r num ; // r e a c t i o n number 7 r e a l awr ; 8 r e a l h a l f l i f e ; 9 r e a l d e l t a h a l f l i f e ; // ( standard d e v i a t i o n o f h a l f l i f e ) 10 int channel ; 11 public : 12 int GetAtomicNumber ( ) { return atomic number ; } ; 13 int GetMassNumber ( ) { return mass number ; } ; 14 int GetExLevel ( ) { return e x l e v e l ; } ; 15 int GetID ( ) { return midt. GetMATID( atomic number, mass number, e x l e v e l ) ; } ; //kawamoto 16 int GetChannel ( ) { return channel ; } ; 17 r e a l G e t H a l f l i f e ( ) { return h a l f l i f e ; } ; 18 r e a l G e t D e l t a H a l f l i f e ( ) { return d e l t a h a l f l i f e ; } ; 19 r e a l GetAWR( ) { return awr ; } ; 20 } ; BCGNuclide atn next mas next lev next decay type dn br delta br Listing 11: BCGNuclide 1 class BCGNuclide{ 2 private : 3 // ( decay ) 4 int channel ; 5 vector <int> a t n n e x t ; 6 vector <int> mas next ; 7 vector <int> l e v n e x t ; 8 vector <int> decay type ; // 0 : Beta, 1 :EC, 2 : IT, 3 : Alpha 9 vector <int> dn ; 10 vector <r e a l > br ;

4. BCGManager 11 11 vector <r e a l > d e l t a b r ; 12 public : 13 int GetChannel ( ) { return channel ; } ; 14 int GetAtomicNumberNext ( int i ){ return a t n n e x t [ i ] ; } ; 15 int GetMassNumberNext ( int i ){ return mas next [ i ] ; } ; 16 int GetExLevelNext ( int i ){ return l e v n e x t [ i ] ; } ; 17 int GetDecayType ( int i ){ return decay type [ i ] ; } ; 18 int GetEmittedNeutron ( int i ){ return dn [ i ] ; } ; 19 r e a l GetBr ( int i ){ return br [ i ] ; } ; 20 r e a l GetDeltaBr ( int i ){ return d e l t a b r [ i ] ; } ; 21 } ; (n,g) (n,2n) r atn next 0 (n,g) 1 (n,2n) Listing 12: BCGNuclide 1 class BCGNuclide{ 2 private : 3 // ( r e a c t i o n ) 0 : ng / 1 : n2n 4 vector <int> r c h a n n e l ; 5 vector < vector <int> > r a t n n e x t ; 6 vector < vector <int> > r mas next ; 7 vector < vector <int> > r l e v n e x t ; 8 vector < vector <r e a l > > r b r ; 9 public : 10 int GetReactionChannel ( int i ){ return r c h a n n e l [ i ] ; } ; 11 int GetReactionAtomicNumberNext ( int i, int j ){ return r a t n n e x t [ i ] [ j ] ; } ; 12 int GetReactionMassNumberNext ( int i, int j ){ return r mas next [ i ] [ j ] ; } ; 13 int GetReactionExLevelNext ( int i, int j ){ return r l e v n e x t [ i ] [ j ] ; } ; 14 r e a l GetReactionBr ( int i, int j ){ return r b r [ i ] [ j ] ; } ; 15 } ; BCGNuclide BCGNuclide yield tag GetYield( u235 ); yield tag u235 yield Listing 13: BCGNuclide 1 class BCGNuclide{ 2 private : 3 vector <r e a l > y i e l d ; 4 vector <r e a l > d e l t a y i e l d ; // ( standard d e v i a t i o n o f f i s s i o n y i e l d ) 5 vector <s t r i n g > y i e l d t a g ; 6 public : 7 r e a l GetYield ( s t r i n g tagname ) ; 8 r e a l GetDeltaYield ( s t r i n g tagname ) ; 9 } ; n per nuc

4. BCGManager 12 n per nuc ch n per nuc n per nuc ch BCGNuclide BCGManager CalTotalEmittedNeutrons Listing 14: BCGNuclide 1 class BCGNuclide{ 2 private : 3 // ( decay ) 4 int channel ; 5 vector <int> dn ; 6 vector <r e a l > br ; 7 r e a l n per n u c ; // number o f t o t a l e mitted neutrons i n c l u d i n g daughter n u c l i d e s 8 vector <r e a l > n p e r n u c c h ; // channel wise 9 public : 10 int GetEmittedNeutron ( int i ){ return dn [ i ] ; } ; 11 r e a l GetBr ( int i ){ return br [ i ] ; } ; 12 r e a l GetTotalNumberEmittedNeutrons ( ) { return n per nuc ; } ; 13 r e a l GetTotalNumberEmittedNeutronsCh ( int i ){ return n p e r n u c c h [ i ] ; } ; 14 } ; BCGManager CalTotalEmittedNeutrons BCGNuclide n per nuc BCGNuclide BCGManager Listing 15: CanTotalEmittedNeutrons 1 void BCGManager : : CalTotalEmittedNeutrons ( ) 2 { 3 // Total number o f e m i t t e d neutrons i s c a l c u l a t e d. 4 // Neutron e m i t t i o n s o f i t s daughter n u c l i d e s are a l s o c o n s i d e r e d. 5 6 int s z=nuc. s i z e ( ) ; 7 for ( int i =0; i <s z ; i ++){ 8 9 int a t o r g=nuc [ i ]. GetAtomicNumber ( ) ; 10 int ms org=nuc [ i ]. GetMassNumber ( ) ; 11 int l v o r g=nuc [ i ]. GetExLevel ( ) ; 12 13 bool end=f a l s e ; 14 int i t e r =0; 15 16 r e a l n emit =0.; 17 18 // +++ i n i t i a l i z e 19 int ngc=nuc [ i ]. GetChannel ( ) ; 20 int n g c o r g=ngc ; 21 vector <r e a l > n e m i t c h ( ngc, 0. ) ; 22 vector <int> atn ( ngc ) ; 23 vector <int> mas ( ngc ) ; 24 vector <int> l e v ( ngc ) ; 25 vector <r e a l > b r i ( ngc ) ; 26 vector <int> c h i d ( ngc ) ; 27 for ( int j =0; j<ngc ; j ++){ 28 atn [ j ]=nuc [ i ]. GetAtomicNumberNext ( j ) ; 29 mas [ j ]=nuc [ i ]. GetMassNumberNext ( j ) ; 30 l e v [ j ]=nuc [ i ]. GetExLevelNext ( j ) ; 31 b r i [ j ]=nuc [ i ]. GetBr ( j ) ; 32 c h i d [ j ]= j ; 33 n emit+=b r i [ j ] nuc [ i ]. GetEmittedNeutron ( j ) ; 34 n e m i t c h [ j ]+= b r i [ j ] nuc [ i ]. GetEmittedNeutron ( j ) ; 35 } ; 36 37 while (! end ){ 38 int ngc2 =0; 39 vector <int> atn2 ;

4. BCGManager 13 40 vector <int> mas2 ; 41 vector <int> l e v 2 ; 42 vector <r e a l > b r i 2 ; 43 vector <int> c h i d 2 ; 44 45 end=true ; 46 for ( int j =0; j<ngc ; j ++){ 47 int i d=getnuclideindex ( atn [ j ], mas [ j ], l e v [ j ] ) ; 48 int c h o r g=c h i d [ j ] ; 49 i f ( i d!= 1){ 50 int ngc3=nuc [ i d ]. GetChannel ( ) ; 51 for ( int l =0; l <ngc3 ; l ++){ 52 int am=nuc [ i d ]. GetAtomicNumberNext ( l ) ; 53 int ms=nuc [ i d ]. GetMassNumberNext ( l ) ; 54 int l v=nuc [ i d ]. GetExLevelNext ( l ) ; 55 i f (am!= atn [ j ] ms!=mas [ j ] l v!= l e v [ j ] ) { 56 end=f a l s e ; 57 r e a l br=nuc [ i d ]. GetBr ( l ) ; 58 r e a l dn=nuc [ i d ]. GetEmittedNeutron ( l ) ; 59 n emit+=(b r i [ j ] br ) dn ; 60 n emit c h [ c h o r g ]+=( b r i [ j ] br ) dn ; 61 bool e x i s t=f a l s e ; 62 for ( int m=0;m<ngc2 ;m++){ 63 i f (am==atn2 [m]&&ms==mas2 [m]&& l v==l e v 2 [m] ) { 64 e x i s t=true ; 65 b r i 2 [m]+= b r i [ j ] br ; 66 } ; 67 } ; 68 i f (! e x i s t ){ 69 atn2. push back (am ) ; 70 mas2. push back (ms ) ; 71 l e v 2. push back ( l v ) ; 72 b r i 2. push back ( b r i [ j ] br ) ; 73 c h i d 2. push back ( c h o r g ) ; 74 ngc2++; 75 } ; 76 } ; 77 } ; 78 } ; 79 } ; 80 ngc=ngc2 ; 81 atn. r e s i z e ( ngc ) ; 82 mas. r e s i z e ( ngc ) ; 83 l e v. r e s i z e ( ngc ) ; 84 b r i. r e s i z e ( ngc ) ; 85 c h i d. r e s i z e ( ngc ) ; 86 for ( int j =0; j<ngc ; j ++){ 87 atn [ j ]= atn2 [ j ] ; 88 mas [ j ]=mas2 [ j ] ; 89 l e v [ j ]= l e v 2 [ j ] ; 90 b r i [ j ]= b r i 2 [ j ] ; 91 c h i d [ j ]= c h i d 2 [ j ] ; 92 } ; 93 i t e r ++; 94 } ; 95 96 nuc [ i ]. PutTotalNumberEmittedNeutrons ( n emit ) ; 97 r e a l sum =0.; 98 for ( int j =0; j<n g c o r g ; j ++){ 99 sum+=n e m i t c h [ j ] ; 100 } ; 101 i f ( f a b s (sum n emit )>1e 5){ 102 cout<<sum<< <<n emit<< <<ngc<< \n ; 103 e x i t ( 0 ) ; 104 } ; 105 nuc [ i ]. PutTotalNumberEmittedNeutronsCh ( ngc org, n emit ch ) ; 106 } ;

5. FP 14 5 FP FP FP FP FP FP FP

6. 15 6