fixed formatting of python api created mgxs library, added example pincell_multigroup to xml folder, and removed c5g7 as that will be pushed to benchmarks instead once this is complete.

This commit is contained in:
Adam Nelson 2015-11-16 20:33:42 -05:00
parent 5e788cdffb
commit 5965e92e46
20 changed files with 47 additions and 529 deletions

View file

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<cmfd>
<begin>10</begin>
<feedback>true</feedback>
<mesh>
<lower_left> 0.0 0.0 -100.0</lower_left>
<upper_right> 64.26 64.26 100.0</upper_right>
<dimension>6 6 1</dimension>
<albedo>1 0 0 1 1 1</albedo>
</mesh>
</cmfd>

View file

@ -1,118 +0,0 @@
<geometry>
<surface coeffs="0. 0. 0.540" id="1" type="z-cylinder" />
<surface boundary="reflective" coeffs=" 0.0" id="20" type="x-plane" />
<surface boundary="vacuum" coeffs=" 64.26" id="21" type="x-plane" />
<surface boundary="vacuum" coeffs=" 0.0" id="22" type="y-plane" />
<surface boundary="reflective" coeffs=" 64.26" id="23" type="y-plane" />
<surface boundary="reflective" coeffs="-100.0" id="35" type="z-plane" />
<surface boundary="reflective" coeffs=" 100.0" id="36" type="z-plane" />
<cell id="10" material="1" region="-1" universe="1" />
<cell id="11" material="7" region=" 1" universe="1" />
<cell id="20" material="2" region="-1" universe="2" />
<cell id="21" material="7" region=" 1" universe="2" />
<cell id="30" material="3" region="-1" universe="3" />
<cell id="31" material="7" region=" 1" universe="3" />
<cell id="40" material="4" region="-1" universe="4" />
<cell id="41" material="7" region=" 1" universe="4" />
<cell id="50" material="5" region="-1" universe="5" />
<cell id="51" material="7" region=" 1" universe="5" />
<cell id="60" material="6" region="-1" universe="6" />
<cell id="61" material="7" region=" 1" universe="6" />
<lattice id="100">
<outer>0</outer>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 6 1 1 6 1 1 6 1 1 1 1 1
1 1 1 6 1 1 1 1 1 1 1 1 1 6 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 6 1 1 6 1 1 5 1 1 6 1 1 6 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 6 1 1 1 1 1 1 1 1 1 6 1 1 1
1 1 1 1 1 6 1 1 6 1 1 6 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
</universes>
</lattice>
<lattice id="101">
<outer>0</outer>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2
2 3 3 3 3 6 3 3 6 3 3 6 3 3 3 3 2
2 3 3 6 3 4 4 4 4 4 4 4 3 6 3 3 2
2 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 2
2 3 6 4 4 6 4 4 6 4 4 6 4 4 6 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 6 4 4 6 4 4 5 4 4 6 4 4 6 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 6 4 4 6 4 4 6 4 4 6 4 4 6 3 2
2 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 2
2 3 3 6 3 4 4 4 4 4 4 4 3 6 3 3 2
2 3 3 3 3 6 3 3 6 3 3 6 3 3 3 3 2
2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
</universes>
</lattice>
<cell id="112" material="7" region="35 -36" universe="12" />
<cell fill="100" id="110" region="35 -36" universe="10" />
<cell fill="101" id="111" region="35 -36" universe="11" />
<lattice id="200">
<outer>0</outer>
<dimension>3 3</dimension>
<lower_left>0.0 0.0</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
10 11 12
11 10 12
12 12 12
</universes>
</lattice>
<cell fill="200" id="1" region=" 20 -21 22 -23 35 -36" />
</geometry>

View file

@ -1 +0,0 @@
/home/nelsonag/cases/c5g7/materials.xml

View file

