Updated with develop branch and change Lattice outside (Material) to outer (Universe)

This commit is contained in:
Will Boyd 2015-02-12 21:10:15 -05:00
commit 010c333ba2
84 changed files with 167153 additions and 167582 deletions

View file

@ -1,4 +1,4 @@
Copyright (c) 2011-2014 Massachusetts Institute of Technology
Copyright (c) 2011-2015 Massachusetts Institute of Technology
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View file

@ -64,7 +64,7 @@
<ace_table alias="Fe-57.71c" awr="56.446" location="1" name="26057.71c" path="293.6K/Fe_057_293.6K.ace" temperature="2.53e-08" zaid="26057"/>
<ace_table alias="Fe-58.71c" awr="57.436" location="1" name="26058.71c" path="293.6K/Fe_058_293.6K.ace" temperature="2.53e-08" zaid="26058"/>
<ace_table alias="Co-58.71c" awr="57.4381" location="1" name="27058.71c" path="293.6K/Co_058_293.6K.ace" temperature="2.53e-08" zaid="27058"/>
<ace_table alias="Co-58m.71c" awr="57.4381" location="1" metastable="1" name="27059.71c" path="293.6K/Co_058m1_293.6K.ace" temperature="2.53e-08" zaid="27059"/>
<ace_table alias="Co-58m.71c" awr="57.4381" location="1" metastable="1" name="27458.71c" path="293.6K/Co_058m1_293.6K.ace" temperature="2.53e-08" zaid="27458"/>
<ace_table alias="Co-59.71c" awr="58.4269" location="1" name="27059.71c" path="293.6K/Co_059_293.6K.ace" temperature="2.53e-08" zaid="27059"/>
<ace_table alias="Ni-58.71c" awr="57.438" location="1" name="28058.71c" path="293.6K/Ni_058_293.6K.ace" temperature="2.53e-08" zaid="28058"/>
<ace_table alias="Ni-59.71c" awr="58.4281" location="1" name="28059.71c" path="293.6K/Ni_059_293.6K.ace" temperature="2.53e-08" zaid="28059"/>
@ -157,7 +157,7 @@
<ace_table alias="Pd-110.71c" awr="108.961" location="1" name="46110.71c" path="293.6K/Pd_110_293.6K.ace" temperature="2.53e-08" zaid="46110"/>
<ace_table alias="Ag-107.71c" awr="105.987" location="1" name="47107.71c" path="293.6K/Ag_107_293.6K.ace" temperature="2.53e-08" zaid="47107"/>
<ace_table alias="Ag-109.71c" awr="107.969" location="1" name="47109.71c" path="293.6K/Ag_109_293.6K.ace" temperature="2.53e-08" zaid="47109"/>
<ace_table alias="Ag-110m.71c" awr="108.962" location="1" metastable="1" name="47119.71c" path="293.6K/Ag_110m1_293.6K.ace" temperature="2.53e-08" zaid="47119"/>
<ace_table alias="Ag-110m.71c" awr="108.962" location="1" metastable="1" name="47510.71c" path="293.6K/Ag_110m1_293.6K.ace" temperature="2.53e-08" zaid="47510"/>
<ace_table alias="Ag-111.71c" awr="109.953" location="1" name="47111.71c" path="293.6K/Ag_111_293.6K.ace" temperature="2.53e-08" zaid="47111"/>
<ace_table alias="Cd-106.71c" awr="104.996" location="1" name="48106.71c" path="293.6K/Cd_106_293.6K.ace" temperature="2.53e-08" zaid="48106"/>
<ace_table alias="Cd-108.71c" awr="106.977" location="1" name="48108.71c" path="293.6K/Cd_108_293.6K.ace" temperature="2.53e-08" zaid="48108"/>
@ -166,7 +166,7 @@
<ace_table alias="Cd-112.71c" awr="110.942" location="1" name="48112.71c" path="293.6K/Cd_112_293.6K.ace" temperature="2.53e-08" zaid="48112"/>
<ace_table alias="Cd-113.71c" awr="111.93" location="1" name="48113.71c" path="293.6K/Cd_113_293.6K.ace" temperature="2.53e-08" zaid="48113"/>
<ace_table alias="Cd-114.71c" awr="112.925" location="1" name="48114.71c" path="293.6K/Cd_114_293.6K.ace" temperature="2.53e-08" zaid="48114"/>
<ace_table alias="Cd-115m.71c" awr="113.918" location="1" metastable="1" name="48119.71c" path="293.6K/Cd_115m1_293.6K.ace" temperature="2.53e-08" zaid="48119"/>
<ace_table alias="Cd-115m.71c" awr="113.918" location="1" metastable="1" name="48515.71c" path="293.6K/Cd_115m1_293.6K.ace" temperature="2.53e-08" zaid="48515"/>
<ace_table alias="Cd-116.71c" awr="114.909" location="1" name="48116.71c" path="293.6K/Cd_116_293.6K.ace" temperature="2.53e-08" zaid="48116"/>
<ace_table alias="In-113.71c" awr="111.934" location="1" name="49113.71c" path="293.6K/In_113_293.6K.ace" temperature="2.53e-08" zaid="49113"/>
<ace_table alias="In-115.71c" awr="113.917" location="1" name="49115.71c" path="293.6K/In_115_293.6K.ace" temperature="2.53e-08" zaid="49115"/>
@ -195,9 +195,9 @@
<ace_table alias="Te-124.71c" awr="122.839" location="1" name="52124.71c" path="293.6K/Te_124_293.6K.ace" temperature="2.53e-08" zaid="52124"/>
<ace_table alias="Te-125.71c" awr="123.831" location="1" name="52125.71c" path="293.6K/Te_125_293.6K.ace" temperature="2.53e-08" zaid="52125"/>
<ace_table alias="Te-126.71c" awr="124.821" location="1" name="52126.71c" path="293.6K/Te_126_293.6K.ace" temperature="2.53e-08" zaid="52126"/>
<ace_table alias="Te-127m.71c" awr="125.815" location="1" metastable="1" name="52129.71c" path="293.6K/Te_127m1_293.6K.ace" temperature="2.53e-08" zaid="52129"/>
<ace_table alias="Te-127m.71c" awr="125.815" location="1" metastable="1" name="52527.71c" path="293.6K/Te_127m1_293.6K.ace" temperature="2.53e-08" zaid="52527"/>
<ace_table alias="Te-128.71c" awr="126.805" location="1" name="52128.71c" path="293.6K/Te_128_293.6K.ace" temperature="2.53e-08" zaid="52128"/>
<ace_table alias="Te-129m.71c" awr="127.8" location="1" metastable="1" name="52129.71c" path="293.6K/Te_129m1_293.6K.ace" temperature="2.53e-08" zaid="52129"/>
<ace_table alias="Te-129m.71c" awr="127.8" location="1" metastable="1" name="52529.71c" path="293.6K/Te_129m1_293.6K.ace" temperature="2.53e-08" zaid="52529"/>
<ace_table alias="Te-130.71c" awr="128.79" location="1" name="52130.71c" path="293.6K/Te_130_293.6K.ace" temperature="2.53e-08" zaid="52130"/>
<ace_table alias="Te-132.71c" awr="130.775" location="1" name="52132.71c" path="293.6K/Te_132_293.6K.ace" temperature="2.53e-08" zaid="52132"/>
<ace_table alias="I-127.71c" awr="125.8143" location="1" name="53127.71c" path="293.6K/I_127_293.6K.ace" temperature="2.53e-08" zaid="53127"/>
@ -255,7 +255,7 @@
<ace_table alias="Nd-150.71c" awr="148.633" location="1" name="60150.71c" path="293.6K/Nd_150_293.6K.ace" temperature="2.53e-08" zaid="60150"/>
<ace_table alias="Pm-147.71c" awr="145.653" location="1" name="61147.71c" path="293.6K/Pm_147_293.6K.ace" temperature="2.53e-08" zaid="61147"/>
<ace_table alias="Pm-148.71c" awr="146.646" location="1" name="61148.71c" path="293.6K/Pm_148_293.6K.ace" temperature="2.53e-08" zaid="61148"/>
<ace_table alias="Pm-148m.71c" awr="146.65" location="1" metastable="1" name="61149.71c" path="293.6K/Pm_148m1_293.6K.ace" temperature="2.53e-08" zaid="61149"/>
<ace_table alias="Pm-148m.71c" awr="146.65" location="1" metastable="1" name="61548.71c" path="293.6K/Pm_148m1_293.6K.ace" temperature="2.53e-08" zaid="61548"/>
<ace_table alias="Pm-149.71c" awr="147.639" location="1" name="61149.71c" path="293.6K/Pm_149_293.6K.ace" temperature="2.53e-08" zaid="61149"/>
<ace_table alias="Pm-151.71c" awr="149.625" location="1" name="61151.71c" path="293.6K/Pm_151_293.6K.ace" temperature="2.53e-08" zaid="61151"/>
<ace_table alias="Sm-144.71c" awr="142.676" location="1" name="62144.71c" path="293.6K/Sm_144_293.6K.ace" temperature="2.53e-08" zaid="62144"/>
@ -292,7 +292,7 @@
<ace_table alias="Dy-163.71c" awr="161.529" location="1" name="66163.71c" path="293.6K/Dy_163_293.6K.ace" temperature="2.53e-08" zaid="66163"/>
<ace_table alias="Dy-164.71c" awr="162.521" location="1" name="66164.71c" path="293.6K/Dy_164_293.6K.ace" temperature="2.53e-08" zaid="66164"/>
<ace_table alias="Ho-165.71c" awr="163.513" location="1" name="67165.71c" path="293.6K/Ho_165_293.6K.ace" temperature="2.53e-08" zaid="67165"/>
<ace_table alias="Ho-166m.71c" awr="164.507" location="1" metastable="1" name="67169.71c" path="293.6K/Ho_166m1_293.6K.ace" temperature="2.53e-08" zaid="67169"/>
<ace_table alias="Ho-166m.71c" awr="164.507" location="1" metastable="1" name="67566.71c" path="293.6K/Ho_166m1_293.6K.ace" temperature="2.53e-08" zaid="67566"/>
<ace_table alias="Er-162.71c" awr="160.538" location="1" name="68162.71c" path="293.6K/Er_162_293.6K.ace" temperature="2.53e-08" zaid="68162"/>
<ace_table alias="Er-164.71c" awr="162.521" location="1" name="68164.71c" path="293.6K/Er_164_293.6K.ace" temperature="2.53e-08" zaid="68164"/>
<ace_table alias="Er-166.71c" awr="164.505" location="1" name="68166.71c" path="293.6K/Er_166_293.6K.ace" temperature="2.53e-08" zaid="68166"/>
@ -388,10 +388,10 @@
<ace_table alias="Am-240.71c" awr="237.993" location="1" name="95240.71c" path="293.6K/Am_240_293.6K.ace" temperature="2.53e-08" zaid="95240"/>
<ace_table alias="Am-241.71c" awr="238.986" location="1" name="95241.71c" path="293.6K/Am_241_293.6K.ace" temperature="2.53e-08" zaid="95241"/>
<ace_table alias="Am-242.71c" awr="239.9801" location="1" name="95242.71c" path="293.6K/Am_242_293.6K.ace" temperature="2.53e-08" zaid="95242"/>
<ace_table alias="Am-242m.71c" awr="239.9801" location="1" metastable="1" name="95249.71c" path="293.6K/Am_242m1_293.6K.ace" temperature="2.53e-08" zaid="95249"/>
<ace_table alias="Am-242m.71c" awr="239.9801" location="1" metastable="1" name="95642.71c" path="293.6K/Am_242m1_293.6K.ace" temperature="2.53e-08" zaid="95642"/>
<ace_table alias="Am-243.71c" awr="240.9734" location="1" name="95243.71c" path="293.6K/Am_243_293.6K.ace" temperature="2.53e-08" zaid="95243"/>
<ace_table alias="Am-244.71c" awr="241.968" location="1" name="95244.71c" path="293.6K/Am_244_293.6K.ace" temperature="2.53e-08" zaid="95244"/>
<ace_table alias="Am-244m.71c" awr="241.968" location="1" metastable="1" name="95249.71c" path="293.6K/Am_244m1_293.6K.ace" temperature="2.53e-08" zaid="95249"/>
<ace_table alias="Am-244m.71c" awr="241.968" location="1" metastable="1" name="95644.71c" path="293.6K/Am_244m1_293.6K.ace" temperature="2.53e-08" zaid="95644"/>
<ace_table alias="Cm-240.71c" awr="237.993" location="1" name="96240.71c" path="293.6K/Cm_240_293.6K.ace" temperature="2.53e-08" zaid="96240"/>
<ace_table alias="Cm-241.71c" awr="238.987" location="1" name="96241.71c" path="293.6K/Cm_241_293.6K.ace" temperature="2.53e-08" zaid="96241"/>
<ace_table alias="Cm-242.71c" awr="239.979" location="1" name="96242.71c" path="293.6K/Cm_242_293.6K.ace" temperature="2.53e-08" zaid="96242"/>
@ -421,7 +421,7 @@
<ace_table alias="Es-252.71c" awr="249.917" location="1" name="99252.71c" path="293.6K/Es_252_293.6K.ace" temperature="2.53e-08" zaid="99252"/>
<ace_table alias="Es-253.71c" awr="250.911" location="1" name="99253.71c" path="293.6K/Es_253_293.6K.ace" temperature="2.53e-08" zaid="99253"/>
<ace_table alias="Es-254.71c" awr="251.905" location="1" name="99254.71c" path="293.6K/Es_254_293.6K.ace" temperature="2.53e-08" zaid="99254"/>
<ace_table alias="Es-254m.71c" awr="251.905" location="1" metastable="1" name="99259.71c" path="293.6K/Es_254m1_293.6K.ace" temperature="2.53e-08" zaid="99259"/>
<ace_table alias="Es-254m.71c" awr="251.905" location="1" metastable="1" name="99654.71c" path="293.6K/Es_254m1_293.6K.ace" temperature="2.53e-08" zaid="99654"/>
<ace_table alias="Es-255.71c" awr="252.899" location="1" name="99255.71c" path="293.6K/Es_255_293.6K.ace" temperature="2.53e-08" zaid="99255"/>
<ace_table alias="Fm-255.71c" awr="252.899" location="1" name="100255.71c" path="293.6K/Fm_255_293.6K.ace" temperature="2.53e-08" zaid="100255"/>
<ace_table alias="H-1.72c" awr="0.999167" location="1" name="1001.72c" path="300K/H_001_300K.ace" temperature="2.585e-08" zaid="1001"/>
@ -487,7 +487,7 @@
<ace_table alias="Fe-57.72c" awr="56.446" location="1" name="26057.72c" path="300K/Fe_057_300K.ace" temperature="2.585e-08" zaid="26057"/>
<ace_table alias="Fe-58.72c" awr="57.436" location="1" name="26058.72c" path="300K/Fe_058_300K.ace" temperature="2.585e-08" zaid="26058"/>
<ace_table alias="Co-58.72c" awr="57.4381" location="1" name="27058.72c" path="300K/Co_058_300K.ace" temperature="2.585e-08" zaid="27058"/>
<ace_table alias="Co-58m.72c" awr="57.4381" location="1" metastable="1" name="27059.72c" path="300K/Co_058m1_300K.ace" temperature="2.585e-08" zaid="27059"/>
<ace_table alias="Co-58m.72c" awr="57.4381" location="1" metastable="1" name="27458.72c" path="300K/Co_058m1_300K.ace" temperature="2.585e-08" zaid="27458"/>
<ace_table alias="Co-59.72c" awr="58.4269" location="1" name="27059.72c" path="300K/Co_059_300K.ace" temperature="2.585e-08" zaid="27059"/>
<ace_table alias="Ni-58.72c" awr="57.438" location="1" name="28058.72c" path="300K/Ni_058_300K.ace" temperature="2.585e-08" zaid="28058"/>
<ace_table alias="Ni-59.72c" awr="58.4281" location="1" name="28059.72c" path="300K/Ni_059_300K.ace" temperature="2.585e-08" zaid="28059"/>
@ -580,7 +580,7 @@
<ace_table alias="Pd-110.72c" awr="108.961" location="1" name="46110.72c" path="300K/Pd_110_300K.ace" temperature="2.585e-08" zaid="46110"/>
<ace_table alias="Ag-107.72c" awr="105.987" location="1" name="47107.72c" path="300K/Ag_107_300K.ace" temperature="2.585e-08" zaid="47107"/>
<ace_table alias="Ag-109.72c" awr="107.969" location="1" name="47109.72c" path="300K/Ag_109_300K.ace" temperature="2.585e-08" zaid="47109"/>
<ace_table alias="Ag-110m.72c" awr="108.962" location="1" metastable="1" name="47119.72c" path="300K/Ag_110m1_300K.ace" temperature="2.585e-08" zaid="47119"/>
<ace_table alias="Ag-110m.72c" awr="108.962" location="1" metastable="1" name="47510.72c" path="300K/Ag_110m1_300K.ace" temperature="2.585e-08" zaid="47510"/>
<ace_table alias="Ag-111.72c" awr="109.953" location="1" name="47111.72c" path="300K/Ag_111_300K.ace" temperature="2.585e-08" zaid="47111"/>
<ace_table alias="Cd-106.72c" awr="104.996" location="1" name="48106.72c" path="300K/Cd_106_300K.ace" temperature="2.585e-08" zaid="48106"/>
<ace_table alias="Cd-108.72c" awr="106.977" location="1" name="48108.72c" path="300K/Cd_108_300K.ace" temperature="2.585e-08" zaid="48108"/>
@ -589,7 +589,7 @@
<ace_table alias="Cd-112.72c" awr="110.942" location="1" name="48112.72c" path="300K/Cd_112_300K.ace" temperature="2.585e-08" zaid="48112"/>
<ace_table alias="Cd-113.72c" awr="111.93" location="1" name="48113.72c" path="300K/Cd_113_300K.ace" temperature="2.585e-08" zaid="48113"/>
<ace_table alias="Cd-114.72c" awr="112.925" location="1" name="48114.72c" path="300K/Cd_114_300K.ace" temperature="2.585e-08" zaid="48114"/>
<ace_table alias="Cd-115m.72c" awr="113.918" location="1" metastable="1" name="48119.72c" path="300K/Cd_115m1_300K.ace" temperature="2.585e-08" zaid="48119"/>
<ace_table alias="Cd-115m.72c" awr="113.918" location="1" metastable="1" name="48515.72c" path="300K/Cd_115m1_300K.ace" temperature="2.585e-08" zaid="48515"/>
<ace_table alias="Cd-116.72c" awr="114.909" location="1" name="48116.72c" path="300K/Cd_116_300K.ace" temperature="2.585e-08" zaid="48116"/>
<ace_table alias="In-113.72c" awr="111.934" location="1" name="49113.72c" path="300K/In_113_300K.ace" temperature="2.585e-08" zaid="49113"/>
<ace_table alias="In-115.72c" awr="113.917" location="1" name="49115.72c" path="300K/In_115_300K.ace" temperature="2.585e-08" zaid="49115"/>
@ -618,9 +618,9 @@
<ace_table alias="Te-124.72c" awr="122.839" location="1" name="52124.72c" path="300K/Te_124_300K.ace" temperature="2.585e-08" zaid="52124"/>
<ace_table alias="Te-125.72c" awr="123.831" location="1" name="52125.72c" path="300K/Te_125_300K.ace" temperature="2.585e-08" zaid="52125"/>
<ace_table alias="Te-126.72c" awr="124.821" location="1" name="52126.72c" path="300K/Te_126_300K.ace" temperature="2.585e-08" zaid="52126"/>
<ace_table alias="Te-127m.72c" awr="125.815" location="1" metastable="1" name="52129.72c" path="300K/Te_127m1_300K.ace" temperature="2.585e-08" zaid="52129"/>
<ace_table alias="Te-127m.72c" awr="125.815" location="1" metastable="1" name="52527.72c" path="300K/Te_127m1_300K.ace" temperature="2.585e-08" zaid="52526"/>
<ace_table alias="Te-128.72c" awr="126.805" location="1" name="52128.72c" path="300K/Te_128_300K.ace" temperature="2.585e-08" zaid="52128"/>
<ace_table alias="Te-129m.72c" awr="127.8" location="1" metastable="1" name="52129.72c" path="300K/Te_129m1_300K.ace" temperature="2.585e-08" zaid="52129"/>
<ace_table alias="Te-129m.72c" awr="127.8" location="1" metastable="1" name="52529.72c" path="300K/Te_129m1_300K.ace" temperature="2.585e-08" zaid="52529"/>
<ace_table alias="Te-130.72c" awr="128.79" location="1" name="52130.72c" path="300K/Te_130_300K.ace" temperature="2.585e-08" zaid="52130"/>
<ace_table alias="Te-132.72c" awr="130.775" location="1" name="52132.72c" path="300K/Te_132_300K.ace" temperature="2.585e-08" zaid="52132"/>
<ace_table alias="I-127.72c" awr="125.8143" location="1" name="53127.72c" path="300K/I_127_300K.ace" temperature="2.585e-08" zaid="53127"/>
@ -678,7 +678,7 @@
<ace_table alias="Nd-150.72c" awr="148.633" location="1" name="60150.72c" path="300K/Nd_150_300K.ace" temperature="2.585e-08" zaid="60150"/>
<ace_table alias="Pm-147.72c" awr="145.653" location="1" name="61147.72c" path="300K/Pm_147_300K.ace" temperature="2.585e-08" zaid="61147"/>
<ace_table alias="Pm-148.72c" awr="146.646" location="1" name="61148.72c" path="300K/Pm_148_300K.ace" temperature="2.585e-08" zaid="61148"/>
<ace_table alias="Pm-148m.72c" awr="146.65" location="1" metastable="1" name="61149.72c" path="300K/Pm_148m1_300K.ace" temperature="2.585e-08" zaid="61149"/>
<ace_table alias="Pm-148m.72c" awr="146.65" location="1" metastable="1" name="61548.72c" path="300K/Pm_148m1_300K.ace" temperature="2.585e-08" zaid="61548"/>
<ace_table alias="Pm-149.72c" awr="147.639" location="1" name="61149.72c" path="300K/Pm_149_300K.ace" temperature="2.585e-08" zaid="61149"/>
<ace_table alias="Pm-151.72c" awr="149.625" location="1" name="61151.72c" path="300K/Pm_151_300K.ace" temperature="2.585e-08" zaid="61151"/>
<ace_table alias="Sm-144.72c" awr="142.676" location="1" name="62144.72c" path="300K/Sm_144_300K.ace" temperature="2.585e-08" zaid="62144"/>
@ -715,7 +715,7 @@
<ace_table alias="Dy-163.72c" awr="161.529" location="1" name="66163.72c" path="300K/Dy_163_300K.ace" temperature="2.585e-08" zaid="66163"/>
<ace_table alias="Dy-164.72c" awr="162.521" location="1" name="66164.72c" path="300K/Dy_164_300K.ace" temperature="2.585e-08" zaid="66164"/>
<ace_table alias="Ho-165.72c" awr="163.513" location="1" name="67165.72c" path="300K/Ho_165_300K.ace" temperature="2.585e-08" zaid="67165"/>
<ace_table alias="Ho-166m.72c" awr="164.507" location="1" metastable="1" name="67169.72c" path="300K/Ho_166m1_300K.ace" temperature="2.585e-08" zaid="67169"/>
<ace_table alias="Ho-166m.72c" awr="164.507" location="1" metastable="1" name="67566.72c" path="300K/Ho_166m1_300K.ace" temperature="2.585e-08" zaid="67566"/>
<ace_table alias="Er-162.72c" awr="160.538" location="1" name="68162.72c" path="300K/Er_162_300K.ace" temperature="2.585e-08" zaid="68162"/>
<ace_table alias="Er-164.72c" awr="162.521" location="1" name="68164.72c" path="300K/Er_164_300K.ace" temperature="2.585e-08" zaid="68164"/>
<ace_table alias="Er-166.72c" awr="164.505" location="1" name="68166.72c" path="300K/Er_166_300K.ace" temperature="2.585e-08" zaid="68166"/>
@ -811,10 +811,10 @@
<ace_table alias="Am-240.72c" awr="237.993" location="1" name="95240.72c" path="300K/Am_240_300K.ace" temperature="2.585e-08" zaid="95240"/>
<ace_table alias="Am-241.72c" awr="238.986" location="1" name="95241.72c" path="300K/Am_241_300K.ace" temperature="2.585e-08" zaid="95241"/>
<ace_table alias="Am-242.72c" awr="239.9801" location="1" name="95242.72c" path="300K/Am_242_300K.ace" temperature="2.585e-08" zaid="95242"/>
<ace_table alias="Am-242m.72c" awr="239.9801" location="1" metastable="1" name="95249.72c" path="300K/Am_242m1_300K.ace" temperature="2.585e-08" zaid="95249"/>
<ace_table alias="Am-242m.72c" awr="239.9801" location="1" metastable="1" name="95642.72c" path="300K/Am_242m1_300K.ace" temperature="2.585e-08" zaid="95642"/>
<ace_table alias="Am-243.72c" awr="240.9734" location="1" name="95243.72c" path="300K/Am_243_300K.ace" temperature="2.585e-08" zaid="95243"/>
<ace_table alias="Am-244.72c" awr="241.968" location="1" name="95244.72c" path="300K/Am_244_300K.ace" temperature="2.585e-08" zaid="95244"/>
<ace_table alias="Am-244m.72c" awr="241.968" location="1" metastable="1" name="95249.72c" path="300K/Am_244m1_300K.ace" temperature="2.585e-08" zaid="95249"/>
<ace_table alias="Am-244m.72c" awr="241.968" location="1" metastable="1" name="95644.72c" path="300K/Am_244m1_300K.ace" temperature="2.585e-08" zaid="95644"/>
<ace_table alias="Cm-240.72c" awr="237.993" location="1" name="96240.72c" path="300K/Cm_240_300K.ace" temperature="2.585e-08" zaid="96240"/>
<ace_table alias="Cm-241.72c" awr="238.987" location="1" name="96241.72c" path="300K/Cm_241_300K.ace" temperature="2.585e-08" zaid="96241"/>
<ace_table alias="Cm-242.72c" awr="239.979" location="1" name="96242.72c" path="300K/Cm_242_300K.ace" temperature="2.585e-08" zaid="96242"/>
@ -844,7 +844,7 @@
<ace_table alias="Es-252.72c" awr="249.917" location="1" name="99252.72c" path="300K/Es_252_300K.ace" temperature="2.585e-08" zaid="99252"/>
<ace_table alias="Es-253.72c" awr="250.911" location="1" name="99253.72c" path="300K/Es_253_300K.ace" temperature="2.585e-08" zaid="99253"/>
<ace_table alias="Es-254.72c" awr="251.905" location="1" name="99254.72c" path="300K/Es_254_300K.ace" temperature="2.585e-08" zaid="99254"/>
<ace_table alias="Es-254m.72c" awr="251.905" location="1" metastable="1" name="99259.72c" path="300K/Es_254m1_300K.ace" temperature="2.585e-08" zaid="99259"/>
<ace_table alias="Es-254m.72c" awr="251.905" location="1" metastable="1" name="99654.72c" path="300K/Es_254m1_300K.ace" temperature="2.585e-08" zaid="99654"/>
<ace_table alias="Es-255.72c" awr="252.899" location="1" name="99255.72c" path="300K/Es_255_300K.ace" temperature="2.585e-08" zaid="99255"/>
<ace_table alias="Fm-255.72c" awr="252.899" location="1" name="100255.72c" path="300K/Fm_255_300K.ace" temperature="2.585e-08" zaid="100255"/>
<ace_table awr="26.74975" location="1" name="Al.71t" path="tsl/al.acer" temperature="2.53e-08" zaid="0"/>

