commit
a0a7e58197
12 changed files with 1599 additions and 1685 deletions
45
README.md
45
README.md
|
|
@ -12,39 +12,18 @@ modeled in 2D with reflective boundary conditions along the axial dimension.
|
|||
Model Descriptions
|
||||
------------------
|
||||
|
||||
**fuel-pin**
|
||||
A single fuel pin with reflective boundary conditions (*i.e.*, an infinitely
|
||||
repeating array of fuel pins). The default configuration is the BEAVRS fuel pin
|
||||
with fresh 1.6% enriched UO2 fuel, but the script can be toggled to 2.4% or
|
||||
3.1% enriched fuel.
|
||||
|
||||
**assembly**
|
||||
A single fuel assembly with reflective boundary conditions (*i.e.*, an infinitely
|
||||
repeating lattice of fuel assemblies). The default configuration is the BEAVRS
|
||||
assembly with fresh 1.6% enriched UO2 fuel with 24 water-filled control rod
|
||||
guide tubes and a central air-filled instrument tube. However, the script can
|
||||
be toggled to use any of the 20+ fuel assemblies in the BEAVRS model.
|
||||
|
||||
**2x2-periodic**
|
||||
A 2x2 fuel assembly colorset with periodic boundary conditions (*i.e.*, an
|
||||
infinitely repeating lattice of the 2x2 assembly colorset). The default
|
||||
configuration includes the BEAVRS assembly with fresh 1.6% enriched UO2 fuel
|
||||
with 24 water-filled control rod guide tubes and a central air-filled
|
||||
instrument tube, along with a 3.1% enriched fuel assembly with 20 burnable
|
||||
poisons, four control rod guide tubes and a central instrument tube. However,
|
||||
the script may be toggled to use any pair of the 20+ fuel assemblies in the
|
||||
BEAVRS model.
|
||||
|
||||
**2x2-reflector**
|
||||
A 2x2 fuel assembly colorset surrounded by a water reflector. Reflective
|
||||
boundary conditions are used on the top and left boundaries (adjacent to the
|
||||
assemblies) and vacuum boundary conditions are used on the bottom and right
|
||||
boundaries (adjacent to the reflector). The default configuration includes
|
||||
the BEAVRS assembly with fresh 1.6% enriched UO2 fuel with 24 water-filled
|
||||
control rod guide tubes and a central air-filled instrument tube, along with a
|
||||
3.1% enriched fuel assembly with 20 burnable poisons, four control rod guide
|
||||
tubes and a central instrument tube. However, the script may be toggled to use
|
||||
any pair of the 20+ fuel assemblies in the BEAVRS model.
|
||||
<dl>
|
||||
<dt>fuel-pin</dt>
|
||||
<dd>A single fuel pin with reflective boundary conditions (i.e., an infinitely repeating array of fuel pins). The default configuration is the BEAVRS fuel pin with fresh 1.6% enriched UO2 fuel, but the script can be toggled to 2.4% or 3.1% enriched fuel.</dd>
|
||||
<dt>assembly</dt>
|
||||
<dd>A single fuel assembly with reflective boundary conditions (i.e., an infinitely repeating lattice of fuel assemblies). The default configuration is the BEAVRS assembly with fresh 1.6% enriched UO2 fuel with 24 water-filled control rod guide tubes and a central air-filled instrument tube. However, the script can be toggled to use any of the 20+ fuel assemblies in the BEAVRS model.</dd>
|
||||
<dt>2x2-periodic</dt>
|
||||
<dd>A 2x2 fuel assembly colorset with periodic boundary conditions (i.e., an infinitely repeating lattice of the 2x2 assembly colorset). The default configuration includes the BEAVRS assembly with fresh 1.6% enriched UO2 fuel with 24 water-filled control rod guide tubes and a central air-filled instrument tube, along with a 3.1% enriched fuel assembly with 20 burnable poisons, four control rod guide tubes and a central instrument tube. However, the script may be toggled to use any pair of the 20+ fuel assemblies in the BEAVRS model.</dd>
|
||||
<dt>2x2-reflector</dt>
|
||||
<dd>A 2x2 fuel assembly colorset surrounded by a water reflector. Reflective boundary conditions are used on the top and left boundaries (adjacent to the assemblies) and vacuum boundary conditions are used on the bottom and right boundaries (adjacent to the reflector). The default configuration includes the BEAVRS assembly with fresh 1.6% enriched UO2 fuel with 24 water-filled control rod guide tubes and a central air-filled instrument tube, along with a 3.1% enriched fuel assembly with 20 burnable poisons, four control rod guide tubes and a central instrument tube. However, the script may be toggled to use any pair of the 20+ fuel assemblies in the BEAVRS model.</dd>
|
||||
<dt>smr</dt>
|
||||
<dd>A 3D Small Modular Reactor (SMR) model that roughly mimics the design of the NuScale reactor. The reactor core has 37 fuel assemblies that alternate between 3.1% enriched and 2.4% enriched UO2 fuel. The center fuel assembly has 1.6% enriched UO2 fuel. Where possible, we have attempted to use the same parameters for the fuel assemblies and fuel rods as those specified in the NuScale <a href="https://www.nrc.gov/reactors/new-reactors/design-cert/nuscale.html">design submittal</a> to the Nuclear Regulatory Commission (NRC), for example: 264 fuel rods per assembly, 24 guide tubes per assembly, 1 instrument tube per assembly, five spacer grids per assembly, fuel rod pitch of 0.496 in, and an active fuel length of 200 cm. Many of the details of the actual NuScale fuel assembly design are redacted from the design submittal because they are export controlled/proprietary information. The purpose of our model is not to be an exact replica of the NuScale model; rather, it is intended to capture most of the physical complexities that are involved in modeling a full reactor core and to provide a suitable model for carrying out full core performance tests on the testbed architectures.</dd>
|
||||
</dl>
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,211 +1,214 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<materials>
|
||||
<material id="10000" name="Helium">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="0.0015981" />
|
||||
<nuclide ao="2e-06" name="He3" />
|
||||
<nuclide ao="0.999998" name="He4" />
|
||||
</material>
|
||||
<material id="10001" name="Air">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="0.00616" />
|
||||
<nuclide ao="0.2094205995" name="O16" />
|
||||
<nuclide ao="7.94005e-05" name="O17" />
|
||||
<nuclide ao="0.7780395633" name="N14" />
|
||||
<nuclide ao="0.0028604367000000003" name="N15" />
|
||||
<nuclide ao="3.1124879999999996e-05" name="Ar36" />
|
||||
<nuclide ao="5.86857e-06" name="Ar38" />
|
||||
<nuclide ao="0.00929300655" name="Ar40" />
|
||||
<nuclide ao="0.00027" name="C0" />
|
||||
</material>
|
||||
<material id="10002" name="Inconel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="8.2" />
|
||||
<nuclide name="Si28" wo="0.003215573104901967" />
|
||||
<nuclide name="Si29" wo="0.00016911126024954278" />
|
||||
<nuclide name="Si30" wo="0.00011531563484849038" />
|
||||
<nuclide name="Cr50" wo="0.007913309553017726" />
|
||||
<nuclide name="Cr52" wo="0.15869399115925625" />
|
||||
<nuclide name="Cr53" wo="0.018341120727338085" />
|
||||
<nuclide name="Cr54" wo="0.004651578560387908" />
|
||||
<nuclide name="Mn55" wo="0.0087" />
|
||||
<nuclide name="Fe54" wo="0.016163233201258693" />
|
||||
<nuclide name="Fe56" wo="0.26311407687664323" />
|
||||
<nuclide name="Fe57" wo="0.006185135350045743" />
|
||||
<nuclide name="Fe58" wo="0.0008375545720523535" />
|
||||
<nuclide name="Ni58" wo="0.34398505352691505" />
|
||||
<nuclide name="Ni60" wo="0.1370661540479713" />
|
||||
<nuclide name="Ni61" wo="0.006057615154415727" />
|
||||
<nuclide name="Ni62" wo="0.01963045531316453" />
|
||||
<nuclide name="Ni64" wo="0.005160721957533462" />
|
||||
</material>
|
||||
<material id="10003" name="SS304">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="8.03" />
|
||||
<nuclide name="Si28" wo="0.005512411036974801" />
|
||||
<nuclide name="Si29" wo="0.0002899050175706448" />
|
||||
<nuclide name="Si30" wo="0.00019768394545455493" />
|
||||
<nuclide name="Cr50" wo="0.007930004298910168" />
|
||||
<nuclide name="Cr52" wo="0.15902878860895933" />
|
||||
<nuclide name="Cr53" wo="0.018379815074864116" />
|
||||
<nuclide name="Cr54" wo="0.004661392017266364" />
|
||||
<nuclide name="Mn55" wo="0.02" />
|
||||
<nuclide name="Fe54" wo="0.03861561826636726" />
|
||||
<nuclide name="Fe56" wo="0.6286064568062312" />
|
||||
<nuclide name="Fe57" wo="0.014776921339264018" />
|
||||
<nuclide name="Fe58" wo="0.002001003588137652" />
|
||||
<nuclide name="Ni58" wo="0.06719770531879568" />
|
||||
<nuclide name="Ni60" wo="0.02677596289274688" />
|
||||
<nuclide name="Ni61" wo="0.0011833590846680462" />
|
||||
<nuclide name="Ni62" wo="0.0038348222920813694" />
|
||||
<nuclide name="Ni64" wo="0.0010081504117080411" />
|
||||
</material>
|
||||
<material id="10004" name="Carbon Steel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="7.8" />
|
||||
<nuclide name="C0" wo="0.0027" />
|
||||
<nuclide name="Mn55" wo="0.0075" />
|
||||
<nuclide name="P31" wo="0.00025" />
|
||||
<nuclide name="S32" wo="0.00023692152702311576" />
|
||||
<nuclide name="S33" wo="1.924704844422474e-06" />
|
||||
<nuclide name="S34" wo="1.1112880999711348e-05" />
|
||||
<nuclide name="S36" wo="4.088713275043879e-08" />
|
||||
<nuclide name="Si28" wo="0.0036749406913165338" />
|
||||
<nuclide name="Si29" wo="0.00019327001171376318" />
|
||||
<nuclide name="Si30" wo="0.0001317892969697033" />
|
||||
<nuclide name="Ni58" wo="0.005039827898909675" />
|
||||
<nuclide name="Ni60" wo="0.002008197216956016" />
|
||||
<nuclide name="Ni61" wo="8.875193135010345e-05" />
|
||||
<nuclide name="Ni62" wo="0.00028761167190610265" />
|
||||
<nuclide name="Ni64" wo="7.561128087810308e-05" />
|
||||
<nuclide name="Cr50" wo="0.00014607902655887153" />
|
||||
<nuclide name="Cr52" wo="0.0029294776849018824" />
|
||||
<nuclide name="Cr53" wo="0.00033857554085276" />
|
||||
<nuclide name="Cr54" wo="8.586774768648565e-05" />
|
||||
<nuclide name="Mo100" wo="0.0006341263666702117" />
|
||||
<nuclide name="Mo92" wo="0.0008769932056639445" />
|
||||
<nuclide name="Mo94" wo="0.0005619573981472699" />
|
||||
<nuclide name="Mo95" wo="0.0009812790231824658" />
|
||||
<nuclide name="Mo96" wo="0.0010415835207694215" />
|
||||
<nuclide name="Mo97" wo="0.0006048497176301975" />
|
||||
<nuclide name="Mo98" wo="0.00154921076793649" />
|
||||
<nuclide name="V50" wo="1.2256016778573164e-06" />
|
||||
<nuclide name="V51" wo="0.0004987743983221427" />
|
||||
<nuclide name="Nb93" wo="0.0001" />
|
||||
<nuclide name="Cu63" wo="0.001369583906732317" />
|
||||
<nuclide name="Cu65" wo="0.0006304160932676829" />
|
||||
<nuclide name="Ca40" wo="0.00014499268968855714" />
|
||||
<nuclide name="Ca42" wo="1.0160391170196e-06" />
|
||||
<nuclide name="Ca43" wo="2.1705537495761849e-07" />
|
||||
<nuclide name="Ca44" wo="3.4317237524995553e-06" />
|
||||
<nuclide name="Ca46" wo="6.8796341950755285e-09" />
|
||||
<nuclide name="Ca48" wo="3.3561243277098485e-07" />
|
||||
<nuclide name="B10" wo="5.506648724403529e-06" />
|
||||
<nuclide name="B11" wo="2.449335127559647e-05" />
|
||||
<nuclide name="Ti46" wo="1.1880142852196743e-05" />
|
||||
<nuclide name="Ti47" wo="1.0946673488791549e-05" />
|
||||
<nuclide name="Ti48" wo="0.00011076757837453494" />
|
||||
<nuclide name="Ti49" wo="8.298285799079257e-06" />
|
||||
<nuclide name="Ti50" wo="8.107319485397494e-06" />
|
||||
<nuclide name="Al27" wo="0.00025" />
|
||||
<nuclide name="Fe54" wo="0.054472297655949964" />
|
||||
<nuclide name="Fe56" wo="0.8867302806705092" />
|
||||
<nuclide name="Fe57" wo="0.020844748673414723" />
|
||||
<nuclide name="Fe58" wo="0.0028226730001262813" />
|
||||
</material>
|
||||
<material id="10005" name="Zircaloy-4">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="6.55" />
|
||||
<nuclide name="O16" wo="0.0012494965182849112" />
|
||||
<nuclide name="O17" wo="5.034817150887735e-07" />
|
||||
<nuclide name="Cr50" wo="4.1736864731106146e-05" />
|
||||
<nuclide name="Cr52" wo="0.0008369936242576807" />
|
||||
<nuclide name="Cr53" wo="9.673586881507429e-05" />
|
||||
<nuclide name="Cr54" wo="2.4533642196138756e-05" />
|
||||
<nuclide name="Fe54" wo="0.00011855672274761877" />
|
||||
<nuclide name="Fe56" wo="0.001929932104229657" />
|
||||
<nuclide name="Fe57" wo="4.536774095388075e-05" />
|
||||
<nuclide name="Fe58" wo="6.143432068843669e-06" />
|
||||
<nuclide name="Zr90" wo="0.49750307249921255" />
|
||||
<nuclide name="Zr91" wo="0.10970127796055709" />
|
||||
<nuclide name="Zr92" wo="0.16952409354767467" />
|
||||
<nuclide name="Zr94" wo="0.17553856942304608" />
|
||||
<nuclide name="Zr96" wo="0.02888298656950975" />
|
||||
<nuclide name="Sn112" wo="0.0001325869644430062" />
|
||||
<nuclide name="Sn114" wo="9.182449637587617e-05" />
|
||||
<nuclide name="Sn115" wo="4.771905922545867e-05" />
|
||||
<nuclide name="Sn116" wo="0.002058423153629443" />
|
||||
<nuclide name="Sn117" wo="0.0010966473429083066" />
|
||||
<nuclide name="Sn118" wo="0.0034879812938438245" />
|
||||
<nuclide name="Sn119" wo="0.001247577110245757" />
|
||||
<nuclide name="Sn120" wo="0.004771539495238715" />
|
||||
<nuclide name="Sn122" wo="0.0006894094798456136" />
|
||||
<nuclide name="Sn124" wo="0.000876291604244001" />
|
||||
</material>
|
||||
<material id="10006" name="Ag-In-Cd">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.16" />
|
||||
<nuclide name="Ag107" wo="0.4110094082785408" />
|
||||
<nuclide name="Ag109" wo="0.3889905917214592" />
|
||||
<nuclide name="In113" wo="0.006314443289265887" />
|
||||
<nuclide name="In115" wo="0.1436855567107341" />
|
||||
<nuclide name="Cd106" wo="0.0005864650126662538" />
|
||||
<nuclide name="Cd108" wo="0.0004261883300584398" />
|
||||
<nuclide name="Cd110" wo="0.006095738560062021" />
|
||||
<nuclide name="Cd111" wo="0.006311586256788057" />
|
||||
<nuclide name="Cd112" wo="0.011999697873295025" />
|
||||
<nuclide name="Cd113" wo="0.006140180186664414" />
|
||||
<nuclide name="Cd114" wo="0.01456750341101345" />
|
||||
<nuclide name="Cd116" wo="0.00387264036945234" />
|
||||
</material>
|
||||
<material id="10007" name="Borated Water">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="0.7405820675158279" />
|
||||
<nuclide ao="0.00032178659941803253" name="B10" />
|
||||
<nuclide ao="0.0013017583017829388" name="B11" />
|
||||
<nuclide ao="1.996441935899364" name="H1" />
|
||||
<nuclide ao="0.0003109742982341739" name="H2" />
|
||||
<nuclide ao="0.9979980704223166" name="O16" />
|
||||
<nuclide ao="0.0003783846764824448" name="O17" />
|
||||
<sab name="c_H_in_H2O" />
|
||||
</material>
|
||||
<material id="10008" name="Borosilicate Glass">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="2.26" />
|
||||
<nuclide ao="0.012259454378427138" name="B10" />
|
||||
<nuclide ao="0.06018253698401973" name="B11" />
|
||||
<nuclide ao="0.6509787013744828" name="O16" />
|
||||
<nuclide ao="0.00024681447050525047" name="O17" />
|
||||
<nuclide ao="0.23640592474731761" name="Si28" />
|
||||
<nuclide ao="0.01200401834354893" name="Si29" />
|
||||
<nuclide ao="0.007913102535354443" name="Si30" />
|
||||
<nuclide ao="0.024236195272461444" name="Al27" />
|
||||
</material>
|
||||
<material id="10009" name="1.6% Enr. UO2 Fuel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.31341" />
|
||||
<nuclide ao="1.999242" name="O16" />
|
||||
<nuclide ao="0.000758" name="O17" />
|
||||
<nuclide ao="0.00013098435147670763" name="U234" />
|
||||
<nuclide ao="0.01630317699531038" name="U235" />
|
||||
<nuclide ao="0.9835658386532129" name="U238" />
|
||||
</material>
|
||||
<material id="10010" name="2.4% Enr. UO2 Fuel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.29748" />
|
||||
<nuclide ao="1.999242" name="O16" />
|
||||
<nuclide ao="0.000758" name="O17" />
|
||||
<nuclide ao="0.000195223271243839" name="U234" />
|
||||
<nuclide ao="0.024298776982208982" name="U235" />
|
||||
<nuclide ao="0.9755059997465472" name="U238" />
|
||||
</material>
|
||||
<material id="10011" name="3.1% Enr. UO2 Fuel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.30166" />
|
||||
<nuclide ao="1.999242" name="O16" />
|
||||
<nuclide ao="0.000758" name="O17" />
|
||||
<nuclide ao="0.0002523276152188021" name="U234" />
|
||||
<nuclide ao="0.03140636057161555" name="U235" />
|
||||
<nuclide ao="0.9683413118131656" name="U238" />
|
||||
</material>
|
||||
<material id="1" name="Helium">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="0.0015981" />
|
||||
<nuclide ao="2e-06" name="He3" />
|
||||
<nuclide ao="0.999998" name="He4" />
|
||||
</material>
|
||||
<material id="2" name="Air">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="0.00616" />
|
||||
<nuclide ao="0.2094205995" name="O16" />
|
||||
<nuclide ao="7.94005e-05" name="O17" />
|
||||
<nuclide ao="0.7780395633" name="N14" />
|
||||
<nuclide ao="0.0028604367000000003" name="N15" />
|
||||
<nuclide ao="3.1124879999999996e-05" name="Ar36" />
|
||||
<nuclide ao="5.86857e-06" name="Ar38" />
|
||||
<nuclide ao="0.00929300655" name="Ar40" />
|
||||
<nuclide ao="0.00027" name="C0" />
|
||||
</material>
|
||||
<material id="3" name="Inconel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="8.2" />
|
||||
<nuclide name="Si28" wo="0.003215573104901967" />
|
||||
<nuclide name="Si29" wo="0.00016911126024954278" />
|
||||
<nuclide name="Si30" wo="0.00011531563484849038" />
|
||||
<nuclide name="Cr50" wo="0.007913309553017726" />
|
||||
<nuclide name="Cr52" wo="0.15869399115925625" />
|
||||
<nuclide name="Cr53" wo="0.018341120727338085" />
|
||||
<nuclide name="Cr54" wo="0.004651578560387908" />
|
||||
<nuclide name="Mn55" wo="0.0087" />
|
||||
<nuclide name="Fe54" wo="0.016163233201258693" />
|
||||
<nuclide name="Fe56" wo="0.26311407687664323" />
|
||||
<nuclide name="Fe57" wo="0.006185135350045743" />
|
||||
<nuclide name="Fe58" wo="0.0008375545720523535" />
|
||||
<nuclide name="Ni58" wo="0.34398505352691505" />
|
||||
<nuclide name="Ni60" wo="0.1370661540479713" />
|
||||
<nuclide name="Ni61" wo="0.006057615154415727" />
|
||||
<nuclide name="Ni62" wo="0.01963045531316453" />
|
||||
<nuclide name="Ni64" wo="0.005160721957533462" />
|
||||
</material>
|
||||
<material id="4" name="SS304">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="8.03" />
|
||||
<nuclide name="Si28" wo="0.005512411036974801" />
|
||||
<nuclide name="Si29" wo="0.0002899050175706448" />
|
||||
<nuclide name="Si30" wo="0.00019768394545455493" />
|
||||
<nuclide name="Cr50" wo="0.007930004298910168" />
|
||||
<nuclide name="Cr52" wo="0.15902878860895933" />
|
||||
<nuclide name="Cr53" wo="0.018379815074864116" />
|
||||
<nuclide name="Cr54" wo="0.004661392017266364" />
|
||||
<nuclide name="Mn55" wo="0.02" />
|
||||
<nuclide name="Fe54" wo="0.03861561826636726" />
|
||||
<nuclide name="Fe56" wo="0.6286064568062312" />
|
||||
<nuclide name="Fe57" wo="0.014776921339264018" />
|
||||
<nuclide name="Fe58" wo="0.002001003588137652" />
|
||||
<nuclide name="Ni58" wo="0.06719770531879568" />
|
||||
<nuclide name="Ni60" wo="0.02677596289274688" />
|
||||
<nuclide name="Ni61" wo="0.0011833590846680462" />
|
||||
<nuclide name="Ni62" wo="0.0038348222920813694" />
|
||||
<nuclide name="Ni64" wo="0.0010081504117080411" />
|
||||
</material>
|
||||
<material id="5" name="Carbon Steel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="7.8" />
|
||||
<nuclide name="C0" wo="0.0027" />
|
||||
<nuclide name="Mn55" wo="0.0075" />
|
||||
<nuclide name="P31" wo="0.00025" />
|
||||
<nuclide name="S32" wo="0.00023692152702311576" />
|
||||
<nuclide name="S33" wo="1.924704844422474e-06" />
|
||||
<nuclide name="S34" wo="1.1112880999711348e-05" />
|
||||
<nuclide name="S36" wo="4.088713275043879e-08" />
|
||||
<nuclide name="Si28" wo="0.0036749406913165338" />
|
||||
<nuclide name="Si29" wo="0.00019327001171376318" />
|
||||
<nuclide name="Si30" wo="0.0001317892969697033" />
|
||||
<nuclide name="Ni58" wo="0.005039827898909675" />
|
||||
<nuclide name="Ni60" wo="0.002008197216956016" />
|
||||
<nuclide name="Ni61" wo="8.875193135010345e-05" />
|
||||
<nuclide name="Ni62" wo="0.00028761167190610265" />
|
||||
<nuclide name="Ni64" wo="7.561128087810308e-05" />
|
||||
<nuclide name="Cr50" wo="0.00014607902655887153" />
|
||||
<nuclide name="Cr52" wo="0.0029294776849018824" />
|
||||
<nuclide name="Cr53" wo="0.00033857554085276" />
|
||||
<nuclide name="Cr54" wo="8.586774768648565e-05" />
|
||||
<nuclide name="Mo100" wo="0.0006341263666702117" />
|
||||
<nuclide name="Mo92" wo="0.0008769932056639445" />
|
||||
<nuclide name="Mo94" wo="0.0005619573981472699" />
|
||||
<nuclide name="Mo95" wo="0.0009812790231824658" />
|
||||
<nuclide name="Mo96" wo="0.0010415835207694215" />
|
||||
<nuclide name="Mo97" wo="0.0006048497176301975" />
|
||||
<nuclide name="Mo98" wo="0.00154921076793649" />
|
||||
<nuclide name="V50" wo="1.2256016778573164e-06" />
|
||||
<nuclide name="V51" wo="0.0004987743983221427" />
|
||||
<nuclide name="Nb93" wo="0.0001" />
|
||||
<nuclide name="Cu63" wo="0.001369583906732317" />
|
||||
<nuclide name="Cu65" wo="0.0006304160932676829" />
|
||||
<nuclide name="Ca40" wo="0.00014499268968855714" />
|
||||
<nuclide name="Ca42" wo="1.0160391170196e-06" />
|
||||
<nuclide name="Ca43" wo="2.1705537495761849e-07" />
|
||||
<nuclide name="Ca44" wo="3.4317237524995553e-06" />
|
||||
<nuclide name="Ca46" wo="6.8796341950755285e-09" />
|
||||
<nuclide name="Ca48" wo="3.3561243277098485e-07" />
|
||||
<nuclide name="B10" wo="5.506648724403529e-06" />
|
||||
<nuclide name="B11" wo="2.449335127559647e-05" />
|
||||
<nuclide name="Ti46" wo="1.1880142852196743e-05" />
|
||||
<nuclide name="Ti47" wo="1.0946673488791549e-05" />
|
||||
<nuclide name="Ti48" wo="0.00011076757837453494" />
|
||||
<nuclide name="Ti49" wo="8.298285799079257e-06" />
|
||||
<nuclide name="Ti50" wo="8.107319485397494e-06" />
|
||||
<nuclide name="Al27" wo="0.00025" />
|
||||
<nuclide name="Fe54" wo="0.054472297655949964" />
|
||||
<nuclide name="Fe56" wo="0.8867302806705092" />
|
||||
<nuclide name="Fe57" wo="0.020844748673414723" />
|
||||
<nuclide name="Fe58" wo="0.0028226730001262813" />
|
||||
</material>
|
||||
<material id="6" name="Zircaloy-4">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="6.55" />
|
||||
<nuclide name="O16" wo="0.0012494965182849112" />
|
||||
<nuclide name="O17" wo="5.034817150887735e-07" />
|
||||
<nuclide name="Cr50" wo="4.1736864731106146e-05" />
|
||||
<nuclide name="Cr52" wo="0.0008369936242576807" />
|
||||
<nuclide name="Cr53" wo="9.673586881507429e-05" />
|
||||
<nuclide name="Cr54" wo="2.4533642196138756e-05" />
|
||||
<nuclide name="Fe54" wo="0.00011855672274761877" />
|
||||
<nuclide name="Fe56" wo="0.001929932104229657" />
|
||||
<nuclide name="Fe57" wo="4.536774095388075e-05" />
|
||||
<nuclide name="Fe58" wo="6.143432068843669e-06" />
|
||||
<nuclide name="Zr90" wo="0.49750307249921255" />
|
||||
<nuclide name="Zr91" wo="0.10970127796055709" />
|
||||
<nuclide name="Zr92" wo="0.16952409354767467" />
|
||||
<nuclide name="Zr94" wo="0.17553856942304608" />
|
||||
<nuclide name="Zr96" wo="0.02888298656950975" />
|
||||
<nuclide name="Sn112" wo="0.0001325869644430062" />
|
||||
<nuclide name="Sn114" wo="9.182449637587617e-05" />
|
||||
<nuclide name="Sn115" wo="4.771905922545867e-05" />
|
||||
<nuclide name="Sn116" wo="0.002058423153629443" />
|
||||
<nuclide name="Sn117" wo="0.0010966473429083066" />
|
||||
<nuclide name="Sn118" wo="0.0034879812938438245" />
|
||||
<nuclide name="Sn119" wo="0.001247577110245757" />
|
||||
<nuclide name="Sn120" wo="0.004771539495238715" />
|
||||
<nuclide name="Sn122" wo="0.0006894094798456136" />
|
||||
<nuclide name="Sn124" wo="0.000876291604244001" />
|
||||
</material>
|
||||
<material id="7" name="Ag-In-Cd">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.16" />
|
||||
<nuclide name="Ag107" wo="0.4110094082785408" />
|
||||
<nuclide name="Ag109" wo="0.3889905917214592" />
|
||||
<nuclide name="In113" wo="0.006314443289265887" />
|
||||
<nuclide name="In115" wo="0.1436855567107341" />
|
||||
<nuclide name="Cd106" wo="0.0005864650126662538" />
|
||||
<nuclide name="Cd108" wo="0.0004261883300584398" />
|
||||
<nuclide name="Cd110" wo="0.006095738560062021" />
|
||||
<nuclide name="Cd111" wo="0.006311586256788057" />
|
||||
<nuclide name="Cd112" wo="0.011999697873295025" />
|
||||
<nuclide name="Cd113" wo="0.006140180186664414" />
|
||||
<nuclide name="Cd114" wo="0.01456750341101345" />
|
||||
<nuclide name="Cd116" wo="0.00387264036945234" />
|
||||
</material>
|
||||
<material id="8" name="Borated Water">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="0.7405820675158279" />
|
||||
<nuclide ao="0.00032178659941803253" name="B10" />
|
||||
<nuclide ao="0.0013017583017829388" name="B11" />
|
||||
<nuclide ao="1.996441935899364" name="H1" />
|
||||
<nuclide ao="0.0003109742982341739" name="H2" />
|
||||
<nuclide ao="0.9979980704223166" name="O16" />
|
||||
<nuclide ao="0.0003783846764824448" name="O17" />
|
||||
<sab name="c_H_in_H2O" />
|
||||
</material>
|
||||
<material id="9" name="Borosilicate Glass">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="2.26" />
|
||||
<nuclide ao="0.012259454378427138" name="B10" />
|
||||
<nuclide ao="0.06018253698401973" name="B11" />
|
||||
<nuclide ao="0.6509787013744828" name="O16" />
|
||||
<nuclide ao="0.00024681447050525047" name="O17" />
|
||||
<nuclide ao="0.23640592474731761" name="Si28" />
|
||||
<nuclide ao="0.01200401834354893" name="Si29" />
|
||||
<nuclide ao="0.007913102535354443" name="Si30" />
|
||||
<nuclide ao="0.024236195272461444" name="Al27" />
|
||||
</material>
|
||||
<material id="10" name="1.6% Enr. UO2 Fuel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.31341" />
|
||||
<nuclide ao="1.999242" name="O16" />
|
||||
<nuclide ao="0.000758" name="O17" />
|
||||
<nuclide ao="0.00014571996318473284" name="U234" />
|
||||
<nuclide ao="0.01630316269333107" name="U235" />
|
||||
<nuclide ao="0.983476441027697" name="U238" />
|
||||
<nuclide ao="7.467631578722921e-05" name="U236" />
|
||||
</material>
|
||||
<material id="11" name="2.4% Enr. UO2 Fuel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.29748" />
|
||||
<nuclide ao="1.999242" name="O16" />
|
||||
<nuclide ao="0.000758" name="O17" />
|
||||
<nuclide ao="0.00021718560529202018" name="U234" />
|
||||
<nuclide ao="0.024298745211983164" name="U235" />
|
||||
<nuclide ao="0.9753727692586048" name="U238" />
|
||||
<nuclide ao="0.00011129992411998257" name="U236" />
|
||||
</material>
|
||||
<material id="12" name="3.1% Enr. UO2 Fuel">
|
||||
<temperature>300</temperature>
|
||||
<density units="g/cc" value="10.30166" />
|
||||
<nuclide ao="1.999242" name="O16" />
|
||||
<nuclide ao="0.000758" name="O17" />
|
||||
<nuclide ao="0.0002807139975428889" name="U234" />
|
||||
<nuclide ao="0.03140630749703991" name="U235" />
|
||||
<nuclide ao="0.9681691225321637" name="U238" />
|
||||
<nuclide ao="0.00014385597325352966" name="U236" />
|
||||
</material>
|
||||
</materials>
|
||||
|
|
|
|||
|
|
@ -1,31 +1,79 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<plots>
|
||||
<!--radial slice -->
|
||||
<plot basis="xy" color_by="material" filename="radial_xy_slice" id="10000" type="slice">
|
||||
<origin>0.0 0.0 136.282</origin>
|
||||
<width>268.7955 268.7955</width>
|
||||
<pixels>1000 1000</pixels>
|
||||
<background>255 255 255</background>
|
||||
</plot>
|
||||
<!--axial slice-->
|
||||
<plot basis="xz" color_by="material" filename="axial_xz_slice" id="10001" type="slice">
|
||||
<origin>0.0 0.0 136.282</origin>
|
||||
<width>270.0 272.564</width>
|
||||
<pixels>1000 1000</pixels>
|
||||
<background>255 255 255</background>
|
||||
</plot>
|
||||
<!--assembly grid spacer-->
|
||||
<plot basis="xy" color_by="material" filename="assm_grid_spacer" id="10002" type="slice">
|
||||
<origin>0.0 0.0 102.021</origin>
|
||||
<width>32.25546 32.25546</width>
|
||||
<pixels>2000 2000</pixels>
|
||||
<background>255 255 255</background>
|
||||
</plot>
|
||||
<!--assembly no spacer-->
|
||||
<plot basis="xy" color_by="material" filename="assm_no_spacer" id="10003" type="slice">
|
||||
<origin>0.0 0.0 90.0</origin>
|
||||
<width>32.25546 32.25546</width>
|
||||
<pixels>2000 2000</pixels>
|
||||
<background>255 255 255</background>
|
||||
</plot>
|
||||
<!--radial slice -->
|
||||
<plot basis="xy" color_by="material" filename="radial_xy_slice" id="1" type="slice">
|
||||
<origin>0.0 0.0 141.61599999999999</origin>
|
||||
<width>268.79549999999995 268.79549999999995</width>
|
||||
<pixels>1000 1000</pixels>
|
||||
<background>255 255 255</background>
|
||||
<color id="1" rgb="255 218 185" />
|
||||
<color id="2" rgb="255 255 255" />
|
||||
<color id="3" rgb="101 101 101" />
|
||||
<color id="4" rgb="0 0 0" />
|
||||
<color id="5" rgb="0 0 0" />
|
||||
<color id="6" rgb="201 201 201" />
|
||||
<color id="7" rgb="255 0 0" />
|
||||
<color id="8" rgb="198 226 255" />
|
||||
<color id="9" rgb="0 255 0" />
|
||||
<color id="10" rgb="142 35 35" />
|
||||
<color id="11" rgb="255 215 0" />
|
||||
<color id="12" rgb="0 0 128" />
|
||||
</plot>
|
||||
<!--axial slice-->
|
||||
<plot basis="xz" color_by="material" filename="axial_xz_slice" id="2" type="slice">
|
||||
<origin>0.0 0.0 141.61599999999999</origin>
|
||||
<width>270.0 283.23199999999997</width>
|
||||
<pixels>1000 1000</pixels>
|
||||
<background>255 255 255</background>
|
||||
<color id="1" rgb="255 218 185" />
|
||||
<color id="2" rgb="255 255 255" />
|
||||
<color id="3" rgb="101 101 101" />
|
||||
<color id="4" rgb="0 0 0" />
|
||||
<color id="5" rgb="0 0 0" />
|
||||
<color id="6" rgb="201 201 201" />
|
||||
<color id="7" rgb="255 0 0" />
|
||||
<color id="8" rgb="198 226 255" />
|
||||
<color id="9" rgb="0 255 0" />
|
||||
<color id="10" rgb="142 35 35" />
|
||||
<color id="11" rgb="255 215 0" />
|
||||
<color id="12" rgb="0 0 128" />
|
||||
</plot>
|
||||
<!--assembly grid spacer-->
|
||||
<plot basis="xy" color_by="material" filename="assm_grid_spacer" id="3" type="slice">
|
||||
<origin>0.0 0.0 95.0</origin>
|
||||
<width>32.25546 32.25546</width>
|
||||
<pixels>2000 2000</pixels>
|
||||
<background>255 255 255</background>
|
||||
<color id="1" rgb="255 218 185" />
|
||||
<color id="2" rgb="255 255 255" />
|
||||
<color id="3" rgb="101 101 101" />
|
||||
<color id="4" rgb="0 0 0" />
|
||||
<color id="5" rgb="0 0 0" />
|
||||
<color id="6" rgb="201 201 201" />
|
||||
<color id="7" rgb="255 0 0" />
|
||||
<color id="8" rgb="198 226 255" />
|
||||
<color id="9" rgb="0 255 0" />
|
||||
<color id="10" rgb="142 35 35" />
|
||||
<color id="11" rgb="255 215 0" />
|
||||
<color id="12" rgb="0 0 128" />
|
||||
</plot>
|
||||
<!--assembly no spacer-->
|
||||
<plot basis="xy" color_by="material" filename="assm_no_spacer" id="4" type="slice">
|
||||
<origin>0.0 0.0 90.0</origin>
|
||||
<width>32.25546 32.25546</width>
|
||||
<pixels>2000 2000</pixels>
|
||||
<background>255 255 255</background>
|
||||
<color id="1" rgb="255 218 185" />
|
||||
<color id="2" rgb="255 255 255" />
|
||||
<color id="3" rgb="101 101 101" />
|
||||
<color id="4" rgb="0 0 0" />
|
||||
<color id="5" rgb="0 0 0" />
|
||||
<color id="6" rgb="201 201 201" />
|
||||
<color id="7" rgb="255 0 0" />
|
||||
<color id="8" rgb="198 226 255" />
|
||||
<color id="9" rgb="0 255 0" />
|
||||
<color id="10" rgb="142 35 35" />
|
||||
<color id="11" rgb="255 215 0" />
|
||||
<color id="12" rgb="0 0 128" />
|
||||
</plot>
|
||||
</plots>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<settings>
|
||||
<run_mode>eigenvalue</run_mode>
|
||||
<particles>10000</particles>
|
||||
<batches>10</batches>
|
||||
<inactive>5</inactive>
|
||||
<source strength="1.0">
|
||||
<space type="fission">
|
||||
<parameters>-75.26274000000001 -75.26274000000001 36.007 75.26274000000001 75.26274000000001 236.007</parameters>
|
||||
</space>
|
||||
</source>
|
||||
<output>
|
||||
<tallies>false</tallies>
|
||||
</output>
|
||||
<run_mode>eigenvalue</run_mode>
|
||||
<particles>10000</particles>
|
||||
<batches>200</batches>
|
||||
<inactive>100</inactive>
|
||||
<source strength="1.0">
|
||||
<space type="fission">
|
||||
<parameters>-75.26274 -75.26274 36.007 75.26274 75.26274 236.0066</parameters>
|
||||
</space>
|
||||
</source>
|
||||
<output>
|
||||
<tallies>false</tallies>
|
||||
</output>
|
||||
</settings>
|
||||
|
|
|
|||
|
|
@ -1,75 +1,75 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<tallies>
|
||||
<filter id="1" type="distribcell">
|
||||
<bins>10683</bins>
|
||||
<bins>684</bins>
|
||||
</filter>
|
||||
<filter id="2" type="distribcell">
|
||||
<bins>10687</bins>
|
||||
<bins>688</bins>
|
||||
</filter>
|
||||
<filter id="3" type="distribcell">
|
||||
<bins>10692</bins>
|
||||
<bins>693</bins>
|
||||
</filter>
|
||||
<filter id="4" type="distribcell">
|
||||
<bins>10718</bins>
|
||||
<bins>719</bins>
|
||||
</filter>
|
||||
<filter id="5" type="distribcell">
|
||||
<bins>10722</bins>
|
||||
<bins>723</bins>
|
||||
</filter>
|
||||
<filter id="6" type="distribcell">
|
||||
<bins>10727</bins>
|
||||
<bins>728</bins>
|
||||
</filter>
|
||||
<filter id="7" type="distribcell">
|
||||
<bins>10753</bins>
|
||||
<bins>754</bins>
|
||||
</filter>
|
||||
<filter id="8" type="distribcell">
|
||||
<bins>10757</bins>
|
||||
<bins>758</bins>
|
||||
</filter>
|
||||
<filter id="9" type="distribcell">
|
||||
<bins>10762</bins>
|
||||
<bins>763</bins>
|
||||
</filter>
|
||||
<tally id="10000" name="depletion tally">
|
||||
<tally id="1" name="depletion tally">
|
||||
<filters>1</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10001" name="depletion tally">
|
||||
<tally id="2" name="depletion tally">
|
||||
<filters>2</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10002" name="depletion tally">
|
||||
<tally id="3" name="depletion tally">
|
||||
<filters>3</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10003" name="depletion tally">
|
||||
<tally id="4" name="depletion tally">
|
||||
<filters>4</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10004" name="depletion tally">
|
||||
<tally id="5" name="depletion tally">
|
||||
<filters>5</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10005" name="depletion tally">
|
||||
<tally id="6" name="depletion tally">
|
||||
<filters>6</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10006" name="depletion tally">
|
||||
<tally id="7" name="depletion tally">
|
||||
<filters>7</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10007" name="depletion tally">
|
||||
<tally id="8" name="depletion tally">
|
||||
<filters>8</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
<tally id="10008" name="depletion tally">
|
||||
<tally id="9" name="depletion tally">
|
||||
<filters>9</filters>
|
||||
<nuclides>O16 O17 U234 U235 U238</nuclides>
|
||||
<nuclides>O16 O17 U234 U235 U238 U236</nuclides>
|
||||
<scores>(n,p) (n,a) (n,gamma) fission (n,2n) (n,3n) (n,4n)</scores>
|
||||
</tally>
|
||||
</tallies>
|
||||
|
|
|
|||
|
|
@ -1,391 +0,0 @@
|
|||
"""Instantiate components to use for the stainless steel baffle."""
|
||||
|
||||
import openmc
|
||||
|
||||
from .materials import mats
|
||||
from .surfaces import surfs, lattice_pitch
|
||||
from .assemblies import univs
|
||||
|
||||
|
||||
#### SOUTH BAFFLE
|
||||
|
||||
univs['baffle south dummy'] = openmc.Universe(name='baffle south dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle dummy SS')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle south']
|
||||
univs['baffle south dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle south water')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = -surfs['baffle south']
|
||||
univs['baffle south dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle south')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['baffle south dummy'], univs['baffle south dummy']],
|
||||
[univs['water pin'], univs['water pin']]]
|
||||
|
||||
univs['baffle south'] = openmc.Universe(name='baffle south')
|
||||
|
||||
cell = openmc.Cell(name='baffle south')
|
||||
cell.fill = lattice
|
||||
univs['baffle south'].add_cell(cell)
|
||||
|
||||
|
||||
#### NORTH BAFFLE
|
||||
|
||||
univs['baffle north dummy'] = openmc.Universe(name='baffle north dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle dummy SS')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle north']
|
||||
univs['baffle north dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle north water')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle north']
|
||||
univs['baffle north dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle north')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['water pin'], univs['water pin']],
|
||||
[univs['baffle north dummy'], univs['baffle north dummy']]]
|
||||
|
||||
univs['baffle north'] = openmc.Universe(name='baffle north')
|
||||
|
||||
cell = openmc.Cell(name='baffle north')
|
||||
cell.fill = lattice
|
||||
univs['baffle north'].add_cell(cell)
|
||||
|
||||
|
||||
#### WEST BAFFLE
|
||||
|
||||
univs['baffle west dummy'] = openmc.Universe(name='baffle west dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle dummy SS')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle west']
|
||||
univs['baffle west dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle west water')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = -surfs['baffle west']
|
||||
univs['baffle west dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle west')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['water pin'], univs['baffle west dummy']],
|
||||
[univs['water pin'], univs['baffle west dummy']]]
|
||||
|
||||
univs['baffle west'] = openmc.Universe(name='baffle west')
|
||||
|
||||
cell = openmc.Cell(name='baffle west')
|
||||
cell.fill = lattice
|
||||
univs['baffle west'].add_cell(cell)
|
||||
|
||||
|
||||
#### EAST BAFFLE
|
||||
|
||||
univs['baffle east dummy'] = openmc.Universe(name='baffle east dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle dummy SS')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle east']
|
||||
univs['baffle east dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle east water')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle east']
|
||||
univs['baffle east dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle east')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['baffle east dummy'], univs['water pin']],
|
||||
[univs['baffle east dummy'], univs['water pin']]]
|
||||
|
||||
univs['baffle east'] = openmc.Universe(name='baffle east')
|
||||
|
||||
cell = openmc.Cell(name='baffle east')
|
||||
cell.fill = lattice
|
||||
univs['baffle east'].add_cell(cell)
|
||||
|
||||
|
||||
#### SOUTHEAST BAFFLE
|
||||
|
||||
univs['baffle southeast dummy'] = openmc.Universe(name='baffle southeast dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle east'] & -surfs['baffle south']
|
||||
univs['baffle southeast dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast dummy 2')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle east'] & +surfs['baffle south']
|
||||
univs['baffle southeast dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle east']
|
||||
univs['baffle southeast dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle southeast')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['baffle southeast dummy'], univs['baffle south dummy']],
|
||||
[univs['baffle east dummy'], univs['water pin']]]
|
||||
|
||||
univs['baffle southeast'] = openmc.Universe(name='baffle southeast')
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast')
|
||||
cell.fill = lattice
|
||||
univs['baffle southeast'].add_cell(cell)
|
||||
|
||||
|
||||
#### SOUTHWEST BAFFLE
|
||||
|
||||
univs['baffle southwest dummy'] = openmc.Universe(name='baffle southwest dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = -surfs['baffle south'] & -surfs['baffle west']
|
||||
univs['baffle southwest dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest dummy 2')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle south'] & -surfs['baffle west']
|
||||
univs['baffle southwest dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle west']
|
||||
univs['baffle southwest dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle southwest')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['baffle south dummy'], univs['baffle southwest dummy']],
|
||||
[univs['water pin'], univs['baffle west dummy']]]
|
||||
|
||||
univs['baffle southwest'] = openmc.Universe(name='baffle southwest')
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest')
|
||||
cell.fill = lattice
|
||||
univs['baffle southwest'].add_cell(cell)
|
||||
|
||||
|
||||
#### NORTHEAST BAFFLE
|
||||
|
||||
univs['baffle northeast dummy'] = openmc.Universe(name='baffle northeast dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle north'] & +surfs['baffle east']
|
||||
univs['baffle northeast dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast dummy 2')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle north'] & +surfs['baffle east']
|
||||
univs['baffle northeast dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle east']
|
||||
univs['baffle northeast dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle northeast')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['baffle east dummy'], univs['water pin']],
|
||||
[univs['baffle northeast dummy'], univs['baffle north dummy']]]
|
||||
|
||||
univs['baffle northeast'] = openmc.Universe(name='baffle northeast')
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast')
|
||||
cell.fill = lattice
|
||||
univs['baffle northeast'].add_cell(cell)
|
||||
|
||||
|
||||
#### NORTHWEST BAFFLE
|
||||
|
||||
univs['baffle northwest dummy'] = openmc.Universe(name='baffle northwest dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle north'] & -surfs['baffle west']
|
||||
univs['baffle northwest dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest dummy 2')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle north'] & -surfs['baffle west']
|
||||
univs['baffle northwest dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle west']
|
||||
univs['baffle northwest dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle northwest')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['water pin'], univs['baffle west dummy']],
|
||||
[univs['baffle north dummy'], univs['baffle northwest dummy']]]
|
||||
|
||||
univs['baffle northwest'] = openmc.Universe(name='baffle northwest')
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest')
|
||||
cell.fill = lattice
|
||||
univs['baffle northwest'].add_cell(cell)
|
||||
|
||||
|
||||
#### SOUTHEAST CORNER BAFFLE
|
||||
|
||||
univs['baffle southeast corner dummy'] = \
|
||||
openmc.Universe(name='baffle southeast corner dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast corner dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = -surfs['baffle east'] & -surfs['baffle south']
|
||||
univs['baffle southeast corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast corner dummy 2')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle east']
|
||||
univs['baffle southeast corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast corner dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle south'] & -surfs['baffle east']
|
||||
univs['baffle southeast corner dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle southeast corner')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['baffle southeast corner dummy'], univs['water pin']],
|
||||
[univs['water pin'], univs['water pin']]]
|
||||
|
||||
univs['baffle southeast corner'] = \
|
||||
openmc.Universe(name='baffle southeast corner')
|
||||
|
||||
cell = openmc.Cell(name='baffle southeast corner')
|
||||
cell.fill = lattice
|
||||
univs['baffle southeast corner'].add_cell(cell)
|
||||
|
||||
|
||||
#### SOUTHWEST CORNER BAFFLE
|
||||
|
||||
univs['baffle southwest corner dummy'] = \
|
||||
openmc.Universe(name='baffle southwest corner dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest corner dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle west'] & -surfs['baffle south']
|
||||
univs['baffle southwest corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest corner dummy 2')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = -surfs['baffle west']
|
||||
univs['baffle southwest corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest corner dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = +surfs['baffle south'] & +surfs['baffle west']
|
||||
univs['baffle southwest corner dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle southwest corner')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['water pin'], univs['baffle southwest corner dummy']],
|
||||
[univs['water pin'], univs['water pin']]]
|
||||
|
||||
univs['baffle southwest corner'] = \
|
||||
openmc.Universe(name='baffle southwest corner')
|
||||
|
||||
cell = openmc.Cell(name='baffle southwest corner')
|
||||
cell.fill = lattice
|
||||
univs['baffle southwest corner'].add_cell(cell)
|
||||
|
||||
|
||||
#### NORTHWEST CORNER BAFFLE
|
||||
|
||||
univs['baffle northwest corner dummy'] = \
|
||||
openmc.Universe(name='baffle northwest corner dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest corner dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle west'] & +surfs['baffle north']
|
||||
univs['baffle northwest corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest corner dummy 2')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = -surfs['baffle west']
|
||||
univs['baffle northwest corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest corner dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle north'] & +surfs['baffle west']
|
||||
univs['baffle northwest corner dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle northwest corner')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['water pin'], univs['water pin']],
|
||||
[univs['water pin'], univs['baffle northwest corner dummy']]]
|
||||
|
||||
univs['baffle northwest corner'] = \
|
||||
openmc.Universe(name='baffle northwest corner')
|
||||
|
||||
cell = openmc.Cell(name='baffle northwest corner')
|
||||
cell.fill = lattice
|
||||
univs['baffle northwest corner'].add_cell(cell)
|
||||
|
||||
|
||||
#### NORTHEAST CORNER BAFFLE
|
||||
|
||||
univs['baffle northeast corner dummy'] = \
|
||||
openmc.Universe(name='baffle northeast corner dummy')
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast corner dummy 1')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = -surfs['baffle east'] & +surfs['baffle north']
|
||||
univs['baffle northeast corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast corner dummy 2')
|
||||
cell.fill = mats['H2O']
|
||||
cell.region = +surfs['baffle east']
|
||||
univs['baffle northeast corner dummy'].add_cell(cell)
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast corner dummy 3')
|
||||
cell.fill = mats['SS']
|
||||
cell.region = -surfs['baffle north'] & -surfs['baffle east']
|
||||
univs['baffle northeast corner dummy'].add_cell(cell)
|
||||
|
||||
lattice = openmc.RectLattice(name='baffle northeast corner')
|
||||
lattice.lower_left = [-lattice_pitch/2., -lattice_pitch/2.]
|
||||
lattice.pitch = [lattice_pitch/2., lattice_pitch/2.]
|
||||
lattice.universes = [
|
||||
[univs['water pin'], univs['water pin']],
|
||||
[univs['baffle northeast corner dummy'], univs['water pin']]]
|
||||
|
||||
univs['baffle northeast corner'] = \
|
||||
openmc.Universe(name='baffle northeast corner')
|
||||
|
||||
cell = openmc.Cell(name='baffle northeast corner')
|
||||
cell.fill = lattice
|
||||
univs['baffle northeast corner'].add_cell(cell)
|
||||
166
smr/smr/core.py
166
smr/smr/core.py
|
|
@ -6,96 +6,96 @@ import openmc
|
|||
|
||||
from .materials import mats
|
||||
from .surfaces import surfs, lattice_pitch
|
||||
from .baffle import univs
|
||||
from .reflector import univs
|
||||
|
||||
|
||||
#### CONSTRUCT MAIN CORE LATTICE
|
||||
|
||||
core = openmc.RectLattice(name='Main core')
|
||||
core.lower_left = [-19.*lattice_pitch/2., -19.*lattice_pitch/2.]
|
||||
core.lower_left = [-9*lattice_pitch/2, -9*lattice_pitch/2]
|
||||
core.pitch = [lattice_pitch, lattice_pitch]
|
||||
universes = np.empty((19,19), dtype=openmc.Universe)
|
||||
universes[:,:] = univs['water pin']
|
||||
universes = np.tile(univs['heavy reflector'], (9,9))
|
||||
|
||||
universes[0, 2] = univs['heavy reflector 0,2']
|
||||
universes[0, 3] = univs['heavy reflector 0,3']
|
||||
universes[0, 4] = univs['heavy reflector 0,4']
|
||||
universes[0, 5] = univs['heavy reflector 0,5']
|
||||
universes[0, 6] = univs['heavy reflector 0,6']
|
||||
|
||||
universes[1, 1] = univs['heavy reflector 1,1']
|
||||
universes[1, 2] = univs['heavy reflector NW']
|
||||
universes[1, 3] = univs['Assembly (3.1%) instr']
|
||||
universes[1, 4] = univs['Assembly (2.4%) CR D']
|
||||
universes[1, 5] = univs['Assembly (3.1%) instr']
|
||||
universes[1, 6] = univs['heavy reflector NE']
|
||||
universes[1, 7] = univs['heavy reflector 1,7']
|
||||
|
||||
universes[2, 0] = univs['heavy reflector 2,0']
|
||||
universes[2, 1] = univs['heavy reflector NW']
|
||||
universes[2, 2] = univs['Assembly (3.1%) instr']
|
||||
universes[2, 3] = univs['Assembly (2.4%) CR D']
|
||||
universes[2, 4] = univs['Assembly (3.1%) 16BA']
|
||||
universes[2, 5] = univs['Assembly (2.4%) CR D']
|
||||
universes[2, 6] = univs['Assembly (3.1%) instr']
|
||||
universes[2, 7] = univs['heavy reflector NE']
|
||||
universes[2, 8] = univs['heavy reflector 2,8']
|
||||
|
||||
universes[3, 0] = univs['heavy reflector 3,0']
|
||||
universes[3, 1] = univs['Assembly (3.1%) instr']
|
||||
universes[3, 2] = univs['Assembly (2.4%) CR D']
|
||||
universes[3, 3] = univs['Assembly (3.1%) 16BA']
|
||||
universes[3, 4] = univs['Assembly (2.4%) CR D']
|
||||
universes[3, 5] = univs['Assembly (3.1%) 16BA']
|
||||
universes[3, 6] = univs['Assembly (2.4%) CR D']
|
||||
universes[3, 7] = univs['Assembly (3.1%) instr']
|
||||
universes[3, 8] = univs['heavy reflector 3,8']
|
||||
|
||||
universes[4, 0] = univs['heavy reflector 4,0']
|
||||
universes[4, 1] = univs['Assembly (2.4%) CR D']
|
||||
universes[4, 2] = univs['Assembly (3.1%) 16BA']
|
||||
universes[4, 3] = univs['Assembly (2.4%) CR D']
|
||||
universes[4, 4] = univs['Assembly (1.6%) instr']
|
||||
universes[4, 5] = univs['Assembly (2.4%) CR D']
|
||||
universes[4, 6] = univs['Assembly (3.1%) 16BA']
|
||||
universes[4, 7] = univs['Assembly (2.4%) CR D']
|
||||
universes[4, 8] = univs['heavy reflector 4,8']
|
||||
|
||||
universes[5, 0] = univs['heavy reflector 5,0']
|
||||
universes[5, 1] = univs['Assembly (3.1%) instr']
|
||||
universes[5, 2] = univs['Assembly (2.4%) CR D']
|
||||
universes[5, 3] = univs['Assembly (3.1%) 16BA']
|
||||
universes[5, 4] = univs['Assembly (2.4%) CR D']
|
||||
universes[5, 5] = univs['Assembly (3.1%) 16BA']
|
||||
universes[5, 6] = univs['Assembly (2.4%) CR D']
|
||||
universes[5, 7] = univs['Assembly (3.1%) instr']
|
||||
universes[5, 8] = univs['heavy reflector 5,8']
|
||||
|
||||
universes[6, 0] = univs['heavy reflector 6,0']
|
||||
universes[6, 1] = univs['heavy reflector SW']
|
||||
universes[6, 2] = univs['Assembly (3.1%) instr']
|
||||
universes[6, 3] = univs['Assembly (2.4%) CR D']
|
||||
universes[6, 4] = univs['Assembly (3.1%) 16BA']
|
||||
universes[6, 5] = univs['Assembly (2.4%) CR D']
|
||||
universes[6, 6] = univs['Assembly (3.1%) instr']
|
||||
universes[6, 7] = univs['heavy reflector SE']
|
||||
universes[6, 8] = univs['heavy reflector 6,8']
|
||||
|
||||
universes[7, 1] = univs['heavy reflector 7,1']
|
||||
universes[7, 2] = univs['heavy reflector SW']
|
||||
universes[7, 3] = univs['Assembly (3.1%) instr']
|
||||
universes[7, 4] = univs['Assembly (2.4%) CR D']
|
||||
universes[7, 5] = univs['Assembly (3.1%) instr']
|
||||
universes[7, 6] = univs['heavy reflector SE']
|
||||
universes[7, 7] = univs['heavy reflector 7,7']
|
||||
|
||||
universes[8, 2] = univs['heavy reflector 8,2']
|
||||
universes[8, 3] = univs['heavy reflector 8,3']
|
||||
universes[8, 4] = univs['heavy reflector 8,4']
|
||||
universes[8, 5] = univs['heavy reflector 8,5']
|
||||
universes[8, 6] = univs['heavy reflector 8,6']
|
||||
|
||||
core.universes = universes
|
||||
|
||||
core.universes[5, 7] = univs['baffle northwest corner']
|
||||
core.universes[5, 8] = univs['baffle north']
|
||||
core.universes[5, 9] = univs['baffle north']
|
||||
core.universes[5, 10] = univs['baffle north']
|
||||
core.universes[5, 11] = univs['baffle northeast corner']
|
||||
|
||||
core.universes[6, 6] = univs['baffle northwest corner']
|
||||
core.universes[6, 7] = univs['baffle northwest']
|
||||
core.universes[6, 8] = univs['Assembly (3.1%) instr']
|
||||
core.universes[6, 9] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[6, 10] = univs['Assembly (3.1%) instr']
|
||||
core.universes[6, 11] = univs['baffle northeast']
|
||||
core.universes[6, 12] = univs['baffle northeast corner']
|
||||
|
||||
core.universes[7, 5] = univs['baffle northwest corner']
|
||||
core.universes[7, 6] = univs['baffle northwest']
|
||||
core.universes[7, 7] = univs['Assembly (3.1%) instr']
|
||||
core.universes[7, 8] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[7, 9] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[7, 10] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[7, 11] = univs['Assembly (3.1%) instr']
|
||||
core.universes[7, 12] = univs['baffle northeast']
|
||||
core.universes[7, 13] = univs['baffle northeast corner']
|
||||
|
||||
core.universes[8, 5] = univs['baffle west']
|
||||
core.universes[8, 6] = univs['Assembly (3.1%) instr']
|
||||
core.universes[8, 7] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[8, 8] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[8, 9] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[8, 10] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[8, 11] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[8, 12] = univs['Assembly (3.1%) instr']
|
||||
core.universes[8, 13] = univs['baffle east']
|
||||
|
||||
core.universes[9, 5] = univs['baffle west']
|
||||
core.universes[9, 6] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[9, 7] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[9, 8] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[9, 9] = univs['Assembly (1.6%) instr']
|
||||
core.universes[9, 10] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[9, 11] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[9, 12] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[9, 13] = univs['baffle east']
|
||||
|
||||
core.universes[10, 5] = univs['baffle west']
|
||||
core.universes[10, 6] = univs['Assembly (3.1%) instr']
|
||||
core.universes[10, 7] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[10, 8] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[10, 9] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[10, 10] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[10, 11] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[10, 12] = univs['Assembly (3.1%) instr']
|
||||
core.universes[10, 13] = univs['baffle east']
|
||||
|
||||
core.universes[11, 5] = univs['baffle southwest corner']
|
||||
core.universes[11, 6] = univs['baffle southwest']
|
||||
core.universes[11, 7] = univs['Assembly (3.1%) instr']
|
||||
core.universes[11, 8] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[11, 9] = univs['Assembly (3.1%) 16BA']
|
||||
core.universes[11, 10] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[11, 11] = univs['Assembly (3.1%) instr']
|
||||
core.universes[11, 12] = univs['baffle southeast']
|
||||
core.universes[11, 13] = univs['baffle southeast corner']
|
||||
|
||||
core.universes[12, 6] = univs['baffle southwest corner']
|
||||
core.universes[12, 7] = univs['baffle southwest']
|
||||
core.universes[12, 8] = univs['Assembly (3.1%) instr']
|
||||
core.universes[12, 9] = univs['Assembly (2.4%) CR D']
|
||||
core.universes[12, 10] = univs['Assembly (3.1%) instr']
|
||||
core.universes[12, 11] = univs['baffle southeast']
|
||||
core.universes[12, 12] = univs['baffle southeast corner']
|
||||
|
||||
core.universes[13, 7] = univs['baffle southwest corner']
|
||||
core.universes[13, 8] = univs['baffle south']
|
||||
core.universes[13, 9] = univs['baffle south']
|
||||
core.universes[13, 10] = univs['baffle south']
|
||||
core.universes[13, 11] = univs['baffle southeast corner']
|
||||
|
||||
|
||||
#### CONSTRUCT ROOT UNIVERSE AND CELLS
|
||||
|
||||
|
|
@ -204,4 +204,4 @@ root_univ.add_cell(cell)
|
|||
|
||||
#### CONSTRUCT GEOMETRY
|
||||
|
||||
geometry = openmc.Geometry(root_univ)
|
||||
geometry = openmc.Geometry(root_univ)
|
||||
|
|
|
|||
|
|
@ -127,10 +127,10 @@ univs['GT empty'] = make_pin(
|
|||
[mats['H2O'], mats['Zr'], mats['H2O']])
|
||||
univs['GT empty grid (bottom)'] = make_pin(
|
||||
'GT empty grid (bottom)', [surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='(bottom)')
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='bottom')
|
||||
univs['GT empty grid (intermediate)'] = make_pin(
|
||||
'GT empty grid (intermediate)', [surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='(intermediate)')
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='intermediate')
|
||||
univs['GT empty nozzle'] = make_pin(
|
||||
'GT empty nozzle', [surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']])
|
||||
|
|
@ -141,11 +141,11 @@ univs['GTd empty'] = make_pin(
|
|||
univs['GTd empty grid (bottom)'] = make_pin(
|
||||
'GT empty at dashpot grid (bottom)',
|
||||
[surfs['GT dashpot IR'], surfs['GT dashpot OR']],
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='(bottom)')
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='bottom')
|
||||
univs['GTd empty grid (intermediate)'] = make_pin(
|
||||
'GT empty at dashpot grid (intermediate)',
|
||||
[surfs['GT dashpot IR'], surfs['GT dashpot OR']],
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='(intermediate)')
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']], grid='intermediate')
|
||||
univs['GTd empty nozzle'] = make_pin(
|
||||
'GT empty nozzle', [surfs['GT dashpot IR'], surfs['GT dashpot OR']],
|
||||
[mats['H2O'], mats['Zr'], mats['H2O']])
|
||||
|
|
@ -166,9 +166,9 @@ stack_surfs = [
|
|||
surfs['grid3top'],
|
||||
surfs['grid4bot'],
|
||||
surfs['grid4top'],
|
||||
surfs['top active core'],
|
||||
surfs['grid5bot'],
|
||||
surfs['grid5top'],
|
||||
surfs['top active core'],
|
||||
surfs['top pin plenum'],
|
||||
surfs['top FR'],
|
||||
surfs['bot upper nozzle'],
|
||||
|
|
@ -192,7 +192,7 @@ univs['GT empty'] = make_stack(
|
|||
univs['GT empty grid (intermediate)'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty grid (bottom)'],
|
||||
univs['GT empty grid (intermediate)'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty'],
|
||||
|
|
@ -216,7 +216,7 @@ univs['GT empty instr'] = make_stack(
|
|||
univs['GT empty grid (intermediate)'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty grid (bottom)'],
|
||||
univs['GT empty grid (intermediate)'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty'],
|
||||
univs['GT empty'],
|
||||
|
|
@ -233,12 +233,12 @@ univs['IT grid (bottom)'] = make_pin(
|
|||
'IT grid (bottom)',
|
||||
[surfs['IT IR'], surfs['IT OR'], surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['Air'], mats['Zr'], mats['H2O'], mats['Zr'], mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
univs['IT grid (intermediate)'] = make_pin(
|
||||
'IT grid (intermediate)',
|
||||
[surfs['IT IR'], surfs['IT OR'], surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['Air'], mats['Zr'], mats['H2O'], mats['Zr'], mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
|
||||
univs['IT nozzle'] = make_pin(
|
||||
'IT nozzle',
|
||||
|
|
@ -267,7 +267,7 @@ univs['IT stack'] = make_stack(
|
|||
univs['IT grid (intermediate)'],
|
||||
univs['IT'],
|
||||
univs['IT'],
|
||||
univs['IT grid (bottom)'],
|
||||
univs['IT grid (intermediate)'],
|
||||
univs['IT'],
|
||||
univs['IT'],
|
||||
univs['IT'],
|
||||
|
|
@ -283,12 +283,12 @@ univs['CR'] = make_pin(
|
|||
univs['CR grid (bottom)'] = make_pin(
|
||||
'CR grid (bottom)', [surfs['CP OR'], surfs['CR IR'], surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['AIC'], mats['Air'], mats['SS'], mats['H2O'], mats['Zr'], mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
univs['CR grid (intermediate)'] = make_pin(
|
||||
'CR grid (intermediate)',
|
||||
[surfs['CP OR'], surfs['CR IR'], surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['AIC'], mats['Air'], mats['SS'], mats['H2O'], mats['Zr'], mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
univs['CR nozzle'] = make_pin(
|
||||
'CR nozzle', [surfs['CP OR'], surfs['CR IR'], surfs['CR OR']],
|
||||
[mats['AIC'], mats['Air'], mats['SS'], mats['H2O']])
|
||||
|
|
@ -301,12 +301,12 @@ univs['CR blank grid (bottom)'] = make_pin(
|
|||
'CR blank grid (bottom)',
|
||||
[surfs['CP OR'], surfs['CR IR'], surfs['CR OR'], surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['SS'], mats['Air'], mats['SS'], mats['H2O'], mats['Zr'], mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
univs['CR blank grid (intermediate)'] = make_pin(
|
||||
'CR blank grid (intermediate)',
|
||||
[surfs['CP OR'], surfs['CR IR'], surfs['CR OR'], surfs['GT IR'], surfs['GT OR']],
|
||||
[mats['SS'], mats['Air'], mats['SS'], mats['H2O'], mats['Zr'], mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
univs['CR blank nozzle'] = make_pin(
|
||||
'CR blank nozzle', [surfs['CP OR'], surfs['CR IR'], surfs['CR OR']],
|
||||
[mats['SS'], mats['Air'], mats['SS'], mats['H2O']])
|
||||
|
|
@ -455,7 +455,7 @@ univs['BA grid (bottom)'] = make_pin(
|
|||
mats['H2O'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
|
||||
univs['BA grid (intermediate)'] = make_pin(
|
||||
'BA grid (intermediate)',
|
||||
|
|
@ -476,7 +476,7 @@ univs['BA grid (intermediate)'] = make_pin(
|
|||
mats['H2O'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
|
||||
univs['BA dashpot'] = make_pin(
|
||||
'BA dashpot',
|
||||
|
|
@ -517,7 +517,7 @@ univs['BA dashpot grid (bottom)'] = make_pin(
|
|||
mats['H2O'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
|
||||
univs['BA dashpot grid (intermediate)'] = make_pin(
|
||||
'BA dashpot grid (intermediate)',
|
||||
|
|
@ -538,7 +538,7 @@ univs['BA dashpot grid (intermediate)'] = make_pin(
|
|||
mats['H2O'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
|
||||
univs['BA blank SS'] = make_pin(
|
||||
'BA blank SS',
|
||||
|
|
@ -571,9 +571,9 @@ stack_surfs_BA = [
|
|||
surfs['grid3top'],
|
||||
surfs['grid4bot'],
|
||||
surfs['grid4top'],
|
||||
surfs['top active core'],
|
||||
surfs['grid5bot'],
|
||||
surfs['grid5top'],
|
||||
surfs['top active core'],
|
||||
surfs['top pin plenum'],
|
||||
surfs['top FR'],
|
||||
surfs['bot upper nozzle'],
|
||||
|
|
@ -593,9 +593,9 @@ stack_surfs = [
|
|||
surfs['grid3top'],
|
||||
surfs['grid4bot'],
|
||||
surfs['grid4top'],
|
||||
surfs['top active core'],
|
||||
surfs['grid5bot'],
|
||||
surfs['grid5top'],
|
||||
surfs['top active core'],
|
||||
surfs['top pin plenum'],
|
||||
surfs['top FR'],
|
||||
surfs['bot upper nozzle'],
|
||||
|
|
@ -655,8 +655,8 @@ univs['pin plenum'] = make_pin(
|
|||
mats['Zr'],
|
||||
mats['H2O']])
|
||||
|
||||
univs['pin plenum grid (bottom)'] = make_pin(
|
||||
'pin plenum grid (bottom)',
|
||||
univs['pin plenum grid (intermediate)'] = make_pin(
|
||||
'pin plenum grid (intermediate)',
|
||||
surfaces=[surfs['plenum spring OR'],
|
||||
surfs['clad IR'],
|
||||
surfs['clad OR']],
|
||||
|
|
@ -664,7 +664,7 @@ univs['pin plenum grid (bottom)'] = make_pin(
|
|||
mats['He'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='intermediate')
|
||||
|
||||
|
||||
#### 1.6% ENRICHED FUEL PIN CELL
|
||||
|
|
@ -688,7 +688,7 @@ univs['Fuel (1.6%) grid (bottom)'] = make_pin(
|
|||
mats['He'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
|
||||
univs['Fuel (1.6%) grid (intermediate)'] = make_pin(
|
||||
'Fuel (1.6%) grid (intermediate)',
|
||||
|
|
@ -699,7 +699,7 @@ univs['Fuel (1.6%) grid (intermediate)'] = make_pin(
|
|||
mats['He'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
|
||||
# Stack all axial pieces of 1.6% enriched fuel pin cell
|
||||
|
||||
|
|
@ -721,7 +721,7 @@ univs['Fuel (1.6%) stack'] = make_stack(
|
|||
univs['Fuel (1.6%) grid (intermediate)'],
|
||||
univs['Fuel (1.6%)'],
|
||||
univs['pin plenum'],
|
||||
univs['pin plenum grid (bottom)'],
|
||||
univs['pin plenum grid (intermediate)'],
|
||||
univs['pin plenum'],
|
||||
univs['end plug'],
|
||||
univs['water pin'],
|
||||
|
|
@ -750,7 +750,7 @@ univs['Fuel (2.4%) grid (bottom)'] = make_pin(
|
|||
mats['He'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
|
||||
univs['Fuel (2.4%) grid (intermediate)'] = make_pin(
|
||||
'Fuel (2.4%) grid (intermediate)',
|
||||
|
|
@ -761,7 +761,7 @@ univs['Fuel (2.4%) grid (intermediate)'] = make_pin(
|
|||
mats['He'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
|
||||
# Stack all axial pieces of 2.4% enriched fuel pin cell
|
||||
|
||||
|
|
@ -783,7 +783,7 @@ univs['Fuel (2.4%) stack'] = make_stack(
|
|||
univs['Fuel (2.4%) grid (intermediate)'],
|
||||
univs['Fuel (2.4%)'],
|
||||
univs['pin plenum'],
|
||||
univs['pin plenum grid (bottom)'],
|
||||
univs['pin plenum grid (intermediate)'],
|
||||
univs['pin plenum'],
|
||||
univs['end plug'],
|
||||
univs['water pin'],
|
||||
|
|
@ -812,7 +812,7 @@ univs['Fuel (3.1%) grid (bottom)'] = make_pin(
|
|||
mats['He'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(bottom)')
|
||||
grid='bottom')
|
||||
|
||||
univs['Fuel (3.1%) grid (intermediate)'] = make_pin(
|
||||
'Fuel (3.1%) grid (intermediate)',
|
||||
|
|
@ -823,7 +823,7 @@ univs['Fuel (3.1%) grid (intermediate)'] = make_pin(
|
|||
mats['He'],
|
||||
mats['Zr'],
|
||||
mats['H2O']],
|
||||
grid='(intermediate)')
|
||||
grid='intermediate')
|
||||
|
||||
# Stack all axial pieces of 3.1% enriched fuel pin cell
|
||||
|
||||
|
|
@ -845,9 +845,9 @@ univs['Fuel (3.1%) stack'] = make_stack(
|
|||
univs['Fuel (3.1%) grid (intermediate)'],
|
||||
univs['Fuel (3.1%)'],
|
||||
univs['pin plenum'],
|
||||
univs['pin plenum grid (bottom)'],
|
||||
univs['pin plenum grid (intermediate)'],
|
||||
univs['pin plenum'],
|
||||
univs['end plug'],
|
||||
univs['water pin'],
|
||||
univs['SS pin'],
|
||||
univs['water pin']])
|
||||
univs['water pin']])
|
||||
|
|
|
|||
|
|
@ -7,18 +7,18 @@ from .materials import mats
|
|||
|
||||
|
||||
# color specifications
|
||||
col_spec = {mats['H2O'].id: [198, 226, 255], # light blue
|
||||
mats['In'].id: [101, 101, 101], # dgray
|
||||
mats['CS'].id: [ 0, 0, 0], # carbons black
|
||||
mats['Zr'].id: [201, 201, 201], # gray
|
||||
mats['SS'].id: [ 0, 0, 0], # black
|
||||
mats['Air'].id: [255, 255, 255], # white
|
||||
mats['He'].id: [255, 218, 185], # light orange
|
||||
mats['BSG'].id: [ 0, 255, 0], # green
|
||||
mats['AIC'].id: [255, 0, 0], # bright red
|
||||
mats['UO2 1.6'].id: [142, 35, 35], # light red
|
||||
mats['UO2 2.4'].id: [255, 215, 0], # gold
|
||||
mats['UO2 3.1'].id: [ 0, 0, 128]} # dark blue
|
||||
colors = {mats['H2O']: [198, 226, 255], # light blue
|
||||
mats['In']: [101, 101, 101], # dgray
|
||||
mats['CS']: [ 0, 0, 0], # carbons black
|
||||
mats['Zr']: [201, 201, 201], # gray
|
||||
mats['SS']: [ 0, 0, 0], # black
|
||||
mats['Air']: [255, 255, 255], # white
|
||||
mats['He']: [255, 218, 185], # light orange
|
||||
mats['BSG']: [ 0, 255, 0], # green
|
||||
mats['AIC']: [255, 0, 0], # bright red
|
||||
mats['UO2 1.6']: [142, 35, 35], # light red
|
||||
mats['UO2 2.4']: [255, 215, 0], # gold
|
||||
mats['UO2 3.1']: [ 0, 0, 128]} # dark blue
|
||||
|
||||
|
||||
# Create a collection of plots
|
||||
|
|
@ -30,7 +30,7 @@ plot.color_by = 'material'
|
|||
plot.origin = [0., 0., (highest_extent-lowest_extent)/2.]
|
||||
plot.width = [25*lattice_pitch/2, 25*lattice_pitch/2.]
|
||||
plot.filename = 'radial_xy_slice'
|
||||
plot.col_spec = col_spec
|
||||
plot.colors = colors
|
||||
plot.background = [255, 255, 255]
|
||||
plot.pixels = [1000, 1000]
|
||||
plots += [plot]
|
||||
|
|
@ -41,7 +41,7 @@ plot.color_by = 'material'
|
|||
plot.origin = [0., 0., (highest_extent-lowest_extent)/2.]
|
||||
plot.width = [rpv_OR*2., (highest_extent-lowest_extent)]
|
||||
plot.filename = 'axial_xz_slice'
|
||||
plot.col_spec = col_spec
|
||||
plot.colors = colors
|
||||
plot.background = [255, 255, 255]
|
||||
plot.pixels = [1000, 1000]
|
||||
plots += [plot]
|
||||
|
|
@ -49,10 +49,10 @@ plots += [plot]
|
|||
plot = openmc.Plot(name='assembly grid spacer')
|
||||
plot.basis = 'xy'
|
||||
plot.color_by = 'material'
|
||||
plot.origin = [0., 0., 102.021]
|
||||
plot.origin = [0., 0., 95.0]
|
||||
plot.width = [lattice_pitch*1.5, lattice_pitch*1.5]
|
||||
plot.filename = 'assm_grid_spacer'
|
||||
plot.col_spec = col_spec
|
||||
plot.colors = colors
|
||||
plot.background = [255, 255, 255]
|
||||
plot.pixels = [2000, 2000]
|
||||
plots += [plot]
|
||||
|
|
@ -63,7 +63,7 @@ plot.color_by = 'material'
|
|||
plot.origin = [0., 0., 90.]
|
||||
plot.width = [lattice_pitch*1.5, lattice_pitch*1.5]
|
||||
plot.filename = 'assm_no_spacer'
|
||||
plot.col_spec = col_spec
|
||||
plot.colors = colors
|
||||
plot.background = [255, 255, 255]
|
||||
plot.pixels = [2000, 2000]
|
||||
plots += [plot]
|
||||
|
|
|
|||
311
smr/smr/reflector.py
Normal file
311
smr/smr/reflector.py
Normal file
|
|
@ -0,0 +1,311 @@
|
|||
"""Stainless steel heavy reflector.
|
||||
|
||||
None of the public NuScale documents give information about the dimensions and
|
||||
location of the water holes in the heavy neutron reflector. Thus, all the
|
||||
dimensions of the water holes in the heavy reflectors were eyeballed from the
|
||||
design certification application (ML17013A274), Figure 4.3-25. A screenshot was
|
||||
used to determine the size and location of the water holes which were then
|
||||
converted to actual dimensions by scaling according to the width of an assembly.
|
||||
|
||||
"""
|
||||
|
||||
import openmc
|
||||
|
||||
from .materials import mats
|
||||
from .surfaces import surfs, lattice_pitch
|
||||
from .assemblies import univs
|
||||
|
||||
|
||||
def make_reflector(name, parameters):
|
||||
"""Make an assembly-sized heavy neutron reflector block with cooling holes.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
name : str
|
||||
Name of the universe to create
|
||||
parameters : iterable of 3-tuples
|
||||
Iterable containing tuple with the (x,y) coordinates of the center and
|
||||
the radius of a Z-cylinder and the
|
||||
|
||||
"""
|
||||
water_holes = []
|
||||
for x, y, r in parameters:
|
||||
zcyl = openmc.ZCylinder(x0=x, y0=y, R=r)
|
||||
hole = openmc.Cell(fill=mats['H2O'], region=-zcyl)
|
||||
water_holes.append(hole)
|
||||
|
||||
ss_region = openmc.Intersection(~c.region for c in water_holes)
|
||||
ss_cell = openmc.Cell(name='{} SS'.format(name), fill=mats['SS'],
|
||||
region=ss_region)
|
||||
|
||||
univs[name] = openmc.Universe(name=name)
|
||||
univs[name].add_cells(water_holes)
|
||||
univs[name].add_cell(ss_cell)
|
||||
|
||||
|
||||
# Reflector at northwest corner (fuel assemblies to the right and below)
|
||||
|
||||
width = 276
|
||||
p1 = 59
|
||||
p2 = 126
|
||||
p3 = 196
|
||||
p4 = 264
|
||||
|
||||
p5 = 105
|
||||
|
||||
p6 = 122
|
||||
p7 = 164
|
||||
|
||||
p8 = 138
|
||||
p9 = 222
|
||||
|
||||
p10 = 247
|
||||
|
||||
# There are 8 large water holes and all others appear to have the same, smaller
|
||||
# diameter
|
||||
d_small = 13
|
||||
d_large = 30
|
||||
|
||||
# All pixel widths are scaled according to the actual width of an assembly
|
||||
# divided by the width of an assembly in pixels
|
||||
scale = lattice_pitch/width
|
||||
|
||||
# Physical positions
|
||||
x1 = -lattice_pitch/2 + scale*(width - p4)
|
||||
x2 = -lattice_pitch/2 + scale*(width - p3)
|
||||
x3 = -lattice_pitch/2 + scale*(width - p2)
|
||||
x4 = -lattice_pitch/2 + scale*(width - p1)
|
||||
y1 = -lattice_pitch/2 + scale*p1
|
||||
y2 = -lattice_pitch/2 + scale*p2
|
||||
y3 = -lattice_pitch/2 + scale*p3
|
||||
y4 = -lattice_pitch/2 + scale*p4
|
||||
|
||||
x5 = -lattice_pitch/2 + scale*(width - p5)
|
||||
y5 = -lattice_pitch/2 + scale*p5
|
||||
x6 = -lattice_pitch/2 + scale*(width - p7)
|
||||
y6 = -lattice_pitch/2 + scale*p6
|
||||
x7 = -lattice_pitch/2 + scale*(width - p6)
|
||||
y7 = -lattice_pitch/2 + scale*p7
|
||||
x8 = -lattice_pitch/2 + scale*(width - p9)
|
||||
y8 = -lattice_pitch/2 + scale*p8
|
||||
x9 = -lattice_pitch/2 + scale*(width - p8)
|
||||
y9 = -lattice_pitch/2 + scale*p9
|
||||
|
||||
y10 = -lattice_pitch/2 + scale*p10
|
||||
|
||||
# Radius of small/large water holes
|
||||
r1 = scale*d_small/2
|
||||
r2 = scale*d_large/2
|
||||
|
||||
params = [
|
||||
(x1, y1, r1), (x2, y1, r1), (x3, y1, r1), (x4, y1, r2),
|
||||
(x4, y2, r1), (x4, y3, r1), (x4, y4, r1), (x5, y5, r1),
|
||||
(x6, y6, r1), (x7, y7, r1), (x8, y8, r1), (x9, y9, r1),
|
||||
(x1, y10, r1)
|
||||
]
|
||||
|
||||
make_reflector('heavy reflector NW', params)
|
||||
|
||||
# Reflector at (1, 1)
|
||||
|
||||
params = [
|
||||
(x4, y1, r1),
|
||||
(lattice_pitch/2 - scale*103, -lattice_pitch/2 + scale*156, r1),
|
||||
(lattice_pitch/2 - scale*158, -lattice_pitch/2 + scale*103, r1)
|
||||
]
|
||||
make_reflector('heavy reflector 1,1', params)
|
||||
|
||||
# Left reflector (4,0)
|
||||
|
||||
left1 = 58
|
||||
left2 = 118
|
||||
left3 = 173
|
||||
up3 = 76
|
||||
|
||||
x1 = -lattice_pitch/2 + scale*(width - left1)
|
||||
x2 = -lattice_pitch/2 + scale*(width - left2)
|
||||
d_y = scale*67
|
||||
x3 = -lattice_pitch/2 + scale*(width - left3)
|
||||
y3 = scale*up3
|
||||
|
||||
params = [
|
||||
(x1, 0, r1), (x1, d_y, r1), (x1, 2*d_y, r1), (x1, -d_y, r1), (x1, -2*d_y, r1),
|
||||
(x2, d_y/2, r1), (x2, 3/2*d_y, r1), (x2, -d_y/2, r1), (x2, -3/2*d_y, r1),
|
||||
(x3, y3, r1), (x3, -y3, r1)
|
||||
]
|
||||
|
||||
make_reflector('heavy reflector 4,0', params)
|
||||
|
||||
# Reflector at (3,0)
|
||||
|
||||
params = []
|
||||
for i in range(2, 7):
|
||||
params.append((x1, i*d_y - lattice_pitch, r1))
|
||||
for i in (5, 7, 11):
|
||||
params.append((x2, i*d_y/2 - lattice_pitch, r1))
|
||||
|
||||
left3 = 140
|
||||
left4 = 183
|
||||
up3 = 159
|
||||
up4 = 47
|
||||
|
||||
x3 = -lattice_pitch/2 + scale*(width - left3)
|
||||
y3 = -lattice_pitch/2 + scale*up3
|
||||
x4 = -lattice_pitch/2 + scale*(width - left4)
|
||||
y4 = -lattice_pitch/2 + scale*up4
|
||||
params += [(x3, y3, r1), (x4, y4, r1)]
|
||||
|
||||
make_reflector('heavy reflector 3,0', params)
|
||||
|
||||
# Reflector at (5,0)
|
||||
|
||||
params = [(x, -y, r) for x, y, r in params]
|
||||
make_reflector('heavy reflector 5,0', params)
|
||||
|
||||
# Reflector at (2, 0)
|
||||
|
||||
params = [(-lattice_pitch/2 + scale*(width - 78),
|
||||
-lattice_pitch/2 + scale*98, r1)]
|
||||
make_reflector('heavy reflector 2,0', params)
|
||||
|
||||
################################################################################
|
||||
# Beyond this point, all universes are just copies of the ones previously
|
||||
# created with a rotation applied
|
||||
|
||||
# NE corner
|
||||
cell = openmc.Cell(name='heavy reflector NE', fill=univs['heavy reflector NW'])
|
||||
cell.rotation = (0, 0, -90)
|
||||
univs['heavy reflector NE'] = openmc.Universe(name='heavy reflector NE')
|
||||
univs['heavy reflector NE'].add_cell(cell)
|
||||
|
||||
# SW corner
|
||||
cell = openmc.Cell(name='heavy reflector SW', fill=univs['heavy reflector NW'])
|
||||
cell.rotation = (0, 0, 90)
|
||||
univs['heavy reflector SW'] = openmc.Universe(name='heavy reflector SW')
|
||||
univs['heavy reflector SW'].add_cell(cell)
|
||||
|
||||
# SE corner
|
||||
cell = openmc.Cell(name='heavy reflector SE', fill=univs['heavy reflector NW'])
|
||||
cell.rotation = (0, 0, 180)
|
||||
univs['heavy reflector SE'] = openmc.Universe(name='heavy reflector SE')
|
||||
univs['heavy reflector SE'].add_cell(cell)
|
||||
|
||||
# Reflector at (0, 2)
|
||||
name = 'heavy reflector 0,2'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
|
||||
cell.rotation = (0, 180, -90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (0, 3)
|
||||
name = 'heavy reflector 0,3'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 5,0'])
|
||||
cell.rotation = (0, 0, -90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (0, 4)
|
||||
name = 'heavy reflector 0,4'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 4,0'])
|
||||
cell.rotation = (0, 0, -90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (0, 5)
|
||||
name = 'heavy reflector 0,5'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
|
||||
cell.rotation = (0, 0, -90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (0, 6)
|
||||
name = 'heavy reflector 0,6'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
|
||||
cell.rotation = (0, 0, -90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (1, 7)
|
||||
name = 'heavy reflector 1,7'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 1,1'])
|
||||
cell.rotation = (0, 0, -90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (2, 8)
|
||||
name = 'heavy reflector 2,8'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
|
||||
cell.rotation = (0, 180, 0)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (3, 8)
|
||||
name = 'heavy reflector 3,8'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
|
||||
cell.rotation = (0, 180, 0)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (4, 8)
|
||||
name = 'heavy reflector 4,8'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 4,0'])
|
||||
cell.rotation = (0, 180, 0)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (5, 8)
|
||||
name = 'heavy reflector 5,8'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
|
||||
cell.rotation = (0, 0, 180)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (6, 0)
|
||||
name = 'heavy reflector 6,0'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
|
||||
cell.rotation = (180, 0, 0)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (6, 8)
|
||||
name = 'heavy reflector 6,8'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
|
||||
cell.rotation = (0, 0, 180)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (7, 1)
|
||||
name = 'heavy reflector 7,1'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 1,1'])
|
||||
cell.rotation = (180, 0, 0)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (7, 7)
|
||||
name = 'heavy reflector 7,7'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 1,1'])
|
||||
cell.rotation = (0, 0, 180)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (8, 2)
|
||||
name = 'heavy reflector 8,2'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
|
||||
cell.rotation = (0, 0, 90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (8, 3)
|
||||
name = 'heavy reflector 8,3'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 3,0'])
|
||||
cell.rotation = (0, 0, 90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (8, 4)
|
||||
name = 'heavy reflector 8,4'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 4,0'])
|
||||
cell.rotation = (0, 0, 90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (8, 5)
|
||||
name = 'heavy reflector 8,5'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 5,0'])
|
||||
cell.rotation = (0, 0, 90)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Reflector at (8, 6)
|
||||
name = 'heavy reflector 8,6'
|
||||
cell = openmc.Cell(name=name, fill=univs['heavy reflector 2,0'])
|
||||
cell.rotation = (0, 0, 180)
|
||||
univs[name] = openmc.Universe(name=name, cells=[cell])
|
||||
|
||||
# Solid stainless steel universe
|
||||
|
||||
all_ss = openmc.Cell(name='heavy reflector', fill=mats['SS'])
|
||||
univs['heavy reflector'] = openmc.Universe(
|
||||
name='heavy reflector', cells=[all_ss])
|
||||
|
|
@ -3,17 +3,23 @@
|
|||
The geometric parameters defining the core model are tabulated here.
|
||||
The geometric specifications are loosely based upon NuScale's Small
|
||||
Modular Pressurized Water Reactor concept as detailed here in their
|
||||
NRC design certification documentation:
|
||||
NRC design certification (DC) documentation:
|
||||
|
||||
https://www.nrc.gov/docs/ML1618/ML16187A017.pdf
|
||||
https://www.nrc.gov/docs/ML1700/ML17007A001.pdf
|
||||
|
||||
NuScale DC application, chapter 1: https://www.nrc.gov/docs/ML1701/ML17013A264.pdf
|
||||
NuScale DC application, chapter 4: https://www.nrc.gov/docs/ML1701/ML17013A274.pdf
|
||||
|
||||
"""
|
||||
|
||||
import copy
|
||||
from math import tan, pi
|
||||
|
||||
import numpy as np
|
||||
import openmc
|
||||
|
||||
INCHES = 2.54
|
||||
|
||||
# Notation
|
||||
# GT: Guide Tube
|
||||
|
|
@ -26,17 +32,24 @@ import openmc
|
|||
# FA: Fuel Assembly
|
||||
# RPV: Reactor Pressure Vessel
|
||||
|
||||
# fuel rod parameters
|
||||
pellet_OR = 0.3195*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
clad_IR = 0.326*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
clad_OR = 0.374*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
active_fuel_length = 78.74*INCHES # ML17013A274, Figure 4.2-10
|
||||
plenum_length = 5.311*INCHES # ML17013A274, Figure 4.2-10
|
||||
fuel_rod_length = 85.00*INCHES # ML17013A274, Table 4.1-2
|
||||
lower_end_cap = 0.575*INCHES # ML17007A001, Table 3-2
|
||||
|
||||
# pin cell parameters
|
||||
pellet_OR = 0.405765
|
||||
clad_IR = 0.41402
|
||||
clad_OR = 0.47498
|
||||
guide_tube_IR = 0.5715
|
||||
guide_tube_OR = 0.61214
|
||||
guide_tube_dash_IR = 0.54019
|
||||
guide_tube_dash_OR = 0.61214
|
||||
control_poison_OR = 0.43310
|
||||
control_rod_IR = 0.43688
|
||||
control_rod_OR = 0.48387
|
||||
guide_tube_IR = 0.450*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
guide_tube_OR = 0.482*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
guide_tube_dash_IR = 0.397*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
guide_tube_dash_OR = guide_tube_OR
|
||||
boron_carbide_OR = 0.333*INCHES/2 # ML17013A274, Table 4.1-3
|
||||
ag_in_cd_OR = 0.336*INCHES/2 # ML17013A274, Table 4.1-3
|
||||
control_rod_IR = 0.344*INCHES/2 # ML17013A274, Table 4.1-3
|
||||
control_rod_OR = 0.381*INCHES/2 # ML17013A274, Table 4.1-3
|
||||
burn_abs_r1 = 0.21400
|
||||
burn_abs_r2 = 0.23051
|
||||
burn_abs_r3 = 0.24130
|
||||
|
|
@ -45,25 +58,28 @@ burn_abs_r5 = 0.43688
|
|||
burn_abs_r6 = 0.48387
|
||||
burn_abs_r7 = 0.56134
|
||||
burn_abs_r8 = 0.60198
|
||||
instr_tube_IR = 0.5715
|
||||
instr_tube_OR = 0.61214
|
||||
plenum_spring_OR = 0.06459
|
||||
instr_tube_IR = 0.450*INCHES/2 # ML17007A001, Table 3-1
|
||||
instr_tube_OR = 0.482*INCHES/2 # ML17007A001, Table 3-1
|
||||
plenum_spring_OR = 0.06459 # Estimate, actual is ECI
|
||||
|
||||
# grid spacer parameters
|
||||
rod_grid_side = 1.24416
|
||||
rod_grid_side = 1.24416
|
||||
spacer_height = 1.750*INCHES # ML17013A274, Figure 4.2-7
|
||||
|
||||
# lattice parameters
|
||||
pin_pitch = 1.25984
|
||||
lattice_pitch = 21.50364
|
||||
grid_strap_side = 21.47270
|
||||
# assembly parameters
|
||||
assembly_length = 95.89*INCHES # ML17013A274, Table 4.1-2
|
||||
pin_pitch = 0.496*INCHES # ML17013A274, Table 4.1-2
|
||||
lattice_pitch = 8.466*INCHES # ML17013A274, Table 4.1-2
|
||||
grid_strap_side = 21.47270
|
||||
top_nozzle_height = 3.551*INCHES # ML17013A274, Figure 4.2-2
|
||||
top_nozzle_width = 8.406*INCHES # ML17013A274, Figure 4.2-2
|
||||
|
||||
# core radial parameters
|
||||
core_barrel_IR = 85.0
|
||||
core_barrel_OR = 90.0
|
||||
neutron_shield_OR = 92.0
|
||||
baffle_width = 2.2225
|
||||
rpv_IR = 120.0
|
||||
rpv_OR = 135.0
|
||||
core_barrel_IR = 74*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
core_barrel_OR = 78*INCHES/2 # ML17013A274, Table 4.1-2
|
||||
neutron_shield_OR = core_barrel_OR + 2.0
|
||||
rpv_IR = 120.0 # Estimate?
|
||||
rpv_OR = 135.0 # Estimate?
|
||||
|
||||
# axial parameters
|
||||
lowest_extent = 0.000
|
||||
|
|
@ -75,30 +91,26 @@ bottom_fuel_rod = 35.160
|
|||
top_lower_thimble = 36.007
|
||||
bottom_fuel_stack = 36.007
|
||||
bot_burn_abs = 41.087
|
||||
active_core_height = 200.
|
||||
top_active_core = 236.007
|
||||
top_plenum = 238.343
|
||||
top_fuel_rod = 240.392
|
||||
bottom_upper_nozzle = 243.737
|
||||
top_upper_nozzle = 252.564
|
||||
highest_extent = 272.564
|
||||
top_active_core = bottom_fuel_stack + active_fuel_length
|
||||
top_plenum = top_active_core + plenum_length
|
||||
top_fuel_rod = bottom_fuel_rod + fuel_rod_length
|
||||
bottom_upper_nozzle = top_fuel_rod + (423.049 - 419.704) # BEAVRS, Fig. 32
|
||||
top_upper_nozzle = bottom_upper_nozzle + (431.876 - 423.049) # BEAVRS, Fig. 32
|
||||
highest_extent = top_upper_nozzle + 20.0
|
||||
|
||||
# The grid spacer locations are eyeball estimated from Figure 3-1 in NuScale's
|
||||
# FA design certification doc. This assumes 6cm and 2cm spacings between the
|
||||
# bottom and top of the fuel rods and the bottom and top grid spacers.
|
||||
grid1_bot = 39.7845
|
||||
grid1_top = 44.2295
|
||||
grid2_bot = 86.67325
|
||||
grid2_top = 91.11825
|
||||
grid3_bot = 133.562
|
||||
grid3_top = 138.007
|
||||
grid4_bot = 180.45075
|
||||
grid4_top = 184.89575
|
||||
grid5_bot = 227.3395
|
||||
grid5_top = 231.7845
|
||||
# FA design certification doc, ML17007A001. This assumes 6cm and 2cm spacings
|
||||
# between the bottom and top of the fuel rods and the bottom and top grid
|
||||
# spacers.
|
||||
first_grid_bot = bottom_fuel_rod + 6.0
|
||||
last_grid_top = top_fuel_rod - 2.0
|
||||
last_grid_bot = last_grid_top - spacer_height
|
||||
|
||||
grid_bottom = np.linspace(first_grid_bot, last_grid_bot, 5)
|
||||
grid_top = grid_bottom + spacer_height
|
||||
|
||||
# control rod step heights - taken from BEAVRS, use with caution for NuScale
|
||||
step0H = 45.079
|
||||
step0H = 46.079 # temporary value for now
|
||||
step102H = 206.415
|
||||
step248H = 269.122
|
||||
step_width = 1.58173
|
||||
|
|
@ -131,7 +143,7 @@ surfs['GT dashpot IR'] = openmc.ZCylinder(
|
|||
surfs['GT dashpot OR'] = openmc.ZCylinder(
|
||||
R=guide_tube_dash_OR, name='GT OR (at dashpot)')
|
||||
surfs['CP OR'] = openmc.ZCylinder(
|
||||
R=control_poison_OR, name='Control Poison OR')
|
||||
R=boron_carbide_OR, name='Control Poison OR')
|
||||
surfs['CR IR'] = openmc.ZCylinder(
|
||||
R=control_rod_IR, name='CR Clad IR')
|
||||
surfs['CR OR'] = openmc.ZCylinder(
|
||||
|
|
@ -183,28 +195,19 @@ surfs['top lower thimble'] = copy.deepcopy(surfs['bot active core'])
|
|||
surfs['BA bot'] = openmc.ZPlane(
|
||||
z0=bot_burn_abs, name='bottom of BA')
|
||||
|
||||
surfs['grid1bot'] = openmc.ZPlane(
|
||||
z0=grid1_bot, name='bottom grid 1')
|
||||
surfs['grid1top'] = openmc.ZPlane(
|
||||
z0=grid1_top, name='top of grid 1')
|
||||
for i, (bottom, top) in enumerate(zip(grid_bottom, grid_top)):
|
||||
# Create plane for bottom of spacer grid
|
||||
key = 'grid{}bot'.format(i + 1)
|
||||
name = 'bottom grid {}'.format(i + 1)
|
||||
surfs[key] = openmc.ZPlane(z0=bottom, name=name)
|
||||
|
||||
# Create plane for top of spacer grid
|
||||
key = 'grid{}top'.format(i + 1)
|
||||
name = 'top of grid {}'.format(i + 1)
|
||||
surfs[key] = openmc.ZPlane(z0=top, name=name)
|
||||
|
||||
surfs['dashpot top'] = openmc.ZPlane(
|
||||
z0=step0H, name='top dashpot')
|
||||
surfs['grid2bot'] = openmc.ZPlane(
|
||||
z0=grid2_bot, name='bottom grid 2')
|
||||
surfs['grid2top'] = openmc.ZPlane(
|
||||
z0=grid2_top, name='top grid 2')
|
||||
surfs['grid3bot'] = openmc.ZPlane(
|
||||
z0=grid3_bot, name='bottom of grid 3')
|
||||
surfs['grid3top'] = openmc.ZPlane(
|
||||
z0=grid3_top, name='top of grid 3')
|
||||
surfs['grid4bot'] = openmc.ZPlane(
|
||||
z0=grid4_bot, name='bottom of grid 4')
|
||||
surfs['grid4top'] = openmc.ZPlane(
|
||||
z0=grid4_top, name='top grid 4')
|
||||
surfs['grid5bot'] = openmc.ZPlane(
|
||||
z0=grid5_bot, name='bottom of grid 5')
|
||||
surfs['grid5top'] = openmc.ZPlane(
|
||||
z0=grid5_top, name='top grid 5')
|
||||
|
||||
surfs['top pin plenum'] = openmc.ZPlane(
|
||||
z0=top_plenum, name='top pin plenum')
|
||||
|
|
@ -272,13 +275,3 @@ surfs['upper bound'] = openmc.ZPlane(
|
|||
z0=highest_extent, name='upper problem boundary', boundary_type='vacuum')
|
||||
surfs['lower bound'] = openmc.ZPlane(
|
||||
z0=lowest_extent, name='lower problem boundary', boundary_type='vacuum')
|
||||
|
||||
# baffle surfaces
|
||||
surfs['baffle south'] = openmc.YPlane(
|
||||
y0=(lattice_pitch/4. - baffle_width), name='baffle north')
|
||||
surfs['baffle north'] = openmc.YPlane(
|
||||
y0=(baffle_width - lattice_pitch/4.), name='baffle south')
|
||||
surfs['baffle west'] = openmc.XPlane(
|
||||
x0=(lattice_pitch/4. - baffle_width), name='baffle east')
|
||||
surfs['baffle east'] = openmc.XPlane(
|
||||
x0=(baffle_width - lattice_pitch/4), name='baffle west')
|
||||
Loading…
Add table
Add a link
Reference in a new issue