@ -1,29 +0,0 @@
<?xml version="1.0"?>
<plots>
<plot>
<id>1</id>
<filename>mat</filename>
<color>material</color>
<origin>32.13 32.13 0</origin>
<width>64.26 64.26</width>
<type>slice</type>
<pixels>1000 1000 </pixels>
<!-- <col_spec id="1" rgb="255 0 0" />
<col_spec id="2" rgb="0 0 0" />
<col_spec id="3" rgb="0 255 0" />
<col_spec id="4" rgb="0 0 255" />
-->
</plot>
<plot>
<id>2</id>
<filename>cell</filename>
<color>cell</color>
<origin>32.13 32.13 0</origin>
<width>64.26 64.26</width>
<type>slice</type>
<pixels>1000 1000 </pixels>
</plot>
</plots>

View file

@ -1,44 +0,0 @@
<?xml version="1.0"?>
<settings>
<energy_mode>multi-group</energy_mode>
<!--
Define how many particles to run and for how many batches
in an eigenvalue calculation mode
-->
<eigenvalue>
<batches>2000</batches>
<inactive>500</inactive>
<particles>10000</particles>
</eigenvalue>
<!--
Start with uniformally distributed neutron source
with the default energy spectrum of a Maxwellian
and isotropic distribution.
-->
<source>
<space type="box">
<parameters>
0.0 21.42 -100
42.84 64.26 100
</parameters>
</space>
</source>
<!-- Establish statepoints to aid in examining convergence -->
<state_point>
<interval> 2000 </interval>
<source_write>true</source_write>
</state_point>
<output>
<cross_sections>true</cross_sections>
<summary>true</summary>
<tallies>true</tallies>
</output>
<run_cmfd>true</run_cmfd>
<cross_sections>../data.xml</cross_sections>
</settings>

View file

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<tallies>
<tally id="1">
<filter type="mesh" bins="1" />
<filter type="energy" />
<scores>flux</scores>
</tally>
<tally id="2">
<filter type="mesh" bins="1"/>
<scores>fission</scores>
</tally>
<mesh>
<id>1</id>
<type>regular</type>
<lower_left> 0.0 0.0 -100.0 </lower_left>
<upper_right> 64.26 64.26 100.0 </upper_right>
<dimension> 51 51 1 </dimension>
</mesh>
<assume_separate>false</assume_separate>
</tallies>

View file

@ -1,138 +0,0 @@
<geometry>
<surface coeffs="0. 0. 0.540" id="1" type="z-cylinder" />
<surface boundary="reflective" coeffs=" 0.0" id="20" type="x-plane" />
<surface boundary="vacuum" coeffs=" 64.26" id="21" type="x-plane" />
<surface boundary="vacuum" coeffs=" 0.0" id="22" type="y-plane" />
<surface boundary="reflective" coeffs=" 64.26" id="23" type="y-plane" />
<surface boundary="reflective" coeffs=" 0.0" id="30" type="z-plane" />
<surface coeffs="192.78" id="31" type="z-plane" />
<surface boundary="vacuum" coeffs=" 214.2" id="32" type="z-plane" />
<cell id="10" material="1" region="-1" universe="1" />
<cell id="11" material="7" region=" 1" universe="1" />
<cell id="20" material="2" region="-1" universe="2" />
<cell id="21" material="7" region=" 1" universe="2" />
<cell id="30" material="3" region="-1" universe="3" />
<cell id="31" material="7" region=" 1" universe="3" />
<cell id="40" material="4" region="-1" universe="4" />
<cell id="41" material="7" region=" 1" universe="4" />
<cell id="50" material="5" region="-1" universe="5" />
<cell id="51" material="7" region=" 1" universe="5" />
<cell id="60" material="6" region="-1" universe="6" />
<cell id="61" material="7" region=" 1" universe="6" />
<lattice id="100">
<outer>0</outer>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 6 1 1 6 1 1 6 1 1 1 1 1
1 1 1 6 1 1 1 1 1 1 1 1 1 6 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 6 1 1 6 1 1 5 1 1 6 1 1 6 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 6 1 1 1 1 1 1 1 1 1 6 1 1 1
1 1 1 1 1 6 1 1 6 1 1 6 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
</universes>
</lattice>
<lattice id="101">
<outer>0</outer>
<dimension>17 17</dimension>
<lower_left>-10.71 -10.71</lower_left>
<pitch>1.26 1.26</pitch>
<universes>
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2
2 3 3 3 3 6 3 3 6 3 3 6 3 3 3 3 2
2 3 3 6 3 4 4 4 4 4 4 4 3 6 3 3 2
2 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 2
2 3 6 4 4 6 4 4 6 4 4 6 4 4 6 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 6 4 4 6 4 4 5 4 4 6 4 4 6 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 2
2 3 6 4 4 6 4 4 6 4 4 6 4 4 6 3 2
2 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 2
2 3 3 6 3 4 4 4 4 4 4 4 3 6 3 3 2
2 3 3 3 3 6 3 3 6 3 3 6 3 3 3 3 2
2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
</universes>
</lattice>
<cell id="112" material="7" region="30 -31" universe="12" />
<cell fill="100" id="110" region="30 -31" universe="10" />
<cell fill="101" id="111" region="30 -31" universe="11" />
<lattice id="200" outer="199">
<dimension>3 3</dimension>
<lower_left>0.0 0.0</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
10 11 12
11 10 12
12 12 12
</universes>
</lattice>
<cell fill="200" id="1" region=" 20 -21 22 -23 30 -31" />
<cell id="113" material="7" region="31 -32" universe="13" />
<lattice id="201" outer="202">
<dimension>3 3</dimension>
<lower_left>0.0 0.0</lower_left>
<pitch>21.42 21.42</pitch>
<universes>
13 13 13
13 13 13
13 13 13
</universes>
</lattice>
<cell fill="201" id="2" region=" 20 -21 22 -23 31 -32" />
<cell id="199" material="void" universe="199" /><cell id="202" material="void" universe="202" /></geometry>