View file

@ -7,6 +7,7 @@ import subprocess
import sys
import tarfile
import glob
import hashlib
try:
from urllib.request import urlopen
@ -20,6 +21,8 @@ from convert_binary import ascii_to_binary
baseUrl = 'http://www.nndc.bnl.gov/endf/b7.1/aceFiles/'
files = ['ENDF-B-VII.1-neutron-293.6K.tar.gz',
'ENDF-B-VII.1-tsl.tar.gz']
checksums = ['9729a17eb62b75f285d8a7628ace1449',
'e17d827c92940a30f22f096d910ea186']
block_size = 16384
# ==============================================================================
@ -65,6 +68,18 @@ for f in files:
print('')
filesComplete.append(f)
# ==============================================================================
# VERIFY MD5 CHECKSUMS
print('Verifying MD5 checksums...')
for f, checksum in zip(files, checksums):
downloadsum = hashlib.md5(open(f, 'r').read()).hexdigest()
if downloadsum != checksum:
raise IOError("MD5 checksum for {} does not match. If this is your first "
"time receiving this message, please re-run the script. "
"Otherwise, please contact OpenMC developers by emailing "
"openmc-users@googlegroups.com.")
# ==============================================================================
# EXTRACT FILES FROM TGZ
@ -78,6 +93,10 @@ for f in files:
print('Extracting {0}...'.format(f))
tgz.extractall(path='nndc/' + suffix)
# Move ACE files down one level
for filename in glob.glob('nndc/293.6K/ENDF-B-VII.1-neutron-293.6K/*'):
shutil.move(filename, 'nndc/293.6K/')
#===============================================================================
# EDIT GRAPHITE ZAID (6012 to 6000)

View file

@ -1,792 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="901.13098"
height="360.56549"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="New document 1">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible">
<path
id="path4037"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-2"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4037-2"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-26"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4037-3"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-4"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4037-7"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4037-4"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-1"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4037-0"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-0"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4037-5"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend-23"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4037-9"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.66342"
inkscape:cx="447.84509"
inkscape:cy="213.81917"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1366"
inkscape:window-height="712"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="20.5655px"
originy="-299.43451px" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(20.5655,-392.36218)">
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987"
width="60"
height="60"
x="160"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="170"
y="432.36218"
id="text2989"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991"
x="170"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3882">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993">1</tspan></tspan></text>
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987-3"
width="60"
height="60"
x="250"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="260"
y="432.36218"
id="text2989-4"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-9"
x="260"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3884">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-1">2</tspan></tspan></text>
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987-33"
width="60"
height="60"
x="340"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="350"
y="432.36218"
id="text2989-1"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-8"
x="350"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3886">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-3">3</tspan></tspan></text>
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987-6"
width="60"
height="60"
x="430"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="440"
y="432.36218"
id="text2989-48"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-5"
x="440"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3888">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-17">4</tspan></tspan></text>
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987-9"
width="60"
height="60"
x="520"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="530"
y="432.36218"
id="text2989-3"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-93"
x="530"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3890">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-4">5</tspan></tspan></text>
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987-2"
width="60"
height="60"
x="610"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="620"
y="432.36218"
id="text2989-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-0"
x="620"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3892">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-5">6</tspan></tspan></text>
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987-5"
width="60"
height="60"
x="700"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="710"
y="432.36218"
id="text2989-30"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-2"
x="710"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3894">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-8">7</tspan></tspan></text>
<rect
style="fill:#8fbdf4;fill-opacity:1;stroke:none"
id="rect2987-22"
width="60"
height="60"
x="790"
y="392.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="800"
y="432.36218"
id="text2989-00"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-09"
x="800"
y="432.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3896">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-0">8</tspan></tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="70"
y="412.36218"
id="text3898"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3900"
x="70"
y="412.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">Union</tspan><tspan
sodipodi:role="line"
x="70"
y="442.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3902">Energy Grid</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908"
width="60"
height="50"
x="160"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="180"
y="542.36218"
id="text3910"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912"
x="180"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">0</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="70"
y="518.36218"
id="text3898-8"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3900-1"
x="70"
y="518.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">Nuclide</tspan><tspan
sodipodi:role="line"
x="70"
y="548.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3902-4">Pointers</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908-2"
width="60"
height="50"
x="250"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="270"
y="542.36218"
id="text3910-9"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912-8"
x="270"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">0</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908-23"
width="60"
height="50"
x="340"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="360"
y="542.36218"
id="text3910-8"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912-5"
x="360"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">1</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908-9"
width="60"
height="50"
x="430"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="450"
y="542.36218"
id="text3910-7"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912-9"
x="450"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">1</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908-92"
width="60"
height="50"
x="520"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="540"
y="542.36218"
id="text3910-3"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912-81"
x="540"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">1</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908-0"
width="60"
height="50"
x="610"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="630"
y="542.36218"
id="text3910-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912-1"
x="630"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">2</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908-5"
width="60"
height="50"
x="700"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="720"
y="542.36218"
id="text3910-1"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912-2"
x="720"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">3</tspan></text>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.11800003;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3908-235"
width="60"
height="50"
x="790"
y="502.36218"
ry="3.1880078" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="810"
y="542.36218"
id="text3910-80"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3912-0"
x="810"
y="542.36218"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">3</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 190,452.36218 0,50"
id="path4028"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 280,452.36218 0,50"
id="path4028-0"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 370,452.36218 0,50"
id="path4028-9"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 460,452.36218 0,50"
id="path4028-8"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 550,452.36218 0,50"
id="path4028-3"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 640,452.36218 0,50"
id="path4028-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 730,452.36218 0,50"
id="path4028-2"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.29099441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="m 820,452.36218 0,50"
id="path4028-6"
inkscape:connector-curvature="0" />
<rect
style="fill:#98f48f;fill-opacity:1;stroke:none"
id="rect2987-33-9"
width="60"
height="60"
x="340"
y="582.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="350"
y="622.36218"
id="text2989-1-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-8-7"
x="350"
y="622.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3886-2">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-3-9">1</tspan></tspan></text>
<rect
style="fill:#98f48f;fill-opacity:1;stroke:none"
id="rect2987-33-1"
width="60"
height="60"
x="610"
y="582.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="620"
y="622.36218"
id="text2989-1-1"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-8-9"
x="620"
y="622.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3886-1">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-3-93">2</tspan></tspan></text>
<rect
style="fill:#98f48f;fill-opacity:1;stroke:none"
id="rect2987-33-0"
width="60"
height="60"
x="700"
y="582.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="710"
y="622.36218"
id="text2989-1-3"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-8-4"
x="710"
y="622.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3886-5">E</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-3-1">3</tspan></tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="70"
y="602.36218"
id="text3898-2"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3900-5"
x="70"
y="602.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">Nuclide</tspan><tspan
sodipodi:role="line"
x="70"
y="632.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3902-1">Energy Grid</tspan></text>
<rect
style="fill:#98f48f;fill-opacity:1;stroke:none"
id="rect2987-33-9-5"
width="60"
height="60"
x="340"
y="662.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="350"
y="702.36218"
id="text2989-1-0-9"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-8-7-8"
x="350"
y="702.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3886-2-3">σ</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-3-9-6">1</tspan></tspan></text>
<rect
style="fill:#98f48f;fill-opacity:1;stroke:none"
id="rect2987-33-9-5-0"
width="60"
height="60"
x="610"
y="662.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="620"
y="702.36218"
id="text2989-1-0-9-9"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-8-7-8-5"
x="620"
y="702.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3886-2-3-2">σ</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-3-9-6-2">2</tspan></tspan></text>
<rect
style="fill:#98f48f;fill-opacity:1;stroke:none"
id="rect2987-33-9-5-5"
width="60"
height="60"
x="700"
y="662.36218"
ry="2.5504062" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="710"
y="702.36218"
id="text2989-1-0-9-8"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2991-8-7-8-7"
x="710"
y="702.36218"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3886-2-3-9">σ</tspan><tspan
style="font-size:65.00091553%;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;baseline-shift:sub;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan2993-3-9-6-9">3</tspan></tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="70"
y="682.36218"
id="text3898-2-6"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3900-5-6"
x="70"
y="682.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter">Nuclide</tspan><tspan
sodipodi:role="line"
x="70"
y="712.36218"
style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Bitstream Charter;-inkscape-font-specification:Bitstream Charter"
id="tspan3902-1-1">Cross Sections</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="251.72591"
y="769.73578"
id="text4762"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4764"
x="251.72591"
y="769.73578"></tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4,2;stroke-dashoffset:0"
id="rect4766"
width="900"
height="280"
x="-20"
y="472.36218"
ry="2.5504062" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 35 KiB

View file

@ -48,7 +48,7 @@ copyright = u'2011-2014, Massachusetts Institute of Technology'
# The short X.Y version.
version = "0.6"
# The full version, including alpha/beta/rc tags.
release = "0.6.1"
release = "0.6.2"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View file

@ -10,6 +10,8 @@ Active development of the OpenMC Monte Carlo code is currently led by:
* `Bryan Herman <https://github.com/bhermanmit>`_
* `Nick Horelik <https://github.com/nhorelik>`_
* `Adam Nelson <https://github.com/nelsonag>`_
* `Jon Walsh <https://github.com/walshjon>`_
* `Sterling Harper <https://github.com/walshjon>`_
* `Benoit Forget <http://web.mit.edu/nse/people/faculty/forget.html>`_
* `Kord Smith <http://web.mit.edu/nse/people/faculty/smith.html>`_
* `Andrew Siegel <http://www.mcs.anl.gov/about/people_detail.php?id=404>`_

View file

@ -215,17 +215,18 @@ if (run_mode == MODE_EIGENVALUE)
Values of specified scoring bins (e.g. SCORE_FLUX).
*do j = 1, tallies(i) % n_score_bins*
**integer(4) tallies(i) % scatt_order(j)**
Scattering Order specified scoring bins.
**integer(4) tallies(i) % n_score_bins**
Number of scoring bins without accounting for those added by
the scatter-pn command.
*do j = 1, tallies(i) % n_user_score_bins*
**character(8) tallies(i) % moment_order(j)**
Tallying moment order for Legendre and spherical
harmonic tally expansions (*e.g.*, 'P2', 'Y1,2', etc.).
**integer(4) source_present**
Flag indicated if source bank is present in the file

View file

@ -4,7 +4,7 @@
License Agreement
=================
Copyright © 2011-2014 Massachusetts Institute of Technology
Copyright © 2011-2015 Massachusetts Institute of Technology
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View file

@ -47,45 +47,28 @@ there would be for burnup calculations. Thus, there is a strong motive to
implement a method of reducing the number of energy grid searches in order to
speed up the calculation.
Unionized Energy Grid
---------------------
Logarithmic Mapping
-------------------
The most naïve method to reduce the number of energy grid searches is to
construct a new energy grid that consists of the union of the energy points of
each nuclide and use this energy grid for all nuclides. This method is
computationally very efficient as it only requires one energy grid search at
each collision as well as one interpolation between cross section values since
the interpolation factor can be used for all nuclides. However, it requires
redundant storage of cross section values at points which were added to each
nuclide grid. This additional burden on memory storage can become quite
prohibitive. To lessen that burden, the unionized energy grid can be thinned
with cross sections reconstructed on the thinned energy grid. This method is
currently used by default in the Serpent Monte Carlo code.
To speed up energy grid searches, OpenMC uses logarithmic mapping technique
[Brown]_ to limit the range of energies that must be searched for each
nuclide. The entire energy range is divided up into equal-lethargy segments, and
the bounding energies of each segment are mapped to bounding indices on each of
the nuclide energy grids. By default, OpenMC uses 8000 equal-lethargy segments
as recommended by Brown.
Unionized Energy Grid with Nuclide Pointers
-------------------------------------------
Other Methods
-------------
While having a unionized grid that is used for all nuclides allows for very fast
lookup of cross sections, the burden on memory is in many circumstances
unacceptable. The OpenMC Monte Carlo code utilizes a method that allows for a
single energy grid search to be performed at every collision while avoiding the
redundant storage of cross section values. Instead of using the unionized grid
for every nuclide, the original energy grid of each nuclide is kept and a list
of pointers (of the same length as the unionized energy grid) is constructed for
each nuclide that gives the corresponding grid index on the nuclide grid for a
given grid index on the unionized grid. One must still interpolate on cross
section values for each nuclide since the interpolation factors will generally
be different. The figure below illustrates this method. All values within the
dashed box would need to be stored on a per-nuclide basis, and the union grid
would need to be stored once. This method is also referred to as *double
indexing* and is available as an option in Serpent (see paper by Leppanen_).
A good survey of other energy grid techniques, including unionized energy grids,
can be found in a paper by Leppanen_.
.. figure:: ../_images/uniongrid.*
:width: 600px
:align: center
:figclass: align-center
----------
References
----------
Mapping of union energy grid to nuclide energy grid through pointers.
.. [Brown] Forrest B. Brown, "New Hash-based Energy Lookup Algorithm for Monte
Carlo codes," LA-UR-14-24530, Los Alamos National Laboratory (2014).
.. _MCNP: http://mcnp.lanl.gov
.. _Serpent: http://montecarlo.vtt.fi

View file

@ -421,7 +421,7 @@ satisfy the following equations
x^2 + y^2 + z^2 - 10^2 < 0 \\
x - (-3) > 0 \\
x - 2 < 0
y - 2 < 0
In order to determine if a point is inside the cell, we would substitute its
coordinates into equation :eq:`cell-contains-example`. If the inequalities are

View file

@ -682,17 +682,20 @@ nuclear temperature, which is a function of the incoming energy of the
neutron. The ACE format contains a list of nuclear temperatures versus incoming
energies. The nuclear temperature is interpolated between neighboring incoming
energies using a specified interpolation law. Once the temperature :math:`T` is
determined, we then calculate a candidate outgoing energy based on rule C45 in
the `Monte Carlo Sampler`_:
determined, we then calculate a candidate outgoing energy based on the algorithm
given in LA-UR-14-27694_:
.. math::
:label: evaporation-E
E' = -T \log (\xi_1 \xi_2)
E' = -T \log ((1 - g\xi_1)(1 - g\xi_2))
where :math:`\xi_1, \xi_2` are random numbers sampled on the unit
interval. The outgoing energy is only accepted according to a specified
restriction energy as in equation :eq:`maxwell-restriction`.
where :math:`g = 1 - e^{-w}`, :math:`w = (E - U)/T`, :math:`U` is the
restriction energy, and :math:`\xi_1, \xi_2` are random numbers sampled on the
unit interval. The outgoing energy is only accepted according to the restriction
energy as in equation :eq:`maxwell-restriction`. This algorithm has a much
higher rejection efficiency than the standard technique, i.e. rule C45 in the
`Monte Carlo Sampler`_.
ACE Law 11 - Energy-Dependent Watt Spectrum
+++++++++++++++++++++++++++++++++++++++++++
@ -1591,6 +1594,8 @@ References
.. _Monte Carlo Sampler: https://laws.lanl.gov/vhosts/mcnp.lanl.gov/pdf_files/la-9721_3rdmcsampler.pdf
.. _LA-UR-14-27694: http://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-14-27694
.. _MC21: http://www.osti.gov/bridge/servlets/purl/903083-HT5p1o/903083.pdf
.. _Sutton and Brown: http://www.osti.gov/bridge/product.biblio.jsp?osti_id=307911

View file

@ -35,9 +35,9 @@ OpenMC from source as is described in :ref:`usersguide_install`.
Installing from Source on Linux or Mac OS X
-------------------------------------------
All OpenMC source code is hosted on GitHub_. If you have git_ and the gfortran_
compiler installed, you can download and install OpenMC be entering the
following commands in a terminal:
All OpenMC source code is hosted on GitHub_. If you have git_, the gfortran_
compiler, and CMake_ installed, you can download and install OpenMC be entering
the following commands in a terminal:
.. code-block:: sh
@ -58,3 +58,4 @@ can be replaced with a local install, e.g.
.. _GitHub: https://github.com/mit-crpg/openmc
.. _git: http://git-scm.com
.. _gfortran: http://gcc.gnu.org/wiki/GFortran
.. _CMake: http://www.cmake.org

View file

@ -10,6 +10,7 @@ bugs fixed, and known issues for each successive release.
.. toctree::
:maxdepth: 1
notes_0.6.2
notes_0.6.1
notes_0.6.0
notes_0.5.4

View file