View file

@ -1 +0,0 @@
../materials.xml

View file

@ -1,42 +0,0 @@
<?xml version="1.0"?>
<plots>
<plot>
<id>1</id>
<filename>mat</filename>
<color>material</color>
<origin>32.13 32.13 107.1</origin>
<width>64.26 214.2</width>
<type>slice</type>
<pixels>1000 1000 </pixels>
<!-- <col_spec id="1" rgb="255 0 0" />
<col_spec id="2" rgb="0 0 0" />
<col_spec id="3" rgb="0 255 0" />
<col_spec id="4" rgb="0 0 255" />
-->
<basis>xz</basis>
</plot>
<plot>
<id>2</id>
<filename>cell</filename>
<color>cell</color>
<origin>32.13 32.13 107.1</origin>
<width>64.26 214.2</width>
<type>slice</type>
<pixels>1000 1000 </pixels>
<basis>xz</basis>
</plot>
<plot>
<id>3</id>
<filename>mat_xy</filename>
<color>material</color>
<origin>32.13 32.13 107.1</origin>
<width>64.26 64.26</width>
<type>slice</type>
<pixels>1000 1000 </pixels>
<basis>xy</basis>
</plot>
</plots>

View file

@ -1,47 +0,0 @@
<?xml version="1.0"?>
<settings>
<energy_mode>multi-group</energy_mode>
<!--
Define how many particles to run and for how many batches
in an eigenvalue calculation mode
-->
<eigenvalue>
<batches>2000</batches>
<inactive>500</inactive>
<particles>1000</particles>
</eigenvalue>
<uniform_fs>
<lower_left> 0.0 21.42 0.0 </lower_left>
<upper_right> 42.84 64.26 192.78 </upper_right>
<dimension> 34 34 54 </dimension>
</uniform_fs>
<!--
Start with uniformally distributed neutron source
with the default energy spectrum of a Maxwellian
and isotropic distribution.
-->
<source>
<space type="box">
<parameters>
0.0 21.42 0.0
42.84 64.26 192.78
</parameters>
</space>
</source>
<!-- Establish statepoints -->
<state_point>
<interval>2000</interval>
</state_point>
<output>
<cross_sections>true</cross_sections>
<summary>true</summary>
<tallies>true</tallies>
</output>
<cross_sections>../data.xml</cross_sections>
</settings>

View file

@ -1,33 +0,0 @@
<?xml version="1.0"?>
<tallies>
<tally id="1">
<filter type="mesh" bins="1" />
<filter type="energy" />
<scores>flux</scores>
</tally>
<tally id="2">
<filter type="mesh" bins="2"/>
<scores>fission</scores>
</tally>
<mesh>
<id>1</id>
<type>rectangular</type>
<lower_left> 0.0 0.0 0.0 </lower_left>
<upper_right> 64.26 64.26 214.2 </upper_right>
<dimension> 51 51 60 </dimension>
</mesh>
<mesh>
<id>2</id>
<type>rectangular</type>
<lower_left> 0.0 21.42 0.0 </lower_left>
<upper_right> 42.84 64.26 192.78 </upper_right>
<dimension> 34 34 54 </dimension>
</mesh>
<assume_separate>false</assume_separate>
</tallies>

View file

@ -1 +0,0 @@
/home/nelsonag/cases/c5g7/materials.xml

View file

@ -1,16 +0,0 @@
<?xml version="1.0"?>
<tallies>
<tally id="1">
<filter type="cell" bins="1 2" />
<filter type="energy" />
<scores>flux</scores>
</tally>
<tally id="2">
<filter type="energy" />
<filter type="energyout" />
<scores>scatter</scores>
</tally>
</tallies>

View file

@ -41,6 +41,6 @@
<survival_biasing>false</survival_biasing>
<cross_sections>../data.xml</cross_sections>
<cross_sections>./mg_cross_sections.xml</cross_sections>
</settings>

View file

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<tallies>
<mesh id="1" type="regular">
<dimension>100 100 1</dimension>
<lower_left>-0.63 -0.63 -1e+50</lower_left>
<upper_right>0.63 0.63 1e+50</upper_right>
</mesh>
<tally id="1" name="tally 1">
<filter type="energy" />
<filter bins="1" type="mesh" />
<scores>flux fission nu-fission</scores>
</tally>
</tallies>

View file

@ -24,37 +24,49 @@ def ndarray_to_string(arr):
shape = arr.shape
ndim = arr.ndim
text = ''
tab = ' '
indent = '\n' + tab + tab
text = indent
if ndim == 1:
text += ' '.join(map(str, arr[:]))
text += tab
for i in range(shape[0]):
text += '{:.7E} '.format(arr[i])
text += indent
elif ndim == 2:
for i in xrange(shape[0]):
text += ' '.join(map(str, arr[i,:]))
text += '\n'
for i in range(shape[0]):
text += tab
for j in range(shape[1]):
text += '{:.7E} '.format(arr[i,j])
text += indent
elif ndim == 3:
for i in xrange(shape[0]):
for j in xrange(shape[1]):
text += ' '.join(map(str, arr[i,j,:]))
text += '\n'
for i in range(shape[0]):
for j in range(shape[1]):
text += tab
for k in range(shape[2]):
text += '{:.7E} '.format(arr[i,j,k])
text += indent
elif ndim == 4:
for i in xrange(shape[0]):
for j in xrange(shape[1]):
for k in xrange(shape[2]):
text += ' '.join(map(str, arr[i,j,k,:]))
text += '\n'
for i in range(shape[0]):
for j in range(shape[1]):
for k in range(shape[2]):
text += tab
for l in range(shape[3]):
text += '{:.7E} '.format(arr[i,j,k,l])
text += indent
elif ndim == 5:
for i in xrange(shape[0]):
for j in xrange(shape[1]):
for k in xrange(shape[2]):
for l in xrange(shape[3]):
text += ' '.join(map(str, arr[i,j,k,l,:]))
text += '\n'
for i in range(shape[0]):
for j in range(shape[1]):
for k in range(shape[2]):
for l in range(shape[3]):
text += tab
for m in range(shape[4]):
text += '{:.7E} '.format(arr[i,j,k,l,m])
text += indent
return text
class Xsdata(object):
"""A multi-group cross section data set (xsdata) providing all the
multi-group data necessary for a multi-group OpenMC calculation.