@ -0,0 +1,58 @@
.. _notes_0.6.2:
==============================
Release Notes for OpenMC 0.6.2
==============================
-------------------
System Requirements
-------------------
There are no special requirements for running the OpenMC code. As of this
release, OpenMC has been tested on a variety of Linux distributions, Mac OS X,
and Microsoft Windows 7. Memory requirements will vary depending on the size of
the problem at hand (mostly on the number of nuclides in the problem).
------------
New Features
------------
- Meshline plotting capability
- Support for plotting cells/materials on middle universe levels
- Ability to model cells with no surfaces
- Compatibility with PETSc 3.5
- Compatability with OpenMPI 1.7/1.8
- Improved overall performance via logarithmic-mapped energy grid search
- Improved multi-threaded performance with atomic operations
- Support for fixed source problems with fissionable materials
---------
Bug Fixes
---------
- 26fb93_: Fix problem with -t, --track command-line flag
- 2f07c0_: Improved evaporation spectrum algorithm
- e6abb9_: Fix segfault when tallying in a void material
- 291b45_: Handle metastable nuclides in NNDC data and multiplicities in MT=5 data
.. _26fb93: https://github.com/mit-crpg/openmc/commit/26fb93
.. _2f07c0: https://github.com/mit-crpg/openmc/commit/2f07c0
.. _e6abb9: https://github.com/mit-crpg/openmc/commit/e6abb9
.. _291b45: https://github.com/mit-crpg/openmc/commit/291b45
------------
Contributors
------------
This release contains new contributions from the following people:
- `Will Boyd <wbinventor@gmail.com>`_
- `Matt Ellis <mellis13@mit.edu>`_
- `Sterling Harper <smharper@mit.edu>`_
- `Bryan Herman <bherman@mit.edu>`_
- `Nicholas Horelik <nicholas.horelik@gmail.com>`_
- `Anton Leontiev <bunder@t-25.ru>`_
- `Adam Nelson <nelsonag@umich.edu>`_
- `Paul Romano <paul.k.romano@gmail.com>`_
- `Jon Walsh <walshjon@mit.edu>`_
- `John Xia <john.danger.xia@gmail.com>`_

View file

@ -134,13 +134,15 @@ should be performed. It has the following attributes/sub-elements:
-------------------------
The ``<energy_grid>`` element determines the treatment of the energy grid during
a simulation. Setting this element to "nuclide" will cause OpenMC to use a
nuclide's energy grid when determining what points to interpolate between for
determining cross sections (i.e. non-unionized energy grid). To use a unionized
energy grid, set this element to "union". Note that the unionized energy grid
treatment is slightly different than that employed in Serpent.
a simulation. The valid options are "nuclide" and "logarithm". Setting this
element to "nuclide" will cause OpenMC to use a nuclide's energy grid when
determining what points to interpolate between for determining cross sections
(i.e. non-unionized energy grid). Setting this element to "logarithm" causes
OpenMC to use a logarithmic mapping technique described in LA-UR-14-24530_.
*Default*: union
*Default*: logarithm
.. _LA-UR-14-24530: https://laws.lanl.gov/vhosts/mcnp.lanl.gov/pdf_files/la-ur-14-24530.pdf
``<entropy>`` Element
---------------------
@ -182,6 +184,16 @@ performed. It has the following attributes/sub-elements:
*Default*: None
``<log_grid_bins>`` Element
---------------------------
The ``<log_grid_bins>`` element indicates the number of bins to use for the
logarithmic-mapped energy grid. Using more bins will result in energy grid
searches over a smaller range at the expense of more memory. The default is
based on the recommended value in LA-UR-14-24530_.
*Default*: 8000
.. _natural_elements:
``<natural_elements>`` Element
@ -821,11 +833,13 @@ sub-elements:
*Default*: None
:outside:
The unique integer identifier of a material that is to be used to fill all
space outside of the lattice. This element is optional.
:outer:
The unique integer identifier of a universe that will be used to fill all
space outside of the lattice. The universe will be tiled repeatedly as if
it were placed in a lattice of infinite size. This element is optional.
*Default*: The region outside the defined lattice is treated as void.
*Default*: An error will be raised if a particle leaves a lattice with no
outer universe.
:universes:
A list of the universe numbers that fill each cell of the lattice.
@ -1022,6 +1036,16 @@ The ``<tally>`` element accepts the following sub-elements:
*Default*: total
:estimator:
The estimator element is used to force the use of either ``analog`` or
``tracklength`` tally estimation. ''analog'' is generally less efficient
though it can be used with every score type. ''tracklength'' is generally
the most efficient, though its usage is restricted to tallies that do not
score particle information which requires a collision to have occured, such
as a scattering tally which utilizes outgoing energy filters.
*Default*: ``tracklength`` but will revert to analog if necessary.
:scores:
A space-separated list of the desired responses to be accumulated. Accepted
options are "flux", "total", "scatter", "absorption", "fission",
@ -1572,3 +1596,15 @@ into MATLAB using PETSc-MATLAB utilities. This option can be
turned on with "true" and off with "false".
*Default*: false
------------------------------------
ERSN-OpenMC Graphical User Interface
------------------------------------
A third-party Java-based user-friendly graphical user interface for creating XML
input files called ERSN-OpenMC_ is developed and maintained by members of the
Radiation and Nuclear Systems Group at the Faculty of Sciences Tetouan, Morocco.
The GUI also allows one to automatically download prerequisites for installing and
running OpenMC.
.. _ERSN-OpenMC: https://github.com/EL-Bakkali-Jaafar/ERSN-OpenMC

View file

@ -66,14 +66,11 @@ Prerequisites
To compile with support for parallel runs on a distributed-memory
architecture, you will need to have a valid implementation of MPI
installed on your machine. The code has been tested and is known to work
with the latest versions of both OpenMPI_ and MPICH_. Note that if using
OpenMPI, make sure that --with-mpi-f90-size is not set to medium or large
since this may prevent MPI calls from completing successfully in
OpenMC. OpenMPI and/or MPICH can be installed on Debian derivatives
with::
with the latest versions of both OpenMPI_ and MPICH_. OpenMPI and/or MPICH
can be installed on Debian derivatives with::
sudo apt-get install mpich2 libmpich2-dev
sudo apt-get install openmpi1.6-bin libopenmpi1.6-dev
sudo apt-get install mpich libmpich-dev
sudo apt-get install openmpi-bin libopenmpi1.6 libopenmpi-dev
* HDF5_ Library for portable binary output format

View file

@ -46,7 +46,7 @@ to locate ACE format cross section libraries if the user has not specified the
<cross_sections> tag in
.I settings.xml\fP.
.SH LICENSE
Copyright \(co 2011-2014 Massachusetts Institute of Technology.
Copyright \(co 2011-2015 Massachusetts Institute of Technology.
.PP
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View file

@ -195,6 +195,20 @@ if(petsc)
list(INSERT PETSC_PACKAGE_LIBS 0 ${PETSC_RT_LIB})
endif()
# If libssl wasn't found, search /usr/lib64
if(PETSC_SSL_LIB STREQUAL "PETSC_SSL_LIB-NOTFOUND")
find_library(PETSC_SSL_LIB libssl.so /usr/lib64)
list(REMOVE_ITEM PETSC_PACKAGE_LIBS PETSC_SSL_LIB-NOTFOUND)
list(INSERT PETSC_PACKAGE_LIBS 0 ${PETSC_SSL_LIB})
endif()
# If libcrypto wasn't found, search /usr/lib64
if(PETSC_CRYPTO_LIB STREQUAL "PETSC_CRYPTO_LIB-NOTFOUND")
find_library(PETSC_CRYPTO_LIB libcrypto.so /usr/lib64)
list(REMOVE_ITEM PETSC_PACKAGE_LIBS PETSC_CRYPTO_LIB-NOTFOUND)
list(INSERT PETSC_PACKAGE_LIBS 0 ${PETSC_CRYPTO_LIB})
endif()
message("-- Using PETSC: ${libpetsc}")
add_definitions(-DPETSC)
include_directories($ENV{PETSC_DIR}/include)
@ -255,6 +269,9 @@ install(PROGRAMS utils/statepoint_histogram.py
install(PROGRAMS utils/statepoint_meshplot.py
DESTINATION bin
RENAME statepoint_meshplot)
install(PROGRAMS utils/update_inputs.py
DESTINATION bin
RENAME update_inputs)
install(FILES ../man/man1/openmc.1 DESTINATION share/man/man1)
install(FILES ../LICENSE DESTINATION "share/doc/${program}/copyright")
@ -347,7 +364,7 @@ foreach(test ${TESTS})
elseif(${test} MATCHES "test_sourcepoint_restart")
set(RESTART_FILE statepoint.07.h5 source.07.h5)
elseif(${test} MATCHES "test_particle_restart_eigval")
set(RESTART_FILE particle_12_842.h5)
set(RESTART_FILE particle_12_616.h5)
elseif(${test} MATCHES "test_particle_restart_fixed")
set(RESTART_FILE particle_7_6144.h5)
else(${test} MATCHES "test_statepoint_restart")
@ -362,7 +379,7 @@ foreach(test ${TESTS})
elseif(${test} MATCHES "test_sourcepoint_restart")
set(RESTART_FILE statepoint.07.binary source.07.binary)
elseif(${test} MATCHES "test_particle_restart_eigval")
set(RESTART_FILE particle_12_842.binary)
set(RESTART_FILE particle_12_616.binary)
elseif(${test} MATCHES "test_particle_restart_fixed")
set(RESTART_FILE particle_7_6144.binary)
else(${test} MATCHES "test_statepoint_restart")

View file

@ -94,7 +94,7 @@ contains
& scheme)
nuclides(i_nuclide) % E_min = nuclides_0K(n) % E_min
nuclides(i_nuclide) % E_max = nuclides_0K(n) % E_max
if (.not. already_read % contains(nuclides(i_nuclide) % &
if (.not. already_read % contains(nuclides(i_nuclide) % &
& name_0K)) then
i_listing = xs_listing_dict % get_key(nuclides(i_nuclide) % &
& name_0K)
@ -368,14 +368,6 @@ contains
call read_unr_res(nuc)
end if
! Currently subcritical fixed source calculations are not allowed. Thus,
! if any fissionable material is found in a fixed source calculation,
! abort the run.
if (run_mode == MODE_FIXEDSOURCE .and. nuc % fissionable) then
call fatal_error("Cannot have fissionable material in a fixed source &
&run.")
end if
! for fissionable nuclides, precalculate microscopic nu-fission cross
! sections so that we don't need to call the nu_total function during
! cross section lookups (except if we're dealing w/ 0K data for resonant
@ -443,7 +435,7 @@ contains
! Skip total and absorption
XSS_index = XSS_index + 2*NE
! Continue reading elastic scattering and heating
nuc % elastic_0K = get_real(NE)
@ -479,13 +471,13 @@ contains
! Read data from XSS -- only the energy grid, elastic scattering and heating
! cross section values are actually read from here. The total and absorption
! cross sections are reconstructed from the partial reaction data.
XSS_index = 1
nuc % energy = get_real(NE)
! Skip total and absorption
XSS_index = XSS_index + 2*NE
! Continue reading elastic scattering and heating
nuc % elastic = get_real(NE)
@ -703,7 +695,8 @@ contains
integer :: LXS ! location of cross-section locators
integer :: LOCA ! location of cross-section for given MT
integer :: IE ! reaction's starting index on energy grid
integer :: NE ! number of energies for reaction
integer :: NE ! number of energies
integer :: NR ! number of interpolation regions
type(Reaction), pointer :: rxn => null()
type(ListInt) :: MTs
@ -754,18 +747,40 @@ contains
rxn % multiplicity = abs(nint(XSS(JXS5 + i - 1)))
rxn % scatter_in_cm = (nint(XSS(JXS5 + i - 1)) < 0)
! If multiplicity is energy-dependent (absolute value > 100), set it based
! on the MT value
! Read energy-dependent multiplicities
if (rxn % multiplicity > 100) then
if (any(rxn%MT == [11, 16, 24, 30, 41])) then
rxn % multiplicity = 2
elseif (any(rxn%MT == [17, 25, 42])) then
rxn % multiplicity = 3
elseif (rxn%MT == 37) then
rxn % multiplicity = 4
else
rxn % multiplicity = 1
! Set flag and allocate space for Tab1 to store yield
rxn % multiplicity_with_E = .true.
allocate(rxn % multiplicity_E)
XSS_index = JXS(11) + rxn % multiplicity - 101
NR = nint(XSS(XSS_index))
rxn % multiplicity_E % n_regions = NR
! allocate space for ENDF interpolation parameters
if (NR > 0) then
allocate(rxn % multiplicity_E % nbt(NR))
allocate(rxn % multiplicity_E % int(NR))
end if
! read ENDF interpolation parameters
XSS_index = XSS_index + 1
if (NR > 0) then
rxn % multiplicity_E % nbt = get_int(NR)
rxn % multiplicity_E % int = get_int(NR)
end if
! allocate space for yield data
XSS_index = XSS_index + 2*NR
NE = nint(XSS(XSS_index))
rxn % multiplicity_E % n_pairs = NE
allocate(rxn % multiplicity_E % x(NE))
allocate(rxn % multiplicity_E % y(NE))
! read yield data
XSS_index = XSS_index + 1
rxn % multiplicity_E % x = get_real(NE)
rxn % multiplicity_E % y = get_real(NE)
end if
! read starting energy index

View file

@ -51,8 +51,10 @@ module ace_header
integer :: MT ! ENDF MT value
real(8) :: Q_value ! Reaction Q value
integer :: multiplicity ! Number of secondary particles released
type(Tab1), pointer :: multiplicity_E => null() ! Energy-dependent neutron yield
integer :: threshold ! Energy grid index of threshold
logical :: scatter_in_cm ! scattering system in center-of-mass?
logical :: multiplicity_with_E = .false. ! Flag to indicate E-dependent multiplicity
real(8), allocatable :: sigma(:) ! Cross section values
logical :: has_angle_dist ! Angle distribution present?
logical :: has_energy_dist ! Energy distribution present?
@ -101,7 +103,7 @@ module ace_header
! Energy grid information
integer :: n_grid ! # of nuclide grid points
integer, allocatable :: grid_index(:) ! pointers to union grid
integer, allocatable :: grid_index(:) ! union grid pointers / log grid mapping
real(8), allocatable :: energy(:) ! energy values corresponding to xs
! Microscopic cross sections
@ -334,8 +336,9 @@ module ace_header
class(Reaction), intent(inout) :: this ! The Reaction object to clear
if (allocated(this % sigma)) &
deallocate(this % sigma)
if (allocated(this % sigma)) deallocate(this % sigma)
if (associated(this % multiplicity_E)) deallocate(this % multiplicity_E)
if (associated(this % edist)) then
call this % edist % clear()

View file

@ -8,7 +8,7 @@ module constants
! OpenMC major, minor, and release numbers
integer, parameter :: VERSION_MAJOR = 0
integer, parameter :: VERSION_MINOR = 6
integer, parameter :: VERSION_RELEASE = 1
integer, parameter :: VERSION_RELEASE = 2
! Revision numbers for binary files
integer, parameter :: REVISION_STATEPOINT = 13
@ -127,6 +127,9 @@ module constants
SURF_CONE_Y = 10, & ! Cone parallel to y-axis
SURF_CONE_Z = 11 ! Cone parallel to z-axis
! Flag to say that the outside of a lattice is not defined
integer, parameter :: NO_OUTER_UNIVERSE = -22
! Maximum number of lost particles
integer, parameter :: MAX_LOST_PARTICLES = 10
@ -365,9 +368,8 @@ module constants
! Energy grid methods
integer, parameter :: &
GRID_NUCLIDE = 1, & ! non-unionized energy grid
GRID_UNION = 2, & ! union grid with pointers
GRID_LETHARGY = 3 ! lethargy mapping
GRID_NUCLIDE = 1, & ! non-unionized energy grid
GRID_LOGARITHM = 2 ! logarithmic mapping
! Running modes
integer, parameter :: &

View file

@ -2,6 +2,7 @@ module cross_section
use ace_header, only: Nuclide, SAlphaBeta, Reaction, UrrData
use constants
use energy_grid, only: grid_method, log_spacing
use error, only: fatal_error
use fission, only: nu_total
use global
@ -14,9 +15,6 @@ module cross_section
implicit none
save
integer :: union_grid_index
!$omp threadprivate(union_grid_index)
contains
!===============================================================================
@ -50,9 +48,6 @@ contains
mat => materials(p % material)
! Find energy index on unionized grid
if (grid_method == GRID_UNION) call find_energy_index(p % E)
! Determine if this material has S(a,b) tables
check_sab = (mat % n_sab > 0)
@ -142,8 +137,10 @@ contains
integer, intent(in) :: i_sab ! index into sab_tables array
real(8), intent(in) :: E ! energy
integer :: i_grid ! index on nuclide energy grid
real(8) :: f ! interp factor on nuclide energy grid
integer :: i_grid ! index on nuclide energy grid
integer :: i_low, i_high ! bounding indices from logarithmic mapping
integer :: u ! index into logarithmic mapping array
real(8) :: f ! interp factor on nuclide energy grid
type(Nuclide), pointer, save :: nuc => null()
!$omp threadprivate(nuc)
@ -152,16 +149,29 @@ contains
! Determine index on nuclide energy grid
select case (grid_method)
case (GRID_UNION)
! If we're using the unionized grid with pointers, finding the index on
! the nuclide energy grid is as simple as looking up the pointer
case (GRID_LOGARITHM)
! Determine the energy grid index using a logarithmic mapping to reduce
! the energy range over which a binary search needs to be performed
i_grid = nuc % grid_index(union_grid_index)
if (E < nuc % energy(1)) then
i_grid = 1
elseif (E > nuc % energy(nuc % n_grid)) then
i_grid = nuc % n_grid - 1
else
! Determine bounding indices based on which equal log-spaced interval
! the energy is in
u = int(log(E/1.0e-11_8)/log_spacing)
i_low = nuc % grid_index(u)
i_high = nuc % grid_index(u + 1) + 1
! Perform binary search over reduced range
i_grid = binary_search(nuc % energy(i_low:i_high), &
i_high - i_low + 1, E) + i_low - 1
end if
case (GRID_NUCLIDE)
! If we're not using the unionized grid, we have to do a binary search on
! the nuclide energy grid in order to determine which points to
! interpolate between
! Perform binary search on the nuclide energy grid in order to determine
! which points to interpolate between
if (E < nuc % energy(1)) then
i_grid = 1
@ -198,7 +208,7 @@ contains
micro_xs(i_nuclide) % total = (ONE - f) * nuc % total(i_grid) &
+ f * nuc % total(i_grid+1)
! Calculate microscopic nuclide total cross section
! Calculate microscopic nuclide elastic cross section
micro_xs(i_nuclide) % elastic = (ONE - f) * nuc % elastic(i_grid) &
+ f * nuc % elastic(i_grid+1)
@ -496,27 +506,6 @@ contains
end subroutine calculate_urr_xs
!===============================================================================
! FIND_ENERGY_INDEX determines the index on the union energy grid at a certain
! energy
!===============================================================================
subroutine find_energy_index(E)
real(8), intent(in) :: E ! energy of particle
! if particle's energy is outside of energy grid range, set to first or last
! index. Otherwise, do a binary search through the union energy grid.
if (E < e_grid(1)) then
union_grid_index = 1
elseif (E > e_grid(n_grid)) then
union_grid_index = n_grid - 1
else
union_grid_index = binary_search(e_grid, n_grid, E)
end if
end subroutine find_energy_index
!===============================================================================
! 0K_ELASTIC_XS determines the microscopic 0K elastic cross section
! for a given nuclide at the trial relative energy used in resonance scattering

View file

@ -104,7 +104,7 @@ contains
! END OF RUN WRAPUP
if (master) call header("SIMULATION FINISHED", level=1)
! Clear particle
call p % clear()
@ -278,7 +278,7 @@ contains
#ifdef MPI
start = 0_8
call MPI_EXSCAN(n_bank, start, 1, MPI_INTEGER8, MPI_SUM, &
call MPI_EXSCAN(n_bank, start, 1, MPI_INTEGER8, MPI_SUM, &
MPI_COMM_WORLD, mpi_err)
! While we would expect the value of start on rank 0 to be 0, the MPI
@ -288,7 +288,7 @@ contains
finish = start + n_bank
total = finish
call MPI_BCAST(total, 1, MPI_INTEGER8, n_procs - 1, &
call MPI_BCAST(total, 1, MPI_INTEGER8, n_procs - 1, &
MPI_COMM_WORLD, mpi_err)
#else
@ -360,9 +360,9 @@ contains
! indices for all processors
#ifdef MPI
! First do an exclusive scan to get the starting indices for
! First do an exclusive scan to get the starting indices for
start = 0_8
call MPI_EXSCAN(index_temp, start, 1, MPI_INTEGER8, MPI_SUM, &
call MPI_EXSCAN(index_temp, start, 1, MPI_INTEGER8, MPI_SUM, &
MPI_COMM_WORLD, mpi_err)
finish = start + index_temp
@ -422,7 +422,7 @@ contains
! process
if (neighbor /= rank) then
n_request = n_request + 1
call MPI_ISEND(temp_sites(index_local), n, MPI_BANK, neighbor, &
call MPI_ISEND(temp_sites(index_local), int(n), MPI_BANK, neighbor, &
rank, MPI_COMM_WORLD, request(n_request), mpi_err)
end if
@ -466,7 +466,7 @@ contains
! asynchronous receive for the source sites
n_request = n_request + 1
call MPI_IRECV(source_bank(index_local), n, MPI_BANK, &
call MPI_IRECV(source_bank(index_local), int(n), MPI_BANK, &
neighbor, neighbor, MPI_COMM_WORLD, request(n_request), mpi_err)
else
@ -537,10 +537,10 @@ contains
m % n_dimension = 3
allocate(m % dimension(3))
m % dimension = n
! determine width
m % width = (m % upper_right - m % lower_left) / m % dimension
end if
! allocate p

View file

@ -1,152 +1,62 @@
module energy_grid
use constants, only: MAX_LINE_LEN
use global
use list_header, only: ListReal
use output, only: write_message
implicit none
integer :: grid_method ! how to treat the energy grid
integer :: n_log_bins ! number of bins for logarithmic grid
real(8) :: log_spacing ! spacing on logarithmic grid
contains
!===============================================================================
! UNIONIZED_GRID creates a single unionized energy grid combined from each
! nuclide of each material. Right now, the grid for each nuclide is added into a
! linked list one at a time with an effective insertion sort. Could be done with
! a hash for all energy points and then a quicksort at the end (what hash
! function to use?)
! LOGARITHMIC_GRID determines a logarithmic mapping for energies to bounding
! indices on a nuclide energy grid
!===============================================================================
subroutine unionized_grid()
subroutine logarithmic_grid()
integer :: i ! index in nuclides array
type(ListReal), pointer :: list => null()
type(Nuclide), pointer :: nuc => null()
call write_message("Creating unionized energy grid...", 5)
! Add grid points for each nuclide in the problem
do i = 1, n_nuclides_total
nuc => nuclides(i)
call add_grid_points(list, nuc % energy)
end do
! Set size of unionized energy grid
n_grid = list % size()
! create allocated array from linked list
allocate(e_grid(n_grid))
do i = 1, n_grid
e_grid(i) = list % get_item(i)
end do
! delete linked list and dictionary
call list % clear()
deallocate(list)
! Set pointers to unionized energy grid for each nuclide
call grid_pointers()
end subroutine unionized_grid
!===============================================================================
! ADD_GRID_POINTS adds energy points from the 'energy' array into a linked list
! of points already stored from previous arrays.
!===============================================================================
subroutine add_grid_points(list, energy)
type(ListReal), pointer :: list
real(8), intent(in) :: energy(:)
integer :: i ! index in energy array
integer :: n ! size of energy array
integer :: current ! current index
real(8) :: E ! actual energy value
i = 1
n = size(energy)
! If the original list is empty, we need to allocate the first element and
! store first energy point
if (.not. associated(list)) then
allocate(list)
do i = 1, n
call list % append(energy(i))
end do
return
end if
! Set current index to beginning of the list
current = 1
do while (i <= n)
E = energy(i)
! If we've reached the end of the grid energy list, add the remaining
! energy points to the end
if (current > list % size()) then
! Finish remaining energies
do while (i <= n)
call list % append(energy(i))
i = i + 1
end do
exit
end if
if (E < list % get_item(current)) then
! Insert new energy in this position
call list % insert(current, E)
! Advance index in linked list and in new energy grid
i = i + 1
current = current + 1
elseif (E == list % get_item(current)) then
! Found the exact same energy, no need to store duplicates so just
! skip and move to next index
i = i + 1
current = current + 1
else
current = current + 1
end if
end do
end subroutine add_grid_points
!===============================================================================
! GRID_POINTERS creates an array of pointers (ints) for each nuclide to link
! each point on the nuclide energy grid to one on the unionized energy grid
!===============================================================================
subroutine grid_pointers()
integer :: i ! loop index for nuclides
integer :: j ! loop index for nuclide energy grid
integer :: index_e ! index on union energy grid
real(8) :: union_energy ! energy on union grid
real(8) :: energy ! energy on nuclide grid
integer :: i, j, k ! Loop indices
integer :: M ! Number of equally log-spaced bins
real(8) :: E_max ! Maximum energy in MeV
real(8) :: E_min ! Minimum energy in MeV
real(8), allocatable :: umesh(:) ! Equally log-spaced energy grid
type(Nuclide), pointer :: nuc => null()
! Set minimum/maximum energies
E_max = 20.0_8
E_min = 1.0e-11_8
! Determine equal-logarithmic energy spacing
M = n_log_bins
log_spacing = log(E_max/E_min)/M
! Create equally log-spaced energy grid
allocate(umesh(0:M))
umesh(:) = [(i*log_spacing, i=0, M)]
do i = 1, n_nuclides_total
! Allocate logarithmic mapping for nuclide
nuc => nuclides(i)
allocate(nuc % grid_index(n_grid))
allocate(nuc % grid_index(0:M))
index_e = 1
energy = nuc % energy(index_e)
do j = 1, n_grid
union_energy = e_grid(j)
if (union_energy >= energy .and. index_e < nuc % n_grid) then
index_e = index_e + 1
energy = nuc % energy(index_e)
end if
nuc % grid_index(j) = index_e - 1
! Determine corresponding indices in nuclide grid to energies on
! equal-logarithmic grid
j = 1
do k = 0, M - 1
do while (log(nuc%energy(j + 1)/E_min) <= umesh(k))
j = j + 1
end do
nuc % grid_index(k) = j
end do
! Set the last point explicitly so that we don't have out-of-bounds issues
nuc % grid_index(M) = size(nuc % energy) - 1
end do
end subroutine grid_pointers
deallocate(umesh)
end subroutine logarithmic_grid
end module energy_grid

View file

@ -280,17 +280,7 @@ contains
p % coord % xyz = xyz
else
! We're outside the lattice, so treat this as a normal cell with
! the material specified for the outside
outside_lattice = .true.
p % last_material = p % material
p % material = c % material
! We'll still make a new coordinate for the particle, as
! distance_to_boundary will still need to track through lattice
! widths even though there's nothing in them but this material
end if
@ -322,13 +312,13 @@ contains
if (.not. outside_lattice) then
p % coord % next % universe = lat % universes(i_x,i_y,i_z)
else
! Set universe as the same for subsequent calls to find_cell
p % coord % next % universe = p % coord % universe
! Set coord cell for calls to distance_to_boundary
p % coord % next % cell = index_cell
if (lat % outer == NO_OUTER_UNIVERSE) then
call fatal_error("A particle is outside latttice " &
&// trim(to_str(lat % id)) // " but the lattice has no &
&defined outer universe.")
else
p % coord % next % universe = lat % outer
end if
end if
! Move particle to next level
@ -336,10 +326,9 @@ contains
end if
if (.not. outside_lattice) then
call find_cell(p, found)
if (.not. found) exit
end if
! Find in the next lowest coordinate level.
call find_cell(p, found)
if (.not. found) exit
end if

View file

@ -30,7 +30,7 @@ module geometry_header
real(8), allocatable :: lower_left(:) ! lower-left corner of lattice
real(8), allocatable :: width(:) ! width of each lattice cell
integer, allocatable :: universes(:,:,:) ! specified universes
integer :: outside ! material to fill area outside
integer :: outer ! universe to tile outside the lat
end type Lattice
!===============================================================================

View file

@ -77,11 +77,6 @@ module global
type(DictCharInt) :: sab_dict
type(DictCharInt) :: xs_listing_dict
! Unionized energy grid
integer :: grid_method ! how to treat the energy grid
integer :: n_grid ! number of points on unionized grid
real(8), allocatable :: e_grid(:) ! energies on unionized grid
! Unreoslved resonance probablity tables
logical :: urr_ptables_on = .true.
@ -223,7 +218,6 @@ module global
type(Timer) :: time_total ! timer for total run
type(Timer) :: time_initialize ! timer for initialization
type(Timer) :: time_read_xs ! timer for reading cross sections
type(Timer) :: time_unionize ! timer for unionizing energy grid
type(Timer) :: time_bank ! timer for fission bank synchronization
type(Timer) :: time_bank_sample ! timer for fission bank sampling
type(Timer) :: time_bank_sendrecv ! timer for fission bank SEND/RECV
@ -462,9 +456,6 @@ contains
if (allocated(matching_bins)) deallocate(matching_bins)
if (allocated(tally_maps)) deallocate(tally_maps)
! Deallocate energy grid
if (allocated(e_grid)) deallocate(e_grid)
! Deallocate fission and source bank and entropy
!$omp parallel
if (allocated(fission_bank)) deallocate(fission_bank)

View file

@ -67,7 +67,7 @@ contains
end if
! Terminate access to the file.
call su % file_close()
call su % file_close()
end subroutine hdf5_write_summary
@ -80,7 +80,7 @@ contains
! Write version information
call su % write_data(VERSION_MAJOR, "version_major")
call su % write_data(VERSION_MINOR, "version_minor")
call su % write_data(VERSION_RELEASE, "version_release")
call su % write_data(VERSION_RELEASE, "version_release")
! Write current date and time
call su % write_data(time_stamp(), "date_and_time")
@ -88,7 +88,7 @@ contains
! Write MPI information
call su % write_data(n_procs, "n_procs")
call su % write_attribute_string("n_procs", "description", &
"Number of MPI processes")
"Number of MPI processes")
end subroutine hdf5_write_header
@ -175,7 +175,7 @@ contains
call su % write_data("lattice", "fill_type", &
group="geometry/cells/cell " // trim(to_str(c % id)))
call su % write_data(lattices(c % fill) % id, "lattice", &
group="geometry/cells/cell " // trim(to_str(c % id)))
group="geometry/cells/cell " // trim(to_str(c % id)))
end select
! Write list of bounding surfaces
@ -333,7 +333,7 @@ contains
length=lat % n_dimension, &
group="geometry/lattices/lattice " // trim(to_str(lat % id)))
call su % write_data(lat % outside, "outside", &
call su % write_data(lat % outer, "outer", &
group="geometry/lattices/lattice " // trim(to_str(lat % id)))
! Determine dimensions of lattice
@ -718,8 +718,6 @@ contains
group="timing")
call su % write_data(time_read_xs % elapsed, "time_read_xs", &
group="timing")
call su % write_data(time_unionize % elapsed, "time_unionize", &
group="timing")
call su % write_data(time_transport % elapsed, "time_transport", &
group="timing")
call su % write_data(time_bank % elapsed, "time_bank", &
@ -744,8 +742,6 @@ contains
"Total time elapsed for initialization (s)", group="timing")
call su % write_attribute_string("time_read_xs", "description", &
"Time reading cross-section libraries (s)", group="timing")
call su % write_attribute_string("time_unionize", "description", &
"Time unionizing energy grid (s)", group="timing")
call su % write_attribute_string("time_transport", "description", &
"Time in transport only (s)", group="timing")
call su % write_attribute_string("time_bank", "description", &

View file

@ -4,7 +4,7 @@ module initialize
use bank_header, only: Bank
use constants
use dict_header, only: DictIntInt, ElemKeyValueII
use energy_grid, only: unionized_grid
use energy_grid, only: logarithmic_grid, grid_method
use error, only: fatal_error, warning
use geometry, only: neighbor_lists
use geometry_header, only: Cell, Universe, Lattice, BASE_UNIVERSE
@ -108,11 +108,9 @@ contains
! Create linked lists for multiple instances of the same nuclide
call same_nuclide_list()
! Construct unionized energy grid from cross-sections
if (grid_method == GRID_UNION) then
call time_unionize % start()
call unionized_grid()
call time_unionize % stop()
! Construct logarithmic energy grid for cross-sections
if (grid_method == GRID_LOGARITHM) then
call logarithmic_grid()
end if
! Allocate and setup tally stride, matching_bins, and tally maps
@ -551,7 +549,7 @@ contains
integer :: j ! index for various purposes
integer :: k ! loop index for lattices
integer :: m ! loop index for lattices
integer :: mid, lid ! material and lattice IDs
integer :: lid ! lattice IDs
integer :: n_x, n_y, n_z ! size of lattice
integer :: i_array ! index in surfaces/materials array
integer :: id ! user-specified id
@ -609,18 +607,8 @@ contains
c % fill = universe_dict % get_key(id)
elseif (lattice_dict % has_key(id)) then
lid = lattice_dict % get_key(id)
mid = lattices(lid) % outside
c % type = CELL_LATTICE
c % fill = lid
if (mid == MATERIAL_VOID) then
c % material = mid
else if (material_dict % has_key(mid)) then
c % material = material_dict % get_key(mid)
else
call fatal_error("Could not find material " // trim(to_str(mid)) &
&// " specified on lattice " // trim(to_str(lid)))
end if
else
call fatal_error("Specified fill " // trim(to_str(id)) // " on cell "&
&// trim(to_str(c % id)) // " is neither a universe nor a &
@ -656,6 +644,16 @@ contains
end do
end do
if (lat % outer /= NO_OUTER_UNIVERSE) then
if (universe_dict % has_key(lat % outer)) then
lat % outer = universe_dict % get_key(lat % outer)
else
call fatal_error("Invalid universe number " &
&// trim(to_str(lat % outer)) &
&// " specified on lattice " // trim(to_str(lat % id)))
end if
end if
end do
TALLY_LOOP: do i = 1, n_tallies

View file

@ -3,6 +3,7 @@ module input_xml
use cmfd_input, only: configure_cmfd
use constants
use dict_header, only: DictIntInt, ElemKeyValueCI
use energy_grid, only: grid_method, n_log_bins
use error, only: fatal_error, warning
use geometry_header, only: Cell, Surface, Lattice
use global
@ -207,19 +208,30 @@ contains
if (check_for_node(doc, "energy_grid")) then
call get_node_value(doc, "energy_grid", temp_str)
else
temp_str = 'union'
temp_str = 'logarithm'
end if
select case (trim(temp_str))
case ('nuclide')
grid_method = GRID_NUCLIDE
case ('union')
grid_method = GRID_UNION
case ('lethargy')
call fatal_error("Lethargy mapped energy grid not yet supported.")
call fatal_error("Union energy grid is no longer supported.")
case ('logarithm', 'logarithmic', 'log')
grid_method = GRID_LOGARITHM
case default
call fatal_error("Unknown energy grid method: " // trim(temp_str))
end select
! Number of bins for logarithmic grid
if (check_for_node(doc, "log_grid_bins")) then
call get_node_value(doc, "log_grid_bins", n_log_bins)
if (n_log_bins < 1) then
call fatal_error("Number of bins for logarithmic grid must be &
&greater than zero.")
end if
else
n_log_bins = 8000
end if
! Verbosity
if (check_for_node(doc, "verbosity")) then
call get_node_ptr(doc, "verbosity", node_verb)
@ -524,11 +536,11 @@ contains
! Copy dimensions
call get_node_array(node_entropy, "dimension", entropy_mesh % dimension)
! Calculate width
entropy_mesh % width = (entropy_mesh % upper_right - &
entropy_mesh % lower_left) / entropy_mesh % dimension
end if
! Turn on Shannon entropy calculation
@ -892,7 +904,6 @@ contains
integer :: universe_num
integer :: n_cells_in_univ
integer :: coeffs_reqd
integer :: mid
integer :: temp_int_array3(3)
integer, allocatable :: temp_int_array(:)
real(8) :: phi, theta, psi
@ -1329,15 +1340,18 @@ contains
end do
deallocate(temp_int_array)
! Read material for area outside lattice
lat % outside = MATERIAL_VOID
! Read outer universe for area outside lattice.
lat % outer = NO_OUTER_UNIVERSE
if (check_for_node(node_lat, "outer")) then
call get_node_value(node_lat, "outer", lat % outer)
end if
! Check for 'outside' nodes which are no longer supported.
if (check_for_node(node_lat, "outside")) then
call get_node_value(node_lat, "outside", mid)
if (mid == 0 .or. mid == MATERIAL_VOID) then
lat % outside = MATERIAL_VOID
else
lat % outside = mid
end if
call fatal_error("The use of 'outside' in lattices is no longer &
&supported. Instead, use 'outer' which defines a universe rather &
&than a material. The utility openmc/src/utils/update_inputs.py &
&can be used automatically replace 'outside' with 'outer'.")
end if
! Add lattice to dictionary
@ -2331,7 +2345,7 @@ contains
j = j + 1
! Get the input string in scores(l) but if score is one of the moment
! scores then strip off the n and store it as an integer to be used
! later. Then perform the select case on this modified (number
! later. Then perform the select case on this modified (number
! removed) string
score_name = sarray(l)
do imomstr = 1, size(MOMENT_STRS)
@ -2822,7 +2836,7 @@ contains
! Copy plot cell universe level
if (check_for_node(node_plot, "level")) then
call get_node_value(node_plot, "level", pl % level)
if (pl % level < 0) then
call fatal_error("Bad universe level in plot " &
&// trim(to_str(pl % id)))
@ -2928,7 +2942,7 @@ contains
call warning("Meshlines ignored in voxel plot " &
&// trim(to_str(pl % id)))
end if
select case(n_meshlines)
case (0)
! Skip if no meshlines are specified
@ -2936,7 +2950,7 @@ contains
! Get pointer to meshlines
call get_list_item(node_meshline_list, 1, node_meshlines)
! Check mesh type
if (check_for_node(node_meshlines, "meshtype")) then
call get_node_value(node_meshlines, "meshtype", meshtype)
@ -2944,7 +2958,7 @@ contains
call fatal_error("Must specify a meshtype for meshlines &
&specification in plot " // trim(to_str(pl % id)))
end if
! Ensure that there is a linewidth for this meshlines specification
if (check_for_node(node_meshlines, "linewidth")) then
call get_node_value(node_meshlines, "linewidth", &
@ -2956,19 +2970,19 @@ contains
! Check for color
if (check_for_node(node_meshlines, "color")) then
! Check and make sure 3 values are specified for RGB
if (get_arraysize_double(node_meshlines, "color") /= 3) then
call fatal_error("Bad RGB for meshlines color in plot " &
&// trim(to_str(pl % id)))
end if
call get_node_array(node_meshlines, "color", &
pl % meshlines_color % rgb)
else
pl % meshlines_color % rgb = (/ 0, 0, 0 /)
end if
! Set mesh based on type
@ -2979,7 +2993,7 @@ contains
call fatal_error("No UFS mesh for meshlines on plot " &
&// trim(to_str(pl % id)))
end if
pl % meshlines_mesh => ufs_mesh
case ('cmfd')
@ -2995,17 +3009,17 @@ contains
pl % meshlines_mesh => meshes(i_mesh)
case ('entropy')
if (.not. associated(entropy_mesh)) then
call fatal_error("No entropy mesh for meshlines on plot " &
&// trim(to_str(pl % id)))
end if
if (.not. allocated(entropy_mesh % dimension)) then
call fatal_error("No dimension specified on entropy mesh &
&for meshlines on plot " // trim(to_str(pl % id)))
end if
pl % meshlines_mesh => entropy_mesh
case ('tally')
@ -3040,9 +3054,9 @@ contains
call fatal_error("Mutliple meshlines specified in plot " &
&// trim(to_str(pl % id)))
end select
end if
! Deal with masks
call get_node_list(node_plot, "mask", node_mask_list)
n_masks = get_list_size(node_mask_list)

View file

@ -50,7 +50,7 @@ contains
! Write version information
write(UNIT=OUTPUT_UNIT, FMT=*) &
' Copyright: 2011-2014 Massachusetts Institute of Technology'
' Copyright: 2011-2015 Massachusetts Institute of Technology'
write(UNIT=OUTPUT_UNIT, FMT=*) &
' License: http://mit-crpg.github.io/openmc/license.html'
write(UNIT=OUTPUT_UNIT, FMT='(6X,"Version:",8X,I1,".",I1,".",I1)') &
@ -157,7 +157,7 @@ contains
if (master) then
write(UNIT=OUTPUT_UNIT, FMT='(1X,A,1X,I1,".",I1,".",I1)') &
"OpenMC version", VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE
write(UNIT=OUTPUT_UNIT, FMT=*) "Copyright (c) 2011-2013 &
write(UNIT=OUTPUT_UNIT, FMT=*) "Copyright (c) 2011-2015 &
&Massachusetts Institute of Technology"
write(UNIT=OUTPUT_UNIT, FMT=*) "MIT/X license at &
&<http://mit-crpg.github.io/openmc/license.html>"
@ -216,7 +216,7 @@ contains
i_start = 0
do
if (length - i_start < line_wrap - 1) then
if (length - i_start < line_wrap + 1) then
! Remainder of message will fit on line
write(ou, fmt='(1X,A)') message(i_start+1:length)
exit
@ -1173,7 +1173,7 @@ contains
call header("OpenMC Monte Carlo Code", unit=UNIT_SUMMARY, level=1)
write(UNIT=UNIT_SUMMARY, FMT=*) &
"Copyright: 2011-2013 Massachusetts Institute of Technology"
"Copyright: 2011-2015 Massachusetts Institute of Technology"
write(UNIT=UNIT_SUMMARY, FMT='(1X,A,7X,2(I1,"."),I1)') &
"Version:", VERSION_MAJOR, VERSION_MINOR, VERSION_RELEASE
#ifdef GIT_SHA1
@ -1226,12 +1226,6 @@ contains
end do
end if
! print summary of unionized energy grid
call header("UNIONIZED ENERGY GRID", unit=UNIT_SUMMARY)
write(UNIT_SUMMARY,*) "Points on energy grid: " // trim(to_str(n_grid))
write(UNIT_SUMMARY,*) "Extra storage required: " // trim(to_str(&
n_grid*n_nuclides_total*4)) // " bytes"
! print summary of variance reduction
call header("VARIANCE REDUCTION", unit=UNIT_SUMMARY)
if (survival_biasing) then
@ -1500,7 +1494,6 @@ contains
! display time elapsed for various sections
write(ou,100) "Total time for initialization", time_initialize % elapsed
write(ou,100) " Reading cross sections", time_read_xs % elapsed
write(ou,100) " Unionizing energy grid", time_unionize % elapsed
write(ou,100) "Total time in simulation", time_inactive % elapsed + &
time_active % elapsed
write(ou,100) " Time in transport only", time_transport % elapsed

View file

@ -138,7 +138,7 @@ contains
subroutine file_open(self, filename, mode, serial)
character(*), intent(in) :: filename ! name of file to be opened
character(*), intent(in) :: mode ! file access mode
character(*), intent(in) :: mode ! file access mode
logical, optional, intent(in) :: serial ! processor rank to write from
class(BinaryOutput) :: self
@ -307,7 +307,7 @@ contains
subroutine read_double(self, buffer, name, group, collect)
real(8), intent(inout) :: buffer ! read data to here
real(8), intent(inout) :: buffer ! read data to here
character(*), intent(in) :: name ! name for data
character(*), intent(in), optional :: group ! HDF5 group name
logical, intent(in), optional :: collect ! collective I/O
@ -342,7 +342,7 @@ contains
# ifdef MPI
if (self % serial) then
call hdf5_read_double(self % hdf5_grp, name_, buffer)
else
else
call hdf5_read_double_parallel(self % hdf5_grp, name_, buffer, collect_)
end if
# else
@ -621,7 +621,7 @@ contains
subroutine write_double_3Darray(self, buffer, name, group, length, collect)
integer, intent(in) :: length(3) ! length of each dimension
real(8), intent(in) :: buffer(length(1),length(2),length(3))
real(8), intent(in) :: buffer(length(1),length(2),length(3))
character(*), intent(in) :: name ! name of data
character(*), intent(in), optional :: group ! HDF5 group name
logical, intent(in), optional :: collect ! collective I/O
@ -684,7 +684,7 @@ contains
subroutine read_double_3Darray(self, buffer, name, group, length, collect)
integer, intent(in) :: length(3) ! length of each dimension
real(8), intent(inout) :: buffer(length(1),length(2),length(3))
real(8), intent(inout) :: buffer(length(1),length(2),length(3))
character(*), intent(in) :: name ! name of data
character(*), intent(in), optional :: group ! HDF5 group name
logical, intent(in), optional :: collect ! collective I/O
@ -940,7 +940,7 @@ contains
subroutine read_integer(self, buffer, name, group, collect)
integer, intent(inout) :: buffer ! read data to here
integer, intent(inout) :: buffer ! read data to here
character(*), intent(in) :: name ! name for data
character(*), intent(in), optional :: group ! HDF5 group name
logical, intent(in), optional :: collect ! collective I/O
@ -1174,7 +1174,7 @@ contains
! Check if HDF5 group should be closed
if (present(group)) call hdf5_close_group(self % hdf5_grp)
#elif MPI
if (self % serial) then
if (self % serial) then
write(self % unit_fh) buffer(1:length(1),1:length(2))
else
call mpi_write_integer_2Darray(self % unit_fh, buffer, length, collect_)
@ -1255,7 +1255,7 @@ contains
subroutine write_integer_3Darray(self, buffer, name, group, length, collect)
integer, intent(in) :: length(3) ! length of each dimension
integer, intent(in) :: buffer(length(1),length(2),length(3))
integer, intent(in) :: buffer(length(1),length(2),length(3))
character(*), intent(in) :: name ! name of data
character(*), intent(in), optional :: group ! HDF5 group name
logical, intent(in), optional :: collect ! collective I/O
@ -1318,7 +1318,7 @@ contains
subroutine read_integer_3Darray(self, buffer, name, group, length, collect)
integer, intent(in) :: length(3) ! length of each dimension
integer, intent(inout) :: buffer(length(1),length(2),length(3))
integer, intent(inout) :: buffer(length(1),length(2),length(3))
character(*), intent(in) :: name ! name of data
character(*), intent(in), optional :: group ! HDF5 group name
logical, intent(in), optional :: collect ! collective I/O
@ -1913,7 +1913,7 @@ contains
end if
! Set overall size of vector to write
dims1(1) = n1*n2
dims1(1) = n1*n2
! Create up a dataspace for size
call h5screate_simple_f(1, dims1, dspace, hdf5_err)
@ -1943,8 +1943,8 @@ contains
end do
end do
#endif
#endif
end subroutine write_tally_result
!===============================================================================
@ -2012,8 +2012,8 @@ contains
end do
end do
#endif
#endif
end subroutine read_tally_result
!===============================================================================
@ -2027,8 +2027,8 @@ contains
#ifdef MPI
# ifndef HDF5
integer(MPI_OFFSET_KIND) :: offset ! offset of data
integer :: size_offset_kind ! the data offset kind
integer :: size_bank ! size of bank to write
integer :: datatype
# endif
# ifdef HDF5
integer(8) :: offset(1) ! source data offset
@ -2103,29 +2103,25 @@ contains
call h5dclose_f(dset, hdf5_err)
call h5sclose_f(dspace, hdf5_err)
# endif
# endif
#elif MPI
! Get current offset for master
! Get current offset for master
if (master) call MPI_FILE_GET_POSITION(self % unit_fh, offset, mpiio_err)
! Determine offset on master process and broadcast to all processors
call MPI_SIZEOF(offset, size_offset_kind, mpi_err)
select case (size_offset_kind)
case (4)
call MPI_BCAST(offset, 1, MPI_INTEGER, 0, MPI_COMM_WORLD, mpi_err)
case (8)
call MPI_BCAST(offset, 1, MPI_INTEGER8, 0, MPI_COMM_WORLD, mpi_err)
end select
call MPI_TYPE_MATCH_SIZE(MPI_TYPECLASS_INTEGER, MPI_OFFSET_KIND, &
datatype, mpi_err)
call MPI_BCAST(offset, 1, datatype, 0, MPI_COMM_WORLD, mpi_err)
! Set the proper offset for source data on this processor
call MPI_TYPE_SIZE(MPI_BANK, size_bank, mpi_err)
offset = offset + size_bank*work_index(rank)
! Write all source sites
call MPI_FILE_WRITE_AT(self % unit_fh, offset, source_bank(1), work, MPI_BANK, &
MPI_STATUS_IGNORE, mpiio_err)
call MPI_FILE_WRITE_AT(self % unit_fh, offset, source_bank(1), int(work), &
MPI_BANK, MPI_STATUS_IGNORE, mpiio_err)
#else
@ -2207,7 +2203,7 @@ contains
! Close all ids
call h5dclose_f(dset, hdf5_err)
# endif
# endif
#elif MPI
@ -2216,7 +2212,7 @@ contains
call MPI_FILE_SEEK(self % unit_fh, offset, MPI_SEEK_END, &
mpiio_err)
! Get current offset (will be at EOF)
! Get current offset (will be at EOF)
call MPI_FILE_GET_POSITION(self % unit_fh, offset, mpiio_err)
! Get the size of the source bank on all procs
@ -2229,8 +2225,8 @@ contains
offset = offset + size_bank*work_index(rank)
! Write all source sites
call MPI_FILE_READ_AT(self % unit_fh, offset, source_bank(1), work, MPI_BANK, &
MPI_STATUS_IGNORE, mpiio_err)
call MPI_FILE_READ_AT(self % unit_fh, offset, source_bank(1), int(work), &
MPI_BANK, MPI_STATUS_IGNORE, mpiio_err)
#else

View file

@ -90,7 +90,7 @@ contains
! change when sampling fission sites. The following block handles all
! absorption (including fission)
if (nuc % fissionable) then
if (nuc % fissionable .and. run_mode == MODE_EIGENVALUE) then
call sample_fission(i_nuclide, i_reaction)
call create_fission_sites(p, i_nuclide, i_reaction)
end if
@ -231,7 +231,7 @@ contains
prob = prob + ((ONE - f)*rxn%sigma(i_grid - rxn%threshold + 1) &
+ f*(rxn%sigma(i_grid - rxn%threshold + 2)))
! Create fission bank sites if fission occus
! Create fission bank sites if fission occurs
if (prob > cutoff) exit FISSION_REACTION_LOOP
end do FISSION_REACTION_LOOP
@ -385,7 +385,7 @@ contains
+ f*(rxn%sigma(i_grid - rxn%threshold + 2)))
end do
! Perform collision physics for inelastics scattering
! Perform collision physics for inelastic scattering
call inelastic_scatter(nuc, rxn, p % E, p % coord0 % uvw, &
p % mu, p % wgt)
p % event_MT = rxn % MT
@ -1291,6 +1291,7 @@ contains
real(8) :: E_in ! incoming energy
real(8) :: E_cm ! outgoing energy in center-of-mass
real(8) :: Q ! Q-value of reaction
real(8) :: yield ! neutron yield
! copy energy of neutron
E_in = E
@ -1330,8 +1331,13 @@ contains
! change direction of particle
uvw = rotate_angle(uvw, mu)
! change weight of particle based on multiplicity
wgt = rxn % multiplicity * wgt
! change weight of particle based on yield
if (rxn % multiplicity_with_E) then
yield = interpolate_tab1(rxn % multiplicity_E, E_in)
else
yield = rxn % multiplicity
end if
wgt = yield * wgt
end subroutine inelastic_scatter
@ -1572,6 +1578,7 @@ contains
real(8) :: E_max ! parameter for n-body dist
real(8) :: x, y, v ! intermediate variables for n-body dist
real(8) :: r1, r2, r3, r4, r5, r6
logical :: histogram_interp ! use histogram interpolation on incoming energy
! ==========================================================================
! SAMPLE ENERGY DISTRIBUTION IF THERE ARE MULTIPLE
@ -1668,12 +1675,13 @@ contains
NR = int(edist % data(1))
NE = int(edist % data(2 + 2*NR))
if (NR == 1) then
if (master) call warning("Assuming linear-linear interpolation when &
&sampling continuous tabular distribution")
histogram_interp = (edist % data(3) == 1)
else if (NR > 1) then
! call write_particle_restart(p)
call fatal_error("Multiple interpolation regions not supported while &
&attempting to sample continuous tabular distribution.")
else
histogram_interp = .false.
end if
! find energy bin and calculate interpolation factor -- if the energy is
@ -1693,11 +1701,15 @@ contains
end if
! Sample between the ith and (i+1)th bin
r2 = prn()
if (r > r2) then
l = i + 1
else
if (histogram_interp) then
l = i
else
r2 = prn()
if (r > r2) then
l = i + 1
else
l = i
end if
end if
! interpolation for energy E1 and EK
@ -1776,10 +1788,12 @@ contains
end if
! Now interpolate between incident energy bins i and i + 1
if (l == i) then
E_out = E_1 + (E_out - E_i_1)*(E_K - E_1)/(E_i_K - E_i_1)
else
E_out = E_1 + (E_out - E_i1_1)*(E_K - E_1)/(E_i1_K - E_i1_1)
if (.not. histogram_interp) then
if (l == i) then
E_out = E_1 + (E_out - E_i_1)*(E_K - E_1)/(E_i_K - E_i_1)
else
E_out = E_1 + (E_out - E_i1_1)*(E_K - E_1)/(E_i1_K - E_i1_1)
end if
end if
case (5)
@ -1832,14 +1846,15 @@ contains
lc = 2 + 2*NR + 2*NE
U = edist % data(lc + 1)
y = (E_in - U)/T
v = 1 - exp(-y)
! sample outgoing energy based on evaporation spectrum probability
! density function
n_sample = 0
do
r1 = prn()
r2 = prn()
E_out = -T * log(r1*r2)
if (E_out <= E_in - U) exit
x = -log((1 - v*prn())*(1 - v*prn()))
if (x <= y) exit
! check for large number of rejections
n_sample = n_sample + 1
@ -1849,6 +1864,8 @@ contains
end if
end do
E_out = x*T
case (11)
! =======================================================================
! ENERGY-DEPENDENT WATT SPECTRUM

View file

@ -272,11 +272,11 @@ contains
outrange(1) = int(frac * real(img % width, 8))
frac = (xyz_ur(outer) - xyz_ll_plot(outer)) / width(outer)
outrange(2) = int(frac * real(img % width, 8))
frac = (xyz_ll(inner) - xyz_ll_plot(inner)) / width(inner)
inrange(1) = int(frac * real(img % height, 8))
frac = (xyz_ur(inner) - xyz_ll_plot(inner)) / width(inner)
inrange(2) = int(frac * real(img % height, 8))
inrange(1) = int((1. - frac) * real(img % height, 8))
frac = (xyz_ll(inner) - xyz_ll_plot(inner)) / width(inner)
inrange(2) = int((1. - frac) * real(img % height, 8))
! draw lines
do out_ = outrange(1), outrange(2)

View file

@ -30,6 +30,6 @@ element geometry {
(element lower_left { list { xsd:double+ } } | attribute lower_left { list { xsd:double+ } }) &
(element width { list { xsd:double+ } } | attribute width { list { xsd:double+ } }) &
(element universes { list { xsd:int+ } } | attribute universes { list { xsd:int+ } }) &
(element outside { xsd:int } | attribute outside { xsd:int })?
(element outer { xsd:int } | attribute outer { xsd:int })?
}*
}

View file

@ -3,19 +3,19 @@ element settings {
(
element eigenvalue {
(element batches { xsd:positiveInteger } |
(element batches { xsd:positiveInteger } |
attribute batches { xsd:positiveInteger }) &
(element inactive { xsd:nonNegativeInteger } |
(element inactive { xsd:nonNegativeInteger } |
attribute inactive { xsd:nonNegativeInteger }) &
(element particles { xsd:positiveInteger } |
(element particles { xsd:positiveInteger } |
attribute particles { xsd:positiveInteger }) &
(element generations_per_batch { xsd:positiveInteger } |
(element generations_per_batch { xsd:positiveInteger } |
attribute generations_per_batch { xsd:positiveInteger })?
} |
element fixed_source {
(element batches { xsd:positiveInteger } |
(element batches { xsd:positiveInteger } |
attribute batches { xsd:positiveInteger }) &
(element particles { xsd:positiveInteger } |
(element particles { xsd:positiveInteger } |
attribute particles { xsd:positiveInteger })
}
) &
@ -27,17 +27,19 @@ element settings {
(element weight_avg { xsd:double } | attribute weight_avg { xsd:double })?
}? &
element energy_grid { ( "nuclide" | "union" | "lethargy" ) }? &
element energy_grid { ( "nuclide" | "log" | "logarithm" | "logarithmic" ) }? &
element entropy {
(element dimension { list { xsd:int+ } } |
(element dimension { list { xsd:int+ } } |
attribute dimension { list { xsd:int+ } })? &
(element lower_left { list { xsd:double+ } } |
(element lower_left { list { xsd:double+ } } |
attribute lower_left { list { xsd:double+ } }) &
(element upper_right { list { xsd:double+ } } |
(element upper_right { list { xsd:double+ } } |
attribute upper_right { list { xsd:double+ } })
}? &
element log_grid_bins { xsd:positiveInteger }? &
element natural_elements { xsd:string { maxLength = "20" } }? &
element no_reduce { xsd:boolean }? &
@ -93,7 +95,7 @@ element settings {
(
(element batches { list { xsd:positiveInteger+ } } |
attribute batches { list { xsd:positiveInteger+ } }) |
(element interval { xsd:positiveInteger } |
(element interval { xsd:positiveInteger } |
attribute interval { xsd:positiveInteger })
)
}? &
@ -102,12 +104,12 @@ element settings {
(
(element batches { list { xsd:positiveInteger+ } } |
attribute batches { list { xsd:positiveInteger+ } }) |
(element interval { xsd:positiveInteger } |
(element interval { xsd:positiveInteger } |
attribute interval { xsd:positiveInteger })
)? &
(element separate { xsd:boolean } |
(element separate { xsd:boolean } |
attribute separate { xsd:boolean })? &
(element write { xsd:boolean } |
(element write { xsd:boolean } |
attribute write { xsd:boolean })? &
(element overwrite_latest { xsd:boolean} |
attribute overwrite_latest {xsd:boolean})?
@ -124,11 +126,11 @@ element settings {
element verbosity { xsd:positiveInteger }? &
element uniform_fs{
(element dimension { list { xsd:positiveInteger+ } } |
(element dimension { list { xsd:positiveInteger+ } } |
attribute dimension { list { xsd:positiveInteger+ } }) &
(element lower_left { list { xsd:double+ } } |
(element lower_left { list { xsd:double+ } } |
attribute lower_left { list { xsd:double+ } }) &
(element upper_right { list { xsd:double+ } } |
(element upper_right { list { xsd:double+ } } |
attribute upper_right { list { xsd:double+ } })
}? &

View file

@ -7,6 +7,7 @@ module solver_interface
#ifdef PETSC
use petscksp
use petscsnes
# include <petscversion.h>
#endif
implicit none
@ -67,6 +68,11 @@ module solver_interface
#ifdef PETSC
integer :: petsc_err ! petsc error code
! Checks for PETSc version to handle 3.5 changes
# if (PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR > 4)
# define PETSC_GREATER_34
# endif
#endif
contains
@ -85,8 +91,13 @@ contains
real(8) :: atol = 1.0e-10_8
call KSPCreate(PETSC_COMM_WORLD, self % ksp_, petsc_err)
#ifdef PETSC_GREATER_34
call KSPSetTolerances(self % ksp_, rtol, atol, &
PETSC_DEFAULT_REAL, PETSC_DEFAULT_INTEGER, petsc_err)
#else
call KSPSetTolerances(self % ksp_, rtol, atol, &
PETSC_DEFAULT_DOUBLE_PRECISION, PETSC_DEFAULT_INTEGER, petsc_err)
#endif
call KSPSetType(self % ksp_, 'gmres', petsc_err)
call KSPSetInitialGuessNonzero(self % ksp_, PETSC_TRUE, petsc_err)
call KSPGetPC(self % ksp_, self % pc_, petsc_err)
@ -105,8 +116,13 @@ contains
type(Matrix), intent(inout) :: prec_mat ! preconditioner matrix
type(Matrix), intent(inout) :: mat_in ! coefficient matrix
#ifdef PETSC_GREATER_34
call KSPSetOperators(self % ksp_, mat_in % petsc_mat, prec_mat % petsc_mat, &
petsc_err)
#else
call KSPSetOperators(self % ksp_, mat_in % petsc_mat, prec_mat % petsc_mat, &
SAME_NONZERO_PATTERN, petsc_err)
#endif
call KSPSetUp(self % ksp_, petsc_err)
end subroutine petsc_gmres_set_oper
@ -259,17 +275,25 @@ contains
! PETSC_JFNK_COMPUTE_JACOBIAN buffer routine to user specified jacobian routine
!===============================================================================
#ifdef PETSC_GREATER_34
subroutine petsc_jfnk_compute_jacobian(snes_, x, jac_mf, jac_prec, &
ctx, ierr)
#else
subroutine petsc_jfnk_compute_jacobian(snes_, x, jac_mf, jac_prec, flag, &
ctx, ierr)
#endif
type(snes), intent(inout) :: snes_ ! PETSc snes instance
type(vec), intent(inout) :: x ! PETSc solution vector
type(mat), intent(inout) :: jac_mf ! PETSc matrix free jacobian
type(mat), intent(inout) :: jac_prec ! PETSc matrix jacobian precond.
integer, intent(inout) :: flag ! unused madatory flag
type(Jfnk_ctx), intent(inout) :: ctx ! JFNK context instance
integer, intent(inout) :: ierr ! error code
#ifndef PETSC_GREATER_34
integer, intent(inout) :: flag ! unused madatory flag
#endif
type(Vector) :: xvec ! solution vector
! Again, we use the vector that comes from Petsc to build the Jacobian

View file

@ -211,6 +211,9 @@ contains
case (SRC_ENERGY_MONO)
! Monoenergtic source
site % E = external_source % params_energy(1)
if (site % E >= 20) then
call fatal_error("Source energies above 20 MeV not allowed.")
end if
case (SRC_ENERGY_MAXWELL)
a = external_source % params_energy(1)

View file

@ -50,6 +50,10 @@ contains
type(ElemKeyValueII), pointer :: next => null()
type(ElemKeyValueCI), pointer :: cur_nuclide => null()
type(ElemKeyValueCI), pointer :: next_nuclide => null()
character(8) :: moment_name ! name of moment (e.g, P3)
integer :: n_order ! loop index for moment orders
integer :: nm_order ! loop index for Ynm moment orders
! Set filename for state point
filename = trim(path_output) // 'statepoint.' // &
& zero_padded(current_batch, count_digits(n_batches))
@ -292,9 +296,44 @@ contains
call sp % write_data(tally % score_bins, "score_bins", &
group="tallies/tally " // trim(to_str(tally % id)), &
length=tally % n_score_bins)
call sp % write_data(tally % moment_order, "moment_order", &
group="tallies/tally " // trim(to_str(tally % id)), &
length=tally % n_score_bins)
call sp % write_data(tally % n_user_score_bins, "n_user_score_bins", &
group="tallies/tally " // to_str(i))
! Write explicit moment order strings for each score bin
k = 1
MOMENT_LOOP: do j = 1, tally % n_user_score_bins
select case(tally % score_bins(k))
case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N)
moment_name = 'P' // to_str(tally % moment_order(k))
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN)
do n_order = 0, tally % moment_order(k)
moment_name = 'P' // trim(to_str(n_order))
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
end do
case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, &
SCORE_TOTAL_YN)
do n_order = 0, tally % moment_order(k)
do nm_order = -n_order, n_order
moment_name = 'Y' // trim(to_str(n_order)) // ',' // &
trim(to_str(nm_order))
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
end do
end do
case default
moment_name = ''
call sp % write_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
end select
end do MOMENT_LOOP
end do TALLY_METADATA
@ -625,6 +664,9 @@ contains
real(8), allocatable :: temp_real_array(:)
type(StructuredMesh), pointer :: mesh => null()
type(TallyObject), pointer :: tally => null()
integer :: n_order ! loop index for moment orders
integer :: nm_order ! loop index for Ynm moment orders
character(8) :: moment_name ! name of moment (e.g, P3, Y-1,1)
! Write message
call write_message("Loading state point " // trim(path_state_point) &
@ -839,17 +881,46 @@ contains
tally % nuclide_bins(j) = temp_array(j)
end if
end do NUCLIDE_LOOP
deallocate(temp_array)
! Write number of score bins, score bins, user score bins
call sp % read_data(tally % n_score_bins, "n_score_bins", &
group="tallies/tally " // trim(to_str(curr_key)))
group="tallies/tally " // to_str(i))
call sp % read_data(tally % score_bins, "score_bins", &
group="tallies/tally " // trim(to_str(curr_key)), &
length=tally % n_score_bins)
call sp % read_data(tally % moment_order, "moment_order", &
group="tallies/tally " // trim(to_str(curr_key)), &
length=tally % n_score_bins)
group="tallies/tally " // to_str(i), length=tally % n_score_bins)
call sp % read_data(tally % n_user_score_bins, "n_user_score_bins", &
group="tallies/tally " // to_str(i))
! Read explicit moment order strings for each score bin
k = 1
MOMENT_LOOP: do j = 1, tally % n_user_score_bins
select case(tally % score_bins(k))
case (SCORE_SCATTER_N, SCORE_NU_SCATTER_N)
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
case (SCORE_SCATTER_PN, SCORE_NU_SCATTER_PN)
do n_order = 0, tally % moment_order(k)
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
end do
case (SCORE_SCATTER_YN, SCORE_NU_SCATTER_YN, SCORE_FLUX_YN, &
SCORE_TOTAL_YN)
do n_order = 0, tally % moment_order(k)
do nm_order = -n_order, n_order
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
end do
end do
case default
call sp % read_data(moment_name, "order" // trim(to_str(k)), &
group="tallies/tally " // trim(to_str(i)) // "/moments")
k = k + 1
end select
end do MOMENT_LOOP
end do TALLY_METADATA

View file

@ -148,7 +148,7 @@ contains
end function concatenate
!===============================================================================
! LOWER_CASE converts a string to all lower case characters
! TO_LOWER converts a string to all lower case characters
!===============================================================================
elemental function to_lower(word) result(word_lower)
@ -171,7 +171,7 @@ contains
end function to_lower
!===============================================================================
! UPPER_CASE converts a string to all upper case characters
! TO_UPPER converts a string to all upper case characters
!===============================================================================
elemental function to_upper(word) result(word_upper)

View file

@ -1837,8 +1837,10 @@ contains
p % coord % universe, i_tally)
case (FILTER_MATERIAL)
matching_bins(i) = get_next_bin(FILTER_MATERIAL, &
p % material, i_tally)
if (p % material /= MATERIAL_VOID) then
matching_bins(i) = get_next_bin(FILTER_MATERIAL, &
p % material, i_tally)
endif
case (FILTER_CELL)
! determine next cell bin

View file

@ -374,21 +374,34 @@ class StatePoint(object):
scores = [SCORE_TYPES[j] for j in self._get_int(
n_score_bins, path='{0}{1}/score_bins'.format(base, tally_key))]
n_user_scores = self._get_int(
path='{0}{1}/n_user_score_bins'.format(base, tally_key))[0]
# Read the scattering moment order for all scores
scatt_order = self._get_int(
n_score_bins, path='{0}{1}/moment_order'.format(base, tally_key))
# Read scattering moment order strings (e.g., P3, Y-1,2, etc.)
moments = list()
base += '{0}/moments/'.format(tally_key)
# Extract the moment order string for each score
for k in range(len(scores)):
moment = self._get_string(8,
path='{0}order{1}'.format(base, k+1))
moment = moment.lstrip('[\'')
moment = moment.rstrip('\']')
# Remove extra whitespace
moment.replace(" ", "")
moments.append(moment)
# Add the scores to the Tally
for j, score in enumerate(scores):
# If this is a scattering moment, insert the scattering order
if '-n' in score:
score = score.replace('-n', '-' + str(scatt_order[j]))
score = score.replace('-n', '-' + str(moments[j]))
elif '-pn' in score:
score = score.replace('-pn', '-p' + str(scatt_order[j]))
score = score.replace('-pn', '-' + str(moments[j]))
elif '-yn' in score:
score = score.replace('-yn', '-y' + str(scatt_order[j]))
score = score.replace('-yn', '-' + str(moments[j]))
tally.add_score(score)

View file

@ -353,7 +353,7 @@ class Summary(object):
width = self._f['geometry/lattices'][key]['width'][...]
dimension = self._f['geometry/lattices'][key]['dimension'][...]
lower_left = self._f['geometry/lattices'][key]['lower_left'][...]
outside = self._f['geometry/lattices'][key]['outside'][0]
outer = self._f['geometry/lattices'][key]['outer'][0]
universe_ids = self._f['geometry/lattices'][key]['universes'][...]
universe_ids = np.swapaxes(universe_ids, 0, 1)
@ -381,9 +381,9 @@ class Summary(object):
universes = universes[:,::-1,:]
lattice.set_universes(universes)
# If the Material specified outside the Lattice is not void (-1)
if outside != -1:
lattice.set_outside(self.materials[outside])
# If the Universe specified outer the Lattice is not void (-22)
if outer != -22:
lattice.set_outer(self.universes[outer])
# Add the Lattice to the global dictionary of all Lattices
self.lattices[index] = lattice

View file

@ -699,24 +699,6 @@ class Tally(object):
'string'.format(score, self._id)
raise ValueError(msg)
elif 'scatter-' in score:
moment = score.split('-')[-1]
if 'p' in moment.lower() or 'y' in moment.lower():
moment = moment[1:]
if int(moment) < 0 or int(moment) > 10:
msg = 'Unable to add score {0} to Tally ID={1} since OpenMC ' \
'can only tally the scattering moments between 0 and ' \
'10'.format(score, self._id)
raise ValueError(msg)
elif not score in SCORE_TYPES.values():
msg = 'Unable to add score {0} to Tally ID={1} since it is not a ' \
'supported score in OpenMC'.format(score, self._id)
raise ValueError(msg)
# If the score is already in the Tally, don't add it again
if score in self._scores:
return
@ -1250,4 +1232,4 @@ class TalliesFile(object):
# Write the XML Tree to the tallies.xml file
tree = ET.ElementTree(self._tallies_file)
tree.write("tallies.xml", xml_declaration=True,
encoding='utf-8', method="xml")
encoding='utf-8', method="xml")

View file

@ -570,7 +570,7 @@ class Lattice(object):
self._dimension = None
self._lower_left = None
self._width = None
self._outside = None
self._outer = None
self._universes = None
self._offsets = None
@ -714,14 +714,14 @@ class Lattice(object):
self._width = width
def set_outside(self, outside):
def set_outer(self, outer):
if not isinstance(outside, (Universe, openmc.Material)):
msg = 'Unable to set Lattice ID={0} outside universe to {1} ' \
'since it is not a Universe object'.format(self._id, outside)
if not isinstance(outer, Universe):
msg = 'Unable to set Lattice ID={0} outer universe to {1} ' \
'since it is not a Universe object'.format(self._id, outer)
raise ValueError(msg)
self._outside = outside
self._outer = outer
def set_universes(self, universes):
@ -833,12 +833,12 @@ class Lattice(object):
self._lower_left)
string += '{0: <16}{1}{2}\n'.format('\tWidth', '=\t', self._width)
if self._outside is not None:
string += '{0: <16}{1}{2}\n'.format('\tOutside', '=\t',
self._outside._id)
if self._outer is not None:
string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t',
self._outer._id)
else:
string += '{0: <16}{1}{2}\n'.format('\tOutside', '=\t',
self._outside)
string += '{0: <16}{1}{2}\n'.format('\tOuter', '=\t',
self._outer)
string += '{0: <16}\n'.format('\tUniverses')
@ -916,10 +916,10 @@ class Lattice(object):
width.text = '{0} {1}'.format(self._width[0], \
self._width[1])
# Export the Lattice outside Universe (if specified)
if self._outside is not None:
outside = ET.SubElement(lattice_subelement, "outside")
outside.text = '{0}'.format(self._outside._id)
# Export the Lattice outer Universe (if specified)
if self._outer is not None:
outer = ET.SubElement(lattice_subelement, "outer")
outer.text = '{0}'.format(self._outer._id)
# Export the Lattice nested Universe IDs - column major for Fortran
universe_ids = '\n'

232
src/utils/update_inputs.py Executable file
View file

@ -0,0 +1,232 @@
#!/usr/bin/env python
"""Update OpenMC's input XML files to the latest format.
Usage information can be obtained by running 'update_inputs.py --help':
usage: update_lattices.py [-h] IN [IN ...]
Update lattices in geometry.xml files to the latest format. This will remove
'outside' attributes/elements and replace them with 'outer' attributes. Note
that this script will not delete the given files; it will append '.original'
to the given files and write new ones.
positional arguments:
IN Input geometry.xml file(s).
optional arguments:
-h, --help show this help message and exit
"""
from __future__ import print_function
import argparse
from random import randint
from shutil import move
import xml.etree.ElementTree as ET
description = "Update OpenMC's input XML files to the latest format."
epilog = """\
If any of the given files do not match the most up-to-date formatting, then they
will be automatically rewritten. The old out-of-date files will not be deleted;
they will be moved to a new file with '.original' appended to their name.
Formatting changes that will be made:
geometry.xml: Lattices containing 'outside' attributes/tags will be replaced
with lattices containing 'outer' attributes, and the appropriate
cells/universes will be added.
"""
def parse_args():
"""Read the input files from the commandline."""
# Create argument parser.
parser = argparse.ArgumentParser(
description=description,
epilog=epilog,
formatter_class=argparse.RawTextHelpFormatter)
parser.add_argument('input', metavar='IN', type=str, nargs='+',
help='Input geometry.xml file(s).')
# Parse and return commandline arguments.
return parser.parse_args()
def get_universe_ids(geometry_root):
"""Return a set of universe id numbers."""
root = geometry_root
out = {0}
# Get the ids of universes defined by cells.
for cell in root.iter('cell'):
# Get universe attributes.
if 'universe' in cell.attrib:
uid = cell.attrib['universe']
out.add(int(uid))
# Get universe elements.
elif cell.find('universe') is not None:
elem = cell.find('universe')
uid = elem.text
out.add(int(uid))
# Get the ids of universes defined by lattices.
for lat in root.iter('lattice'):
# Get id attributes.
if 'id' in lat.attrib:
uid = lat.attrib['id']
out.add(int(uid))
# Get id elements.
elif lat.find('id') is not None:
elem = lat.find('id')
uid = elem.text
out.add(int(uid))
return out
def get_cell_ids(geometry_root):
"""Return a set of cell id numbers."""
root = geometry_root
out = set()
# Get the ids of universes defined by cells.
for cell in root.iter('cell'):
# Get id attributes.
if 'id' in cell.attrib:
cid = cell.attrib['id']
out.add(int(cid))
# Get id elements.
elif cell.find('id') is not None:
elem = cell.find('id')
cid = elem.text
out.add(int(cid))
return out
def find_new_id(current_ids, preferred=None):
"""Return a new id that is not already present in current_ids."""
distance_from_preferred = 21
max_random_attempts = 10000
# First, try to find an id near the preferred number.
if preferred is not None:
assert isinstance(preferred, int)
for i in range(1, distance_from_preferred):
if (preferred - i not in current_ids) and (preferred - i > 0):
return preferred - i
if (preferred + i not in current_ids) and (preferred + i > 0):
return preferred + i
# If that was unsuccessful, attempt to randomly guess a new id number.
for i in range(max_random_attempts):
num = randint(1, 2147483647)
if num not in current_inds:
return num
# Raise an error if an id was not found.
raise RuntimeError('Could not find a unique id number for a new universe.')
def get_lat_id(lattice_element):
"""Return the id integer of the lattice_element."""
assert isinstance(lattice_element, ET.Element)
if 'id' in lattice_element.attrib:
return int(lattice_element.attrib['id'].strip())
elif any([child.tag == 'id' for child in lattice_element]):
elem = lattice_element.find('id')
return int(elem.text.strip())
else:
raise RuntimeError('Could not find the id for a lattice.')
def pop_lat_outside(lattice_element):
"""Return lattice's outside material and remove from attributes/elements."""
assert isinstance(lattice_element, ET.Element)
# Check attributes.
if 'outside' in lattice_element.attrib:
material = lattice_element.attrib['outside'].strip()
del lattice_element.attrib['outside']
# Check subelements.
elif any([child.tag == 'outside' for child in lattice_element]):
elem = lattice_element.find('outside')
material = elem.text.strip()
lattice_element.remove(elem)
# No 'outside' specified. This means the outside is a void.
else:
material = 'void'
return material
def update_geometry(geometry_root):
"""Update the given XML geometry tree. Return True if changes were made."""
root = geometry_root
was_updated = False
# Ignore files that do not contain lattices.
if all([child.tag != 'lattice' for child in root]): return False
# Get a set of already-used universe and cell ids.
uids = get_universe_ids(root)
cids = get_cell_ids(root)
taken_ids = uids.union(cids)
# Update the definitions of each lattice
for lat in root.iter('lattice'):
# Get the lattice's id.
lat_id = get_lat_id(lat)
# Ignore lattices that have 'outer' specified.
if any([child.tag == 'outer' for child in lat]): continue
# Pop the 'outside' material.
material = pop_lat_outside(lat)
# Get an id number for a new outer universe. Ideally, the id should
# be close to the lattice's id.
new_uid = find_new_id(taken_ids, preferred=lat_id)
assert new_uid not in taken_ids
# Add the new universe filled with the old 'outside' material to the
# geometry.
new_cell = ET.Element('cell')
new_cell.attrib['id'] = str(new_uid)
new_cell.attrib['universe'] = str(new_uid)
new_cell.attrib['material'] = material
root.append(new_cell)
taken_ids.add(new_uid)
# Add the new universe to the lattice's 'outer' attribute.
lat.attrib['outer'] = str(new_uid)
was_updated = True
return was_updated
if __name__ == '__main__':
args = parse_args()
for fname in args.input:
# Parse the XML data.
tree = ET.parse(fname)
root = tree.getroot()
was_updated = False
if root.tag == 'geometry':
was_updated = update_geometry(root)
if was_updated:
# Move the original geometry file to preserve it.
move(fname, fname + '.original')
# Write a new geometry file.
tree.write(fname)

View file

@ -42,10 +42,10 @@ parser.add_option("-s", "--script", action="store_true", dest="script",
# Default compiler paths
FC='gfortran'
MPI_DIR='/opt/mpich/3.1-gnu'
HDF5_DIR='/opt/hdf5/1.8.12-gnu'
PHDF5_DIR='/opt/phdf5/1.8.12-gnu'
PETSC_DIR='/opt/petsc/3.4.4-gnu'
MPI_DIR='/opt/mpich/3.1.3-gnu'
HDF5_DIR='/opt/hdf5/1.8.14-gnu'
PHDF5_DIR='/opt/phdf5/1.8.14-gnu'
PETSC_DIR='/opt/petsc/3.5.2-gnu'
# Script mode for extra capability
script_mode = False

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
0.000000E+00
0.000000E+00
1.161117E+01
2.754585E+01
2.434414E+00
1.211549E+00
3.447929E+01
2.424749E+02
1.517577E+01
4.747271E+01
3.151504E+00
2.051857E+00
4.536316E+01
4.258781E+02

View file

@ -1,10 +1,10 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
0.000000E+00
0.000000E+00
5.474596E+01
6.113816E+02
7.449502E+01
1.145793E+03
0.000000E+00
0.000000E+00
0.000000E+00

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
2.878078E+01
1.706092E+02
4.244509E+01
3.618897E+02
5.296331E+01
5.632082E+02
9.415257E+00
1.798132E+01
2.687671E+01
1.475192E+02
4.148025E+01
3.443331E+02
5.223662E+01
5.466362E+02
1.050254E+01
2.218108E+01

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
2.904000E+01
1.735606E+02
4.173000E+01
3.504547E+02
5.212000E+01
5.450908E+02
6.720000E+00
9.287600E+00
2.740000E+01
1.516786E+02
4.163000E+01
3.469463E+02
5.041000E+01
5.097599E+02
6.990000E+00
9.850700E+00

View file

@ -1,54 +1,54 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
2.648000E+01
1.448192E+02
2.470000E+01
1.233286E+02
0.000000E+00
0.000000E+00
9.000000E-02
1.900000E-03
7.000000E-02
2.100000E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.020187E-01
1.712909E-01
8.590851E-01
1.552999E-01
0.000000E+00
0.000000E+00
2.051950E+00
8.758994E-01
2.560000E+00
1.319200E+00
2.474615E+00
1.227479E+00
2.700000E+00
1.469800E+00
0.000000E+00
0.000000E+00
3.715000E+01
2.781331E+02
3.712000E+01
2.758636E+02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.941213E-01
3.907469E-02
3.370712E-01
2.596756E-02
0.000000E+00
0.000000E+00
9.325143E-01
1.909208E-01
9.771334E-01
1.963983E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
4.490000E+00
4.033900E+00
4.440000E+00
3.947400E+00
0.000000E+00
0.000000E+00
4.876000E+01
4.772882E+02
1.843825E-02
1.699875E-04
4.688000E+01
4.409726E+02
2.867366E-02
2.783031E-04
0.000000E+00
0.000000E+00
2.991608E-02
5.124778E-04
1.080794E-01
2.580055E-03
0.000000E+00
0.000000E+00
0.000000E+00
@ -57,11 +57,11 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
3.360000E+00
2.261200E+00
9.440731E-02
2.296476E-03
6.720000E+00
9.287600E+00
2.970043E-01
1.889985E-02
3.530000E+00
2.494900E+00
1.572766E-01
5.137814E-03
6.990000E+00
9.850700E+00
3.134136E-01
2.138680E-02

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
2.808405E+01
1.583153E+02
6.600217E+00
8.758087E+00
4.213245E+01
3.587283E+02
5.251451E+01
5.539717E+02
2.819256E+01
1.591068E+02
6.599750E+00
8.721650E+00
5.383171E+01
5.950793E+02
4.140672E+01
3.649396E+02

View file

@ -1,5 +1,5 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
0.000000E+00
0.000000E+00
@ -21,12 +21,6 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
1.417913E-01
2.010478E-02
2.168719E-02
4.703344E-04
1.399852E+00
1.959586E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -51,16 +45,10 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
8.751430E-01
7.658753E-01
0.000000E+00
0.000000E+00
1.438468E-01
1.138366E-02
3.162720E-01
6.420661E-02
1.710523E+00
1.682331E+00
3.923774E-01
6.087295E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -81,164 +69,180 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
1.708563E-01
2.919187E-02
1.388161E-01
1.926991E-02
0.000000E+00
0.000000E+00
1.324266E+00
5.981448E-01
1.008629E-01
6.731023E-03
4.725861E+00
4.962196E+00
2.042363E+00
1.092263E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.287286E-01
1.657106E-02
7.512292E-01
1.499955E-01
2.231206E+00
1.531548E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.713205E-04
1.378789E-07
3.186752E-01
5.483722E-02
0.000000E+00
0.000000E+00
4.637625E-02
2.150756E-03
1.687655E+00
6.832951E-01
2.451894E-01
2.214000E-02
1.498618E-01
1.124434E-02
0.000000E+00
0.000000E+00
5.355362E-01
1.442388E-01
7.324331E-01
2.426478E-01
2.040050E+00
1.233027E+00
8.712245E-01
2.534733E-01
3.505737E-02
1.229019E-03
0.000000E+00
0.000000E+00
7.941247E-02
6.306340E-03
6.074316E-01
3.689732E-01
0.000000E+00
0.000000E+00
1.613693E-01
1.460990E-02
5.254224E-01
1.746672E-01
1.107420E-01
1.226378E-02
1.440926E-01
2.076267E-02
2.774732E+00
1.660807E+00
1.035906E+00
2.563590E-01
4.244543E-01
1.801614E-01
2.103133E-01
2.358852E-02
5.153105E-01
1.020076E-01
3.713213E-01
8.620622E-02
1.469046E-01
2.158097E-02
2.680856E-03
7.186991E-06
0.000000E+00
0.000000E+00
3.148988E-01
9.916126E-02
1.889186E-01
3.569025E-02
1.235985E-01
1.527658E-02
6.855163E-02
4.699326E-03
6.967594E-02
4.854737E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.671843E-02
9.354455E-03
7.643045E-02
5.841613E-03
2.116080E+00
2.875369E+00
9.012169E+00
1.654103E+01
4.416145E+00
5.494563E+00
1.036873E+00
4.491814E-01
5.830242E-01
2.128962E-01
1.235039E-01
1.383081E-02
1.833045E-01
3.360053E-02
9.993440E-02
9.986884E-03
1.978123E-01
3.912972E-02
8.758664E-02
7.671419E-03
4.204632E-01
7.722514E-02
2.486465E+00
1.923132E+00
1.697091E-01
1.631523E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.705717E-02
2.909470E-04
6.688659E-02
4.473816E-03
6.488848E-01
4.210515E-01
6.885295E-02
4.740728E-03
0.000000E+00
0.000000E+00
6.175782E-01
2.022672E-01
1.204200E-02
8.137904E-05
2.136417E-01
1.678274E-02
2.932366E-01
4.285227E-02
6.387464E-01
1.526040E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.062751E+00
3.899247E-01
1.264401E+00
5.654864E-01
1.615537E+00
5.605431E-01
4.267750E-01
1.013728E-01
2.024264E+00
9.373843E-01
1.122195E-01
7.011342E-03
8.223839E-01
2.170405E-01
1.239203E+00
4.165595E-01
1.169828E+00
4.406334E-01
1.373464E+00
6.398480E-01
2.824398E+00
2.991665E+00
6.158518E-01
1.951901E-01
7.188149E-01
1.091668E-01
7.595527E-01
2.108412E-01
5.784902E-01
1.362812E-01
7.167515E-01
3.225769E-01
2.081496E-02
4.332627E-04
9.212853E-01
2.277306E-01
1.266470E+00
6.777774E-01
3.761862E-01
8.452912E-02
1.350273E-02
1.823238E-04
3.348203E-01
6.603737E-02
2.382593E-01
2.884302E-02
1.548117E+00
7.256982E-01
9.635803E-01
4.452538E-01
1.030188E+00
3.496685E-01
7.053043E-01
2.814424E-01
1.260458E-01
8.365754E-03
1.484515E+00
7.183840E-01
1.887042E+00
1.143800E+00
3.798783E+00
4.487065E+00
2.274180E+00
1.991784E+00
1.903719E-01
3.237886E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.728411E-01
1.190218E-02
9.250054E-02
4.341922E-03
6.353807E-02
4.037086E-03
1.811729E-01
1.711154E-02
3.218800E-01
7.906855E-02
9.721141E-01
3.463278E-01
8.364857E-01
2.612988E-01
6.317454E-01
1.837078E-01
2.134394E-01
1.710045E-02
3.743814E-02
1.401614E-03
1.314651E+00
7.700853E-01
7.389940E-01
2.322340E-01
6.147456E-01
1.001719E-01
3.157573E+00
2.794673E+00
6.671644E-01
1.996570E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.926273E-01
7.732884E-02
4.918094E+00
5.173895E+00
5.092742E+00
6.494641E+00
4.788739E-01
8.475443E-02
5.223391E-01
1.364354E-01
6.150765E-02
3.783190E-03
2.980054E+00
3.273962E+00
3.218912E-01
8.869874E-02
2.123532E-01
4.509386E-02
7.605107E-02
5.783765E-03
3.599367E-01
8.567079E-02
5.613154E-01
1.118151E-01
2.770958E-02
4.020649E-04
0.000000E+00
0.000000E+00
0.000000E+00
@ -247,30 +251,28 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
3.808381E-01
6.642624E-02
2.639442E+00
2.624559E+00
4.220180E+00
4.675608E+00
1.084969E+00
5.438224E-01
8.757958E-02
7.670183E-03
0.000000E+00
0.000000E+00
3.018836E-02
9.113370E-04
1.164481E+00
4.778487E-01
2.273856E+00
1.863555E+00
1.472518E-01
2.168310E-02
1.108371E+00
4.146745E-01
2.072415E+00
1.156365E+00
1.294408E+00
4.558438E-01
9.451595E-01
2.560533E-01
2.255990E+00
1.237092E+00
9.318430E-01
2.664794E-01
5.320317E-01
2.267827E-01
9.971891E-01
5.070903E-01
7.088786E-02
5.025089E-03
3.601108E-02
1.296798E-03
3.683352E+00
3.243246E+00
3.708141E+00
3.629996E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -279,34 +281,32 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
1.151241E-01
1.325357E-02
1.568572E+00
8.110144E-01
7.745896E-01
1.601657E-01
2.670322E-01
3.991483E-02
2.455989E-02
6.031883E-04
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.178621E-01
1.344704E-01
6.212228E-01
1.366091E-01
1.688493E+00
1.509896E+00
2.219872E+00
1.350327E+00
1.203627E-01
7.314197E-03
0.000000E+00
0.000000E+00
1.238471E-01
1.533812E-02
2.580606E+00
1.878196E+00
2.843921E+00
1.997749E+00
1.145124E+00
4.571704E-01
1.135664E+00
4.319757E-01
8.875810E-02
7.878000E-03
7.494206E-02
5.616313E-03
1.007353E+00
3.619658E-01
1.649444E+00
7.918743E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -315,10 +315,6 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
2.068591E+00
9.612768E-01
5.520399E-01
1.538124E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -327,136 +323,206 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
1.454799E-01
1.185625E-02
1.822512E-01
3.321550E-02
2.446779E-01
5.986726E-02
1.575078E+00
1.175211E+00
1.610606E+00
5.961695E-01
3.385564E-01
5.424872E-02
4.672659E-02
2.183374E-03
6.286351E-01
1.805028E-01
1.595058E+00
6.351621E-01
1.568755E+00
6.468874E-01
2.301331E+00
1.845232E+00
4.577930E-01
1.589685E-01
2.897077E-01
8.393057E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.772980E-01
3.143459E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.725513E-01
2.289677E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
4.783335E-02
2.288029E-03
8.744336E-01
2.611835E-01
1.754522E+00
1.459573E+00
3.549403E-01
6.365363E-02
1.843261E+00
9.517219E-01
1.009556E+00
4.611770E-01
1.540221E+00
7.611324E-01
8.030427E-01
2.255596E-01
1.004973E+00
6.046910E-01
1.664911E-01
2.771927E-02
0.000000E+00
0.000000E+00
7.198039E-02
5.181176E-03
4.289725E-01
7.179475E-02
8.804362E-03
7.056775E-05
7.794381E-01
2.459786E-01
1.987246E+00
1.009248E+00
1.375717E+00
7.259013E-01
2.499521E-01
6.247603E-02
1.402752E-01
1.967713E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.244277E-01
1.548225E-02
1.222119E-01
1.493575E-02
0.000000E+00
0.000000E+00
5.470039E-01
2.992133E-01
4.902613E-01
1.163360E-01
1.088037E+00
6.007745E-01
1.013469E+00
5.646900E-01
5.529904E-01
2.308161E-01
3.523818E-01
1.241729E-01
2.031343E-01
4.126355E-02
2.664927E+00
2.323850E+00
2.601166E+00
1.593528E+00
1.726764E+00
6.491827E-01
7.083106E-02
3.090181E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.970738E-01
5.368570E-02
5.176523E-01
2.679639E-01
0.000000E+00
0.000000E+00
2.213571E-01
2.455759E-02
1.471329E+00
7.001977E-01
6.348345E-01
1.603344E-01
0.000000E+00
0.000000E+00
6.590256E-01
2.237250E-01
2.019241E-01
1.407567E-02
2.295259E+00
1.760109E+00
2.183186E+00
1.599258E+00
2.665225E+00
1.591076E+00
1.106658E+00
4.120221E-01
7.240936E-01
1.701659E-01
1.280272E+00
3.624213E-01
9.794833E-01
4.411714E-01
1.269137E-01
1.610709E-02
1.120245E-01
1.254949E-02
0.000000E+00
0.000000E+00
8.072240E-01
2.272369E-01
3.032594E-01
5.076695E-02
7.265258E-01
1.893670E-01
2.902123E-01
3.514713E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.608891E-02
4.586038E-03
1.319691E+00
5.856361E-01
7.752262E-01
3.101466E-01
2.606443E-01
6.793546E-02
3.686503E-01
6.346661E-02
6.935008E-01
1.992259E-01
1.591064E+00
6.804860E-01
2.418186E-01
5.847626E-02
0.000000E+00
0.000000E+00
5.946272E-02
3.535814E-03
3.120645E-02
9.738427E-04
7.515014E-02
5.647544E-03
8.673868E-01
3.013632E-01
2.427216E-01
2.798481E-02
1.499600E-02
2.248801E-04
0.000000E+00
0.000000E+00
5.367869E-01
1.466428E-01
6.807157E-01
4.146022E-01
7.429047E-01
2.878787E-01
5.567110E-01
2.031808E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.344329E-01
1.807221E-02
1.298040E+00
5.453745E-01
1.519155E+00
9.349646E-01
3.338891E+00
2.798488E+00
3.241373E+00
2.703490E+00
3.079687E-01
5.125039E-02
1.649743E+00
9.187008E-01
8.924207E-01
2.872456E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
8.137844E-02
5.984482E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.056616E-01
4.198926E-01
7.349640E-02
5.401721E-03
5.146331E-01
1.555789E-01
2.464783E-01
5.430051E-02
7.263842E-02
5.276340E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.548666E-01
2.398365E-02
0.000000E+00
0.000000E+00
8.400001E-01
3.766524E-01
2.709865E+00
1.701203E+00
2.332406E-01
4.591958E-02
9.579949E-02
9.177542E-03
0.000000E+00
0.000000E+00
0.000000E+00
@ -465,16 +531,16 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
1.185278E+00
4.716836E-01
3.301668E+00
2.432951E+00
2.112369E+00
2.105416E+00
5.118358E-01
8.200109E-02
0.000000E+00
0.000000E+00
9.496519E-02
4.948061E-03
1.596404E-01
2.548506E-02
2.454011E-02
6.022168E-04
1.235276E-01
1.525907E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -483,10 +549,12 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
1.612922E-01
2.601517E-02
0.000000E+00
0.000000E+00
3.366480E-01
8.328374E-02
7.405305E-01
5.483854E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -495,18 +563,6 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
2.735155E-02
7.481075E-04
3.579132E-01
1.062564E-01
7.674637E-02
5.890006E-03
1.154978E+00
3.593281E-01
2.474283E-01
4.682642E-02
3.496190E-02
1.222335E-03
0.000000E+00
0.000000E+00
0.000000E+00
@ -517,62 +573,6 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
3.651499E-01
1.295125E-01
1.848941E-02
3.418583E-04
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.535127E-01
6.274265E-02
1.109963E+00
8.309058E-01
1.827347E-01
3.339196E-02
6.950741E-01
2.635079E-01
1.017855E-01
1.036030E-02
5.199614E-01
2.703599E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
5.641710E-02
3.182889E-03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.402675E-01
1.967496E-02
2.860747E-01
4.364321E-02
1.652492E-01
2.730731E-02
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00

File diff suppressed because it is too large Load diff

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
4.662954E+01
4.438569E+02
5.611503E+00
6.811745E+00
6.239246E+01
7.816240E+02
7.857315E+00
1.264975E+01
6.144371E+01
7.795909E+02
7.330533E+00
1.137816E+01
4.850651E+01
4.933509E+02
5.132453E+00
5.801019E+00

View file

@ -4,12 +4,13 @@
<cell id="12" universe="12" material="2" surfaces=""/>
<lattice id="21" type="rect" dimension="2 2" lower_left="-2.0 -2.0"
width="2.0 2.0" outside="2">
width="2.0 2.0" outer="22">
<universes>
11 12
12 11
</universes>
</lattice>
<cell id="22" universe="22" material="2"/>
<surface id="101" type="z-cylinder" coeffs="0.0 0.0 5.0" boundary="vacuum"/>

View file

@ -1,2 +1,2 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02

View file

@ -10,7 +10,7 @@ import particle_restart as pr
if len(sys.argv) > 1:
p = pr.Particle(sys.argv[1])
else:
p = pr.Particle('particle_12_842.binary')
p = pr.Particle('particle_12_616.binary')
# set up output string
outstr = ''

View file

@ -3,14 +3,14 @@ current batch:
current gen:
1.000000E+00
particle id:
8.420000E+02
6.160000E+02
run mode:
2.000000E+00
particle weight:
1.000000E+00
particle energy:
2.413462E+00
3.545295E-01
particle xyz:
-5.050553E+01 -9.983306E+00 -4.898542E+01
3.516323E+01 -5.400148E+01 -1.588825E+01
particle uvw:
-4.903067E-01 7.971652E-01 -3.523165E-01
4.129799E-01 7.649720E-01 4.942322E-01

View file

@ -4,7 +4,7 @@
<eigenvalue>
<batches>12</batches>
<inactive>5</inactive>
<particles>1000</particles>
<particles>1200</particles>
</eigenvalue>
<source>

View file

@ -24,13 +24,13 @@ def test_run():
assert returncode == 0, 'OpenMC did not exit successfully.'
def test_created_restart():
particle = glob.glob(os.path.join(cwd, 'particle_12_842.*'))
particle = glob.glob(os.path.join(cwd, 'particle_12_616.*'))
assert len(particle) == 1, 'Either multiple or no particle restart files exist.'
assert particle[0].endswith('binary') or \
particle[0].endswith('h5'), 'Particle restart file not a binary or hdf5 file.'
def test_results():
particle = glob.glob(os.path.join(cwd, 'particle_12_842.*'))
particle = glob.glob(os.path.join(cwd, 'particle_12_616.*'))
call(['python', 'results.py', particle[0]])
compare = filecmp.cmp('results_test.dat', 'results_true.dat')
if not compare:
@ -38,10 +38,10 @@ def test_results():
assert compare, 'Results do not agree.'
def test_run_restart():
particle = glob.glob(os.path.join(cwd, 'particle_12_842.*'))
particle = glob.glob(os.path.join(cwd, 'particle_12_616.*'))
proc = Popen([opts.exe, '-r', particle[0], cwd], stderr=STDOUT, stdout=PIPE)
print(proc.communicate()[0])
returncode = proc.returncode
returncode = proc.returncode
assert returncode == 0, 'Particle restart not successful.'
def teardown():

View file

@ -1,2 +1,2 @@
k-combined:
2.247735E+00 1.661365E-02
2.281477E+00 5.206704E-03

View file

@ -4,7 +4,7 @@
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<particles>1000</particles>
</eigenvalue>
<source>

View file

@ -1,5 +1,5 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
0.000000E+00
0.000000E+00
@ -9,27 +9,27 @@ tallies:
0.000000E+00
0.000000E+00
0.000000E+00
1.070347E-03
4.096057E-07
1.070347E-03
4.096057E-07
2.752499E-01
1.572016E-02
9.618633E-01
1.913668E-01
1.492613E-05
2.165664E-10
1.492613E-05
2.165664E-10
2.145916E-02
9.738018E-05
1.424685E-02
4.218285E-05
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.974077E-05
3.852650E-10
5.398592E-02
6.186431E-04
1.107640E-02
4.232516E-05
1.107640E-02
4.232516E-05
3.509526E-01
2.565440E-02
1.171523E+00
2.824070E-01
5.592851E-04
1.423656E-07
5.592851E-04
1.423656E-07
3.027322E-02
1.983924E-04
1.477313E-02
4.495633E-05
8.650696E-08
7.483455E-15
8.650696E-08
7.483455E-15
1.097403E-04
3.424171E-09
6.866942E-02
9.952916E-04

View file

@ -1,20 +1,20 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
0.000000E+00
0.000000E+00
1.757191E+00
6.376509E-01
1.424302E-02
4.216201E-05
2.580900E-01
1.412525E-02
2.267589E+00
1.054691E+00
1.476133E-02
4.485759E-05
3.306896E-01
2.302248E-02
tally 2:
0.000000E+00
0.000000E+00
1.880000E+00
7.122000E-01
1.000000E-02
1.000000E-04
1.800000E-01
8.600000E-03
2.290000E+00
1.070700E+00
0.000000E+00
0.000000E+00
3.800000E-01
3.820000E-02

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
4.363000E+01
3.897351E+02
6.243000E+01
7.832159E+02
5.627000E+01
6.565251E+02
4.892000E+01
5.009100E+02
tally 2:
1.189000E+01
2.882870E+01
1.708000E+01
5.859880E+01
1.458000E+01
4.391620E+01
1.269000E+01
3.363670E+01

View file

@ -1,20 +1,20 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
7.937979E-01
1.314653E-01
1.089685E+00
2.438289E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.004148E+00
2.076648E-01
9.094323E-01
1.773089E-01
tally 2:
7.878553E-01
1.260467E-01
1.081920E+00
2.404883E-01
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.020127E+00
2.123887E-01
9.945760E-01
2.073005E-01

View file

@ -1,15 +1,15 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
2.565436E+01
1.354321E+02
8.779444E+00
1.573694E+01
4.278858E+01
3.719602E+02
3.644585E+01
2.673612E+02
1.237524E+01
3.084236E+01
6.211066E+01
7.757387E+02
3.403102E+01
2.393236E+02
1.143060E+01
2.704386E+01
5.691243E+01
6.685581E+02
2.924945E+01
1.782032E+02
9.965051E+00
2.067319E+01
4.931805E+01
5.050490E+02

View file

@ -1,448 +1,448 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
2.565436E+01
1.354321E+02
8.779444E+00
1.573694E+01
4.278858E+01
3.719602E+02
3.644585E+01
2.673612E+02
1.237524E+01
3.084236E+01
6.211066E+01
7.757387E+02
3.403102E+01
2.393236E+02
1.143060E+01
2.704386E+01
5.691243E+01
6.685581E+02
2.924945E+01
1.782032E+02
9.965051E+00
2.067319E+01
4.931805E+01
5.050490E+02
tally 2:
2.565436E+01
1.354321E+02
-3.983851E-01
2.352953E-01
3.471316E-01
4.392448E-02
-3.396217E-01
4.529087E-01
-6.349347E-02
4.786947E-02
1.407387E-01
4.410418E-02
-2.149642E-01
8.240078E-02
4.165309E-01
4.037366E-02
-7.949820E-03
2.473008E-02
-2.530199E-02
8.071976E-02
-3.405750E-02
4.161238E-02
1.309727E-01
1.035584E-01
8.414417E-02
3.865193E-02
6.569253E-02
8.289078E-03
4.190353E-01
8.555379E-02
8.809002E-02
3.101106E-02
3.088946E-01
4.054212E-02
-4.904428E-02
6.656500E-02
1.158071E-01
7.719872E-02
-3.694710E-01
1.216166E-01
3.406072E-01
7.772395E-02
-1.721510E-01
5.707050E-02
-1.714604E-01
2.363306E-02
2.483700E-01
9.122006E-02
1.176588E-01
1.568762E-01
-7.697799E-02
4.854960E-03
8.679523E-02
3.340298E-02
4.014836E-02
3.871846E-02
3.499517E-01
8.728203E-02
3.360019E-01
3.868722E-02
-1.762859E-01
2.800767E-02
-3.753955E-01
1.281216E-01
1.101324E-02
1.439060E-02
4.302757E-02
4.203102E-02
-1.721812E-01
3.953250E-02
-3.065872E-02
2.025460E-02
8.779444E+00
1.573694E+01
-1.798211E-01
2.458347E-02
2.362185E-02
2.448811E-03
-1.606066E-02
3.365717E-02
4.268850E-02
4.543068E-03
6.714398E-02
2.327392E-02
-1.311847E-01
1.732329E-02
1.532575E-01
1.873014E-02
-7.715779E-02
3.727262E-03
5.292575E-02
8.731882E-03
1.308361E-01
7.041605E-03
1.186946E-01
8.593206E-03
3.295028E-04
6.881516E-03
-2.553462E-02
3.576692E-03
1.530589E-01
8.579020E-03
1.665960E-02
2.561848E-03
9.246622E-02
4.409040E-03
-3.782097E-02
3.787554E-03
8.720419E-02
1.807298E-02
-1.299159E-01
1.352501E-02
-1.089117E-02
2.262800E-03
-6.108770E-02
2.720692E-03
-5.611780E-02
1.606003E-03
1.344965E-01
1.166904E-02
5.196095E-02
1.974433E-02
-1.579519E-02
9.844817E-04
1.102419E-01
3.853387E-03
-2.203574E-02
6.721441E-03
1.423029E-01
1.104110E-02
5.596874E-02
2.795085E-03
2.150304E-02
4.785543E-03
-1.287175E-01
8.882669E-03
-5.634660E-02
3.647770E-03
-3.043014E-02
4.059232E-03
-7.426549E-02
2.865579E-03
1.819877E-02
1.701714E-03
4.278858E+01
3.719602E+02
-2.541558E-01
2.279001E-01
6.537997E-01
1.228433E-01
-3.816795E-01
4.318592E-01
-2.004644E-01
1.576115E-01
-3.122570E-01
3.346575E-01
-2.695065E-01
4.408996E-01
5.344702E-01
3.408992E-01
-6.262460E-01
1.418729E-01
2.291823E-01
2.378662E-01
1.519301E-01
8.662223E-02
8.592168E-01
3.746637E-01
2.371453E-01
5.839801E-02
1.945694E-01
5.218229E-02
6.349297E-01
9.557943E-02
3.032170E-01
9.494002E-02
6.848280E-01
1.795280E-01
1.476399E-01
1.224404E-01
9.399711E-02
2.748021E-01
-2.405486E-01
2.894838E-01
2.042026E-01
8.650213E-02
-2.383868E-01
4.311800E-02
2.703904E-01
4.396366E-02
2.261790E-01
3.123151E-01
3.253923E-01
3.510817E-01
-1.175618E-01
6.287935E-02
1.936788E-02
2.641837E-02
-8.020431E-02
5.963167E-02
4.230121E-01
1.414050E-01
5.524141E-01
7.852851E-02
1.962574E-01
5.237559E-02
-5.111027E-01
1.525051E-01
-1.338910E-01
6.915038E-03
-1.650263E-01
7.374547E-02
-1.075494E-01
7.396636E-02
-1.059769E-02
5.082196E-02
3.644585E+01
2.673612E+02
1.059137E-01
6.438563E-01
-6.444515E-01
3.933836E-01
-3.014651E-01
1.208273E-01
4.494724E-01
3.271917E-01
-7.259828E-01
3.159179E-01
-7.698716E-01
1.351096E-01
1.073317E-01
2.549219E-01
4.983931E-01
1.968239E-01
6.710340E-02
4.032556E-02
1.230587E-01
2.707299E-02
1.802638E-02
1.438295E-01
1.733793E-01
8.074688E-02
6.054436E-01
2.073602E-01
-2.361150E-01
9.962395E-02
3.071225E-01
9.373206E-02
6.285553E-02
4.520492E-02
-9.657643E-02
8.890068E-03
-1.358777E-01
7.818634E-02
-5.482892E-02
1.514759E-01
4.356273E-01
5.751468E-02
-3.332376E-01
9.204332E-02
9.252145E-02
9.082432E-02
3.397106E-01
3.718868E-02
2.383528E-01
1.249998E-01
9.459006E-02
4.743333E-02
2.791472E-01
9.473971E-02
1.840140E-01
3.511500E-02
-2.404274E-01
3.667734E-02
-1.850160E-01
4.090735E-02
-1.803264E-01
4.789725E-02
6.902523E-01
1.271158E-01
-4.675986E-01
1.577835E-01
2.244614E-01
7.193252E-02
5.644513E-01
1.552494E-01
2.668856E-01
2.757139E-02
1.237524E+01
3.084236E+01
-1.935040E-01
7.843981E-02
8.037944E-02
1.991461E-02
-2.158547E-01
3.484402E-02
2.365773E-01
3.715241E-02
-2.103997E-01
3.907253E-02
-3.684070E-01
3.058233E-02
4.225166E-02
2.489744E-02
1.106740E-01
1.150465E-02
8.071884E-02
1.331849E-02
1.368878E-01
8.258591E-03
1.841494E-02
1.603530E-02
1.992888E-01
9.415030E-03
1.959625E-01
1.937942E-02
2.902483E-02
5.299937E-03
1.550789E-01
1.141095E-02
1.022811E-01
8.602456E-03
-1.983934E-02
3.835379E-03
6.859204E-03
1.228605E-02
-1.512138E-02
1.732841E-02
5.532584E-02
8.476059E-03
-3.765033E-02
1.288721E-02
2.227213E-02
6.771923E-03
4.959835E-02
1.747554E-03
8.575813E-02
1.488751E-02
4.531527E-02
1.453556E-02
1.113161E-01
1.181481E-02
1.177319E-02
4.914706E-03
-8.335114E-02
8.413868E-03
-3.477118E-02
3.157253E-03
2.845561E-02
7.131040E-04
2.574512E-01
1.512044E-02
-9.211350E-02
1.008500E-02
9.632849E-02
9.461775E-03
8.498261E-02
1.323683E-02
9.379849E-02
2.730612E-03
6.211066E+01
7.757387E+02
-3.982186E-01
1.935864E+00
-1.141738E+00
8.141766E-01
-8.849778E-01
5.876897E-01
1.242209E+00
8.505593E-01
-5.243340E-01
6.084831E-01
-6.932961E-01
1.173576E-01
1.838190E-01
7.235898E-01
1.822180E-01
1.678650E-01
1.776488E-01
2.065829E-01
2.018694E-01
2.835613E-02
1.981267E-01
2.113291E-01
6.333584E-01
2.911046E-01
9.107098E-01
2.370932E-01
1.388416E-01
1.771215E-01
7.776395E-01
3.472463E-01
2.844808E-01
1.262659E-01
1.075302E-01
5.878152E-02
-9.524430E-02
2.356129E-01
-7.460188E-02
3.658302E-01
9.002646E-01
2.408214E-01
-2.433226E-04
2.947432E-01
2.706141E-01
8.383492E-02
3.187244E-01
1.025882E-01
4.009682E-01
2.985792E-01
1.457769E-01
1.542573E-01
5.192335E-01
2.426336E-01
2.578456E-06
1.741389E-01
-2.945081E-01
5.837518E-02
-2.544008E-01
1.447116E-01
-1.201939E-01
4.780114E-02
9.132771E-01
1.897854E-01
-1.665576E-01
2.160214E-01
3.474656E-01
1.169747E-01
5.253146E-01
1.965759E-01
4.888665E-01
1.030308E-01
3.403102E+01
2.393236E+02
-3.055588E-01
3.594044E-02
3.171128E-01
3.805380E-01
-7.374877E-01
2.391349E-01
-1.621986E-01
5.578051E-02
4.710459E-01
1.850595E-01
-4.839599E-01
2.440735E-01
1.124798E-01
8.640649E-02
-4.976706E-01
8.943606E-02
1.323704E-01
6.713903E-02
-6.954103E-02
7.876989E-02
1.343675E-01
2.569171E-02
-5.205013E-01
7.985579E-02
2.037295E-01
1.501360E-01
-1.290735E-01
5.069422E-02
-2.045060E-01
2.197889E-01
1.307603E-01
5.938649E-02
-3.317004E-01
1.359233E-01
-4.347480E-01
7.528253E-02
7.685982E-02
4.559715E-02
-4.668783E-02
4.065614E-02
1.447872E-01
5.538956E-02
-2.027337E-01
7.095051E-02
-4.673353E-01
1.235371E-01
-3.321732E-01
6.905624E-02
-3.028859E-01
3.382353E-02
-2.320613E-01
2.845905E-02
8.038034E-02
3.466746E-02
1.766484E-01
9.996559E-02
3.385184E-02
5.510769E-02
6.952638E-02
2.741119E-02
3.630715E-01
5.336447E-02
2.876222E-01
9.938256E-02
-3.473240E-02
1.031412E-01
1.280013E-01
2.331384E-02
1.550774E-01
3.881493E-02
1.143060E+01
2.704386E+01
-1.955516E-01
9.789273E-03
4.070150E-02
3.530892E-02
-1.446334E-01
3.374966E-02
-4.072015E-02
1.407320E-02
1.056190E-01
2.144988E-02
-1.491728E-01
1.699068E-02
3.130539E-02
4.945783E-03
-1.706770E-01
6.943395E-03
6.278466E-02
4.522701E-03
-6.491915E-02
1.218265E-02
-6.226375E-02
8.920919E-03
-2.647477E-01
2.028918E-02
-9.179913E-03
1.186941E-02
-8.959288E-02
9.826050E-03
-4.800079E-02
3.500548E-02
9.919028E-02
1.278789E-02
-1.274511E-01
9.357942E-03
-9.037073E-02
4.686665E-03
-7.895199E-03
8.526809E-03
-2.071828E-02
5.844892E-03
-1.422877E-02
2.008170E-03
-7.787500E-02
9.642363E-03
-6.105504E-02
7.600775E-03
-1.249117E-01
1.314509E-02
-9.183605E-02
7.513215E-03
-9.171222E-02
4.220465E-03
8.798390E-02
5.037482E-03
4.366496E-02
8.411743E-03
1.605678E-02
6.994512E-03
-2.179875E-02
1.352098E-03
1.116755E-01
7.354423E-03
9.995739E-02
9.710025E-03
3.010324E-02
1.179938E-02
2.175816E-02
1.281441E-03
2.374886E-02
6.943432E-03
5.691243E+01
6.685581E+02
-7.130295E-01
1.971869E-01
1.138602E+00
1.071873E+00
-1.436194E+00
7.200870E-01
-2.384966E-01
1.129688E-01
8.003085E-01
5.809429E-01
-3.499868E-01
3.310435E-01
2.580763E-01
2.238385E-01
-3.576056E-01
1.437071E-01
2.560747E-01
4.492224E-02
-4.006295E-01
2.456809E-01
8.176054E-02
3.924768E-01
-8.105689E-01
2.397175E-01
3.777117E-01
4.811523E-01
-4.932440E-01
1.789106E-01
-3.705747E-02
5.517840E-01
7.049764E-01
4.243943E-01
-4.833188E-01
2.014189E-01
-5.420278E-01
1.201572E-01
7.606098E-02
1.451071E-01
2.244026E-01
7.628680E-02
2.495758E-01
1.882655E-01
-1.373888E-01
1.958724E-01
-3.799191E-01
2.258678E-01
-5.909625E-01
2.940322E-01
-6.336238E-01
1.272552E-01
-5.544697E-01
9.027652E-02
4.161023E-01
1.084744E-01
5.550548E-01
1.838427E-01
3.060033E-01
8.542356E-02
3.623817E-01
4.245612E-02
4.779023E-01
8.081477E-02
1.089872E-01
1.402042E-01
-1.107440E-01
3.140479E-01
2.333168E-01
1.035674E-01
-5.959476E-02
2.482914E-01
2.924945E+01
1.782032E+02
5.986907E-01
4.163713E-01
3.376452E-01
1.744277E-01
1.272993E-01
1.526084E-01
-2.551267E-01
7.284601E-02
4.755790E-02
6.832796E-02
-3.425133E-01
7.756266E-02
3.823240E-01
1.789133E-01
-3.767347E-01
1.676013E-01
1.655399E-01
1.153056E-01
1.432265E-01
2.956364E-02
-2.989439E-01
5.066565E-02
-3.226047E-02
5.960686E-02
-9.968550E-02
4.039270E-02
-1.235292E-02
2.805714E-01
-7.494860E-02
2.838999E-02
3.042503E-02
7.425538E-02
-1.849034E-01
8.599532E-02
-5.209242E-01
1.174277E-01
-2.314402E-01
4.065974E-02
-4.179560E-01
1.382716E-01
1.026654E-01
1.611177E-02
-2.270386E-01
5.157513E-02
7.884296E-02
2.677093E-02
7.284620E-01
1.871262E-01
1.360134E-01
9.437336E-03
-3.088199E-01
2.292832E-02
-2.543226E-01
1.264440E-01
6.256788E-02
7.604299E-02
-3.478518E-01
6.632508E-02
2.842847E-01
4.906462E-02
1.546241E-01
3.362908E-02
-2.247690E-01
1.912574E-02
-3.459210E-02
1.248892E-01
-2.204075E-01
4.281299E-02
2.145675E-01
5.593188E-02
9.965051E+00
2.067319E+01
2.381967E-01
4.786935E-02
-1.924307E-02
4.029344E-02
3.179175E-02
2.098033E-02
-1.652307E-02
9.391525E-03
-5.733037E-02
1.788394E-02
4.942155E-02
1.206623E-03
1.874859E-02
1.917059E-02
-1.179838E-01
2.185564E-02
-9.270518E-03
1.659002E-02
7.496510E-02
6.849931E-03
-1.004441E-01
4.570271E-03
-9.899603E-02
1.027435E-02
-9.963859E-02
4.686519E-03
-1.740638E-02
3.936514E-02
2.520348E-02
5.900520E-03
1.227791E-03
6.173783E-03
-3.068441E-02
6.867403E-03
-7.765653E-02
1.399383E-02
7.333551E-02
4.139444E-03
-3.508914E-02
1.421599E-02
4.334120E-02
4.918888E-03
-1.106116E-01
1.143785E-02
7.254492E-03
1.337966E-03
2.365948E-01
2.473485E-02
5.176646E-02
1.514750E-03
-8.723609E-02
2.395099E-03
-1.010207E-01
1.081070E-02
-5.113298E-02
6.053279E-03
-1.601115E-01
8.304230E-03
-5.105346E-03
5.079654E-03
-8.894549E-02
2.505026E-03
-1.023874E-01
4.311776E-03
7.972835E-02
1.178305E-02
-2.560943E-02
4.101793E-03
2.312203E-02
3.036209E-03
4.931805E+01
5.050490E+02
1.513494E+00
1.676567E+00
6.650656E-01
1.400732E+00
4.934620E-01
7.673322E-01
-2.964444E-02
2.262500E-01
-2.225956E-01
4.872938E-01
2.498269E-01
9.442256E-02
-1.454141E-01
2.683171E-01
-3.720260E-01
2.266316E-01
2.473591E-01
3.624408E-01
2.096941E-01
6.664835E-02
-4.700220E-01
9.789465E-02
-1.626165E-01
1.315362E-01
3.519966E-01
1.140516E-01
-1.185342E-01
5.708362E-01
-1.333083E-01
1.352294E-01
1.375803E-01
1.572243E-01
-6.099544E-02
2.042264E-01
-3.664336E-01
1.762506E-01
-1.717957E-01
5.864778E-02
-5.153204E-01
2.484316E-01
-2.258513E-01
8.839687E-02
-9.307566E-01
4.802462E-01
1.108577E-01
4.451362E-02
1.118965E+00
5.173979E-01
4.314600E-01
5.176751E-02
-2.864060E-01
9.159895E-02
-4.471918E-01
1.743046E-01
-7.850808E-02
1.317732E-01
-7.445394E-01
1.479808E-01
7.480873E-01
2.696289E-01
1.731449E-01
5.301367E-02
-3.663464E-01
3.430563E-02
3.553351E-01
2.051544E-01
-4.312304E-01
2.164291E-01
2.436515E-01
8.025128E-02

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
1.555164E+02
5.045335E+03
2.135627E+02
9.364189E+03
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.967117E+02
7.969405E+03
1.782510E+02
6.811324E+03

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
2.082752E+00
9.038453E-01
2.879098E+00
1.700626E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
2.640026E+00
1.436287E+00
2.401881E+00
1.235627E+00

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
0.000000E+00
0.000000E+00
1.001000E+01
2.055270E+01
2.370000E+00
1.250100E+00
3.391000E+01
2.317483E+02
1.239000E+01
3.172630E+01
3.570000E+00
2.668900E+00
4.450000E+01
4.100412E+02

View file

@ -1,33 +1,33 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
1.001000E+01
2.055270E+01
1.045458E+00
2.880795E-01
3.394443E-01
4.521695E-02
3.397524E-01
3.549593E-02
1.551656E-01
6.451528E-03
2.370000E+00
1.250100E+00
4.069121E-01
3.712261E-02
1.675181E-01
8.485856E-03
4.222049E-02
1.259403E-03
-3.192012E-02
3.638177E-03
3.391000E+01
2.317483E+02
1.683873E+01
5.703705E+01
5.997824E+00
7.439673E+00
4.483230E-01
1.440023E-01
-5.793501E-01
1.160971E-01
1.239000E+01
3.172630E+01
1.431689E+00
4.209133E-01
6.192790E-01
1.440589E-01
4.143123E-01
5.479770E-02
2.942906E-01
3.458523E-02
3.570000E+00
2.668900E+00
3.298388E-01
4.816449E-02
3.308381E-01
3.018261E-02
5.366444E-02
7.235974E-03
-7.363858E-02
7.113489E-03
4.450000E+01
4.100412E+02
2.317316E+01
1.102855E+02
8.679054E+00
1.538963E+01
7.128469E-01
1.440027E-01
-1.172445E+00
3.514659E-01

View file

@ -1,24 +1,24 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
1.001000E+01
2.055270E+01
1.045458E+00
2.880795E-01
3.394443E-01
4.521695E-02
3.397524E-01
3.549593E-02
1.551656E-01
6.451528E-03
1.239000E+01
3.172630E+01
1.431689E+00
4.209133E-01
6.192790E-01
1.440589E-01
4.143123E-01
5.479770E-02
2.942906E-01
3.458523E-02
tally 2:
1.001000E+01
2.055270E+01
1.045458E+00
2.880795E-01
3.394443E-01
4.521695E-02
3.397524E-01
3.549593E-02
1.551656E-01
6.451528E-03
1.239000E+01
3.172630E+01
1.431689E+00
4.209133E-01
6.192790E-01
1.440589E-01
4.143123E-01
5.479770E-02
2.942906E-01
3.458523E-02

View file

@ -1,38 +1,38 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
1.001000E+01
2.055270E+01
1.239000E+01
3.172630E+01
tally 2:
1.001000E+01
2.055270E+01
-1.183126E-01
8.968581E-03
1.285740E-01
2.012866E-02
-1.063642E-01
5.657462E-03
-1.012197E-01
3.482657E-03
-1.468579E-01
5.892528E-03
7.311799E-02
3.363909E-03
1.772847E-02
2.338115E-03
-1.306294E-02
3.964203E-04
1.105099E-02
4.221119E-04
-3.469267E-03
3.620983E-04
-6.776742E-02
2.523905E-03
7.275197E-02
5.799188E-03
1.235708E-01
4.329131E-03
3.335853E-02
2.420903E-03
6.869200E-02
3.326258E-03
1.239000E+01
3.172630E+01
-1.558408E-01
1.069360E-02
-4.768057E-02
2.298561E-02
7.015981E-02
1.366523E-02
-2.449791E-02
5.899048E-03
9.535825E-02
6.335188E-03
-9.915129E-03
2.116965E-03
-2.535001E-03
2.410993E-03
1.030312E-01
1.128648E-02
-4.471182E-02
6.335010E-03
4.744793E-02
2.215754E-03
6.507318E-02
2.747856E-03
-8.724368E-02
3.500811E-03
5.479971E-03
2.059588E-04
-1.345855E-01
5.547202E-03
8.586379E-02
3.537507E-03

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
0.000000E+00
0.000000E+00
9.853983E+00
1.982237E+01
2.420171E+00
1.197617E+00
3.422120E+01
2.388147E+02
1.290818E+01
3.438677E+01
3.136743E+00
2.032819E+00
4.503247E+01
4.196453E+02

View file

@ -1,33 +1,33 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
1.001000E+01
2.055270E+01
1.045458E+00
2.880795E-01
3.394443E-01
4.521695E-02
3.397524E-01
3.549593E-02
1.551656E-01
6.451528E-03
2.370000E+00
1.250100E+00
4.069121E-01
3.712261E-02
1.675181E-01
8.485856E-03
4.222049E-02
1.259403E-03
-3.192012E-02
3.638177E-03
3.391000E+01
2.317483E+02
1.683873E+01
5.703705E+01
5.997824E+00
7.439673E+00
4.483230E-01
1.440023E-01
-5.793501E-01
1.160971E-01
1.238000E+01
3.168320E+01
1.437080E+00
4.234943E-01
6.199204E-01
1.441510E-01
4.101424E-01
5.414561E-02
2.977431E-01
3.433685E-02
3.570000E+00
2.668900E+00
3.298388E-01
4.816449E-02
3.308381E-01
3.018261E-02
5.366444E-02
7.235974E-03
-7.363858E-02
7.113489E-03
4.450000E+01
4.100412E+02
2.317316E+01
1.102855E+02
8.679054E+00
1.538963E+01
7.128469E-01
1.440027E-01
-1.172445E+00
3.514659E-01

View file

@ -1,24 +1,24 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
1.001000E+01
2.055270E+01
1.045458E+00
2.880795E-01
3.394443E-01
4.521695E-02
3.397524E-01
3.549593E-02
1.551656E-01
6.451528E-03
1.238000E+01
3.168320E+01
1.437080E+00
4.234943E-01
6.199204E-01
1.441510E-01
4.101424E-01
5.414561E-02
2.977431E-01
3.433685E-02
tally 2:
1.001000E+01
2.055270E+01
1.045458E+00
2.880795E-01
3.394443E-01
4.521695E-02
3.397524E-01
3.549593E-02
1.551656E-01
6.451528E-03
1.238000E+01
3.168320E+01
1.437080E+00
4.234943E-01
6.199204E-01
1.441510E-01
4.101424E-01
5.414561E-02
2.977431E-01
3.433685E-02

View file

@ -1,56 +1,56 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
1.001000E+01
2.055270E+01
1.238000E+01
3.168320E+01
tally 2:
1.001000E+01
2.055270E+01
-1.183126E-01
8.968581E-03
1.285740E-01
2.012866E-02
-1.063642E-01
5.657462E-03
-1.012197E-01
3.482657E-03
-1.468579E-01
5.892528E-03
7.311799E-02
3.363909E-03
1.772847E-02
2.338115E-03
-1.306294E-02
3.964203E-04
1.105099E-02
4.221119E-04
-3.469267E-03
3.620983E-04
-6.776742E-02
2.523905E-03
7.275197E-02
5.799188E-03
1.235708E-01
4.329131E-03
3.335853E-02
2.420903E-03
6.869200E-02
3.326258E-03
5.493102E-03
1.435058E-03
5.729583E-02
1.002124E-03
2.338667E-02
1.568394E-03
-6.527369E-02
2.163907E-03
5.997182E-02
2.521405E-03
1.400703E-02
3.928690E-04
-3.471565E-02
4.095776E-04
-2.275813E-02
1.120381E-03
2.896166E-02
1.179565E-03
1.238000E+01
3.168320E+01
-1.570048E-01
1.067590E-02
-4.730723E-02
2.307294E-02
6.490976E-02
1.426908E-02
-2.426427E-02
5.909294E-03
9.534163E-02
6.333588E-03
-1.023123E-02
2.132217E-03
-2.609941E-03
2.406916E-03
1.035322E-01
1.128320E-02
-4.271935E-02
6.478440E-03
4.721270E-02
2.212864E-03
6.453502E-02
2.750693E-03
-8.681394E-02
3.493602E-03
3.052598E-03
1.842182E-04
-1.350899E-01
5.564227E-03
8.846033E-02
3.537258E-03
5.729362E-02
2.064207E-03
1.780469E-02
2.838072E-03
-4.570340E-02
2.812380E-03
2.213430E-02
5.564728E-04
-3.159434E-03
3.500419E-03
-1.547339E-02
1.929157E-03
6.653362E-02
1.421509E-03
1.226039E-02
1.144939E-03
5.785933E-03
4.218074E-04

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tallies:
0.000000E+00
0.000000E+00
1.161117E+01
2.754585E+01
2.434414E+00
1.211549E+00
3.447929E+01
2.424749E+02
1.517577E+01
4.747271E+01
3.151504E+00
2.051857E+00
4.536316E+01
4.258781E+02

View file

@ -1,14 +1,14 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
0.000000E+00
0.000000E+00
1.161117E+01
2.754585E+01
2.434414E+00
1.211549E+00
3.447929E+01
2.424749E+02
1.517577E+01
4.747271E+01
3.151504E+00
2.051857E+00
4.536316E+01
4.258781E+02
tally 2:
0.000000E+00
0.000000E+00
@ -60,153 +60,153 @@ tally 2:
0.000000E+00
0.000000E+00
0.000000E+00
1.161117E+01
2.754585E+01
-2.142174E-01
3.279724E-02
2.074847E-01
2.494364E-02
-7.903982E-02
5.676631E-02
3.590832E-02
7.445500E-03
1.227905E-01
9.669037E-03
-2.956073E-02
1.053089E-02
2.125913E-01
1.573643E-02
3.994388E-02
2.050911E-03
1.428931E-02
2.097252E-02
1.852982E-02
6.763156E-03
4.256344E-02
2.201630E-02
5.235939E-02
6.390478E-03
-1.917565E-02
6.057279E-03
1.376468E-01
1.381691E-02
1.645657E-01
6.909700E-03
1.278040E-01
7.358858E-03
-4.885049E-02
1.284487E-02
1.015768E-01
1.186044E-02
-2.500552E-01
2.850264E-02
1.268185E-01
8.830642E-03
-5.298980E-02
1.174521E-02
-1.167860E-01
5.317695E-03
3.551278E-02
9.746518E-03
-5.156958E-02
1.096176E-02
2.434414E+00
1.211549E+00
-6.155874E-02
1.820287E-03
-1.131385E-02
9.885845E-04
3.264871E-02
3.152029E-03
3.906111E-03
2.989255E-04
3.357694E-02
1.204498E-03
-8.509149E-03
4.932744E-04
1.643578E-02
6.559372E-04
-4.516161E-03
2.859238E-04
-6.070807E-03
5.103752E-04
3.789990E-02
8.649607E-04
3.099170E-02
6.294018E-04
-4.634547E-03
7.282887E-04
-2.803226E-02
5.565347E-04
3.075995E-02
6.733281E-04
1.994943E-02
2.449085E-04
1.365097E-02
2.449553E-04
-7.320266E-03
4.797846E-04
2.167643E-02
1.743090E-03
-4.027522E-02
1.131919E-03
-1.877523E-03
1.528174E-04
-1.875876E-03
5.415691E-04
-1.250223E-02
1.039339E-04
3.243151E-02
9.979755E-04
1.661028E-02
8.875222E-04
3.447929E+01
2.424749E+02
-1.193109E-01
4.356870E-02
4.994465E-01
1.364747E-01
4.743095E-01
3.139795E-01
1.572748E-01
7.384373E-02
-6.645997E-02
5.859821E-02
4.439125E-01
1.312325E-01
1.989592E-01
2.220419E-01
1.184923E-01
1.733884E-01
6.229896E-02
7.986227E-02
2.843483E-01
5.493256E-02
5.285802E-01
1.588852E-01
-6.319558E-03
2.538235E-02
1.305659E-01
6.500548E-03
4.407872E-01
5.126698E-02
3.461406E-01
7.630185E-02
2.738707E-01
1.899347E-02
6.267800E-02
8.687333E-02
1.458903E-01
6.032971E-02
-4.003833E-01
1.973491E-01
2.274520E-01
8.366655E-02
-7.682364E-02
1.930925E-02
-5.201000E-02
4.531851E-02
-1.736210E-01
1.161595E-01
-2.291894E-02
2.411043E-02
1.517577E+01
4.747271E+01
-2.463504E-01
2.376091E-02
7.930151E-02
3.516796E-02
-1.611736E-01
2.658129E-02
-9.124923E-02
1.181443E-02
2.766258E-01
2.310767E-02
-2.269608E-01
3.593659E-02
-5.345296E-02
1.169733E-02
-1.838169E-01
1.625334E-02
-7.883035E-02
8.514293E-03
-4.922148E-02
7.767910E-03
1.144559E-01
4.638553E-03
-2.027207E-01
2.158672E-02
5.449222E-02
1.287150E-02
5.384229E-02
6.688120E-03
-8.231311E-02
2.743044E-02
1.172791E-02
1.089457E-02
-1.545389E-01
2.655167E-02
-2.290221E-01
1.443721E-02
2.773254E-02
1.070478E-02
-2.522703E-02
1.136506E-02
-1.287564E-02
4.969443E-03
3.471629E-02
7.559603E-03
-2.261509E-01
2.383142E-02
-1.463402E-01
1.526988E-02
3.151504E+00
2.051857E+00
-4.923938E-02
1.416150E-03
-1.041702E-02
8.114498E-04
-3.212977E-02
2.419393E-03
2.557299E-02
1.124488E-03
4.083178E-02
1.351219E-03
-3.910818E-02
8.908208E-04
5.659008E-03
4.488733E-04
-1.625829E-02
2.325229E-04
2.554220E-02
7.666018E-04
-2.251672E-02
7.703442E-04
-8.302473E-03
2.748216E-04
-7.692439E-02
2.167893E-03
7.267773E-03
7.781908E-04
6.821338E-03
9.518921E-04
-2.203951E-02
2.214610E-03
2.052514E-02
3.756195E-04
-4.158574E-02
9.330261E-04
-3.000932E-02
4.584914E-04
-2.247072E-02
2.519845E-04
1.589401E-02
2.302726E-04
-7.793790E-04
1.588955E-04
-4.634908E-03
5.395803E-04
-1.193817E-02
1.674419E-04
-1.682320E-02
8.389254E-04
4.536316E+01
4.258781E+02
-6.747275E-01
3.006113E-01
5.302096E-01
4.167797E-01
-4.347270E-01
3.702158E-01
-7.344612E-02
5.940699E-02
1.081217E+00
4.070812E-01
-3.172368E-02
3.124338E-02
2.656115E-01
8.561866E-02
-1.286933E-01
8.347413E-02
1.258195E-01
3.329577E-02
-3.751107E-01
9.007513E-02
4.283879E-01
1.067035E-01
-3.467870E-01
6.788988E-02
4.218567E-02
4.465188E-02
6.876561E-02
5.655954E-02
-1.116047E-01
1.073179E-01
4.077067E-01
1.148942E-01
-3.218725E-01
4.739201E-02
-4.297438E-01
9.739104E-02
2.199014E-01
2.328443E-02
6.007636E-01
1.194137E-01
-2.194826E-01
5.017106E-02
2.266133E-01
1.131899E-01
7.161674E-04
3.345992E-02
-1.987041E-01
1.381432E-01

View file

@ -1,11 +1,11 @@
k-combined:
9.600453E-01 2.025740E-01
1.093844E+00 1.626801E-02
tally 1:
1.161117E+01
2.754585E+01
1.517577E+01
4.747271E+01
tally 2:
2.434414E+00
1.211549E+00
3.151504E+00
2.051857E+00
tally 3:
3.447929E+01
2.424749E+02
4.536316E+01
4.258781E+02