diff --git a/BEAVRS/beavrs/assemblies.py b/BEAVRS/beavrs/assemblies.py index 01c167d..3c2e06f 100644 --- a/BEAVRS/beavrs/assemblies.py +++ b/BEAVRS/beavrs/assemblies.py @@ -31,34 +31,33 @@ class Assemblies(object): ['fuel', 'fuel', 'fuel', 'fuel', 'fuel', 'fuel', 'fuel', 'fuel', ' fuel', 'fuel', 'fuel', 'fuel', 'fuel', 'fuel', 'fuel', 'fuel', 'fuel'] ] - def __init__(self, pincells, mats, c): + def __init__(self, pincells, mats, constants): """ Creates BEAVRS pincell universes """ self.pins = pincells self.mats = mats - self.c = c - self._add_lattice_surfs() - self._add_assembly_surfs() + self._add_lattice_surfs(constants) + self._add_assembly_surfs(constants) self._add_bpra_layouts() self._add_rcca_layouts() - self._add_all_assembly_combinations() + self._add_all_assembly_combinations(constants) - def _add_lattice_surfs(self): + def _add_lattice_surfs(self,c): """ Adds BEAVRS lattice surfaces """ # Rectangular prism around the edge of the pinlattice self.lattice_surfs = \ - openmc.rectangular_prism(17*self.c.pinPitch, 17*self.c.pinPitch) + openmc.rectangular_prism(17*c.pinPitch, 17*c.pinPitch) - def _add_assembly_surfs(self): + def _add_assembly_surfs(self,c): """ Adds BEAVRS assembly surfaces - these include the assembly pitch""" # Rectangular prism around the edge of the pinlattice self.assem_surfs = \ - openmc.rectangular_prism(self.c.latticePitch, self.c.latticePitch) + openmc.rectangular_prism(c.latticePitch, c.latticePitch) def _add_bpra_layouts(self): @@ -227,7 +226,7 @@ class Assemblies(object): })) - def _add_all_assembly_combinations(self): + def _add_all_assembly_combinations(self,c): """ Adds all BEAVRS assembly layouts Here we make every possible combination of enrichments, control and shutdown @@ -256,8 +255,8 @@ class Assemblies(object): # Make the pin lattice lattice = TemplatedLattice(name=name) lattice.setTemplate(self.pin_lattice_template) - lattice.pitch = [self.c.pinPitch, self.c.pinPitch] - lattice.lower_left = [-17.*self.c.pinPitch/2., -17.*self.c.pinPitch/2.] + lattice.pitch = [c.pinPitch, c.pinPitch] + lattice.lower_left = [-17.*c.pinPitch/2., -17.*c.pinPitch/2.] lattice.setPosition('center', u_c) lattice.setPosition('fuel', self.pins.u_fuel_p[enr]) lattice.updatePositions(gt_spec) diff --git a/BEAVRS/beavrs/baffle.py b/BEAVRS/beavrs/baffle.py index 77c635c..93a6a1f 100644 --- a/BEAVRS/beavrs/baffle.py +++ b/BEAVRS/beavrs/baffle.py @@ -13,16 +13,15 @@ from beavrs.corebuilder import InfinitePinCell class Baffle(object): - def __init__(self, assemblies, mats, c): + def __init__(self, assemblies, mats, constants): """ Creates BEAVRS baffle universes """ self.assem = assemblies self.mats = mats - self.c = c - self._add_baffle_universes() + self._add_baffle_universes(constants) - def _add_baffle_universes(self): + def _add_baffle_universes(self,c): """ Adds BEAVRS baffle universes """ self.dummy = openmc.ZCylinder(name="Dummy filling universe", r=4000.) @@ -30,10 +29,10 @@ class Baffle(object): # North Baffle self.u_baffle_N = openmc.Universe(name='Baffle North') self.s_baffle_N_gap = openmc.YPlane(name='North Baffle Water Gap Surface', - y0=self.c.latticePitch/2-self.c.baffleWaterGap) + y0=c.latticePitch/2-c.baffleWaterGap) self.s_baffle_N = openmc.YPlane(name='North Baffle Surface', - y0=self.c.latticePitch/2 - self.c.baffleWaterGap - - self.c.baffleWidth) + y0=c.latticePitch/2 - c.baffleWaterGap + - c.baffleWidth) self.c_baffle_N1 = openmc.Cell(name='North Baffle Water Gap', fill=self.mats['Borated Water']) self.c_baffle_N1.region = +self.s_baffle_N_gap @@ -67,10 +66,10 @@ class Baffle(object): # North West Corner Baffle self.u_baffle_NW = openmc.Universe(name='Baffle North West Corner') self.s_baffle_W_gap = openmc.XPlane(name='West Baffle Water Gap Surface', - x0=self.c.baffleWaterGap-self.c.latticePitch/2) + x0=c.baffleWaterGap-c.latticePitch/2) self.s_baffle_W = openmc.XPlane(name='West Baffle Surface', - x0=self.c.baffleWaterGap + self.c.baffleWidth - - self.c.latticePitch/2) + x0=c.baffleWaterGap + c.baffleWidth + - c.latticePitch/2) self.c_baffle_C1 = openmc.Cell(name='Corner Baffle Water Gap N', fill=self.mats['Borated Water']) self.c_baffle_C1.region = +self.s_baffle_N_gap diff --git a/BEAVRS/beavrs/builder.py b/BEAVRS/beavrs/builder.py index 5d4a8a1..1cb5d71 100644 --- a/BEAVRS/beavrs/builder.py +++ b/BEAVRS/beavrs/builder.py @@ -5,11 +5,9 @@ the BEAVRS geometry. """ -import warnings +import openmc, warnings import numpy as np -import openmc - from beavrs.constants import Constants from beavrs.materials import openmc_materials from beavrs.pincells import Pincells @@ -25,23 +23,19 @@ warnings.simplefilter('once', DeprecationWarning) class BEAVRS(object): """ Main BEAVRS class""" - def __init__(self, boron_ppm=None, is_symmetric=False, is_2d=False, S=None, SS=None): + def __init__(self, S=None, SS=None, boron_ppm=None, is_symmetric=False, is_2d=False): """ We build the entire geometry in memory in the constructor """ - # TODO: make the control rod bank insertion heights attributes self.c = Constants(S,SS) - if boron_ppm is not None: - self.boron_ppm = boron_ppm - else: - self.boron_ppm = self.c.nominalBoronPPM - + if boron_ppm == None: + boron_ppm = self.c.nominalBoronPPM self.is_symmetric = is_symmetric self.is_2d = is_2d # Setup the materials - self.mats = openmc_materials(self.c, ppm=self.boron_ppm) + self.mats = openmc_materials(self.c, ppm=boron_ppm) self.pincells = Pincells(self.mats, self.c) self.assemblies = Assemblies(self.pincells, self.mats, self.c) @@ -55,7 +49,7 @@ class BEAVRS(object): self.settings_inactive = 5 self.settings_particles = 1000 baffle_flat = 7.5*self.c.latticePitch - if is_2d: + if self.is_2d: self.settings_sourcebox = [-baffle_flat, -baffle_flat, self.c.struct_LowestExtent_2d, baffle_flat, baffle_flat, self.c.struct_HighestExtent_2d] else: @@ -108,9 +102,8 @@ class BEAVRS(object): 'Sn124', 'Sn125', 'Sn126', 'Sr86', 'Sr87', 'Sr88', 'Sr89', 'Sr90', 'Ta181', 'Tb159', 'Tb160', 'Tc99', 'Te122', 'Te123', 'Te124', 'Te125', 'Te126', - 'Te128', 'Te130', 'Te132', 'Th232', 'U233', - 'U234', 'U235', 'U236', 'U238', 'W182', 'W183', - 'W184', 'W186', 'Xe128', 'Xe129', 'Xe130', 'Xe131', + 'Te128', 'Te130', 'Te132', 'Th232', 'U233', 'W182', + 'W183', 'W184', 'W186', 'Xe128', 'Xe129', 'Xe130', 'Xe131', 'Xe132', 'Xe133', 'Xe134', 'Xe135', 'Xe136', 'Y89', 'Y90', 'Y91', 'Zr90', 'Zr91', 'Zr92', 'Zr93', 'Zr94', 'Zr95', 'Zr96'] @@ -120,7 +113,6 @@ class BEAVRS(object): self.depletion_nuclides = nuclides def set_boron_ppm(self, ppm): - self.ppm = ppm self.mats = openmc_materials(ppm=ppm) def write_openmc_geometry(self): @@ -164,7 +156,7 @@ class BEAVRS(object): output = {'tallies': self.settings_output_tallies, 'summary': self.settings_summary} settings_file.output = output - settings_file.confidence_intervals = False + settings_file.confidence_intervals = self.settings_confidence settings_file.seed = np.random.randint(1e14, dtype=np.uint64) return settings_file @@ -185,8 +177,9 @@ class BEAVRS(object): self.common_tallies.export_to_xml() def set_S(self,val): + openmc.reset_auto_ids() - self.c.S = val + self.c.set_S(val) self.pincells = Pincells(self.mats, self.c) self.assemblies = Assemblies(self.pincells, self.mats, self.c) @@ -197,8 +190,9 @@ class BEAVRS(object): self.openmc_geometry = openmc.Geometry(self.main_universe) def set_SS(self,val): + openmc.reset_auto_ids() - self.c.SS = val + self.c.set_SS(val) self.pincells = Pincells(self.mats, self.c) self.assemblies = Assemblies(self.pincells, self.mats, self.c) @@ -212,8 +206,6 @@ class BEAVRS(object): model = openmc.Model(geometry=self.openmc_geometry, materials=self.materials, settings=self.settings, tallies=self.common_tallies, plots=self.plots) - model.settings.seed = np.random.randint(1e14, dtype=np.uint64) - return model def export_xml(self,as_model:bool=False): @@ -263,8 +255,8 @@ class BEAVRS(object): """ lp = self.c.latticePitch self.dd_mesh_dimension = [7, 7, nz] - self.dd_mesh_lower_left = [-10*lp, -10*lp, self.self.c.struct_LowestExtent] - self.dd_mesh_upper_right = [10*lp, 10*lp, self.self.c.struct_HighestExtent] + self.dd_mesh_lower_left = [-10*lp, -10*lp, self.c.struct_LowestExtent] + self.dd_mesh_upper_right = [10*lp, 10*lp, self.c.struct_HighestExtent] self.dd_nodemap = nodemap self.dd_truncate = True diff --git a/BEAVRS/beavrs/constants.py b/BEAVRS/beavrs/constants.py index 163db4b..6ff3657 100644 --- a/BEAVRS/beavrs/constants.py +++ b/BEAVRS/beavrs/constants.py @@ -143,119 +143,110 @@ class Constants(object): neutronShield_NEbot_SWtop = {'a': 1, 'b': math.tan(-math.pi/3 - math.pi/180), 'c': 0, 'd': 0} neutronShield_NEtop_SWbot = {'a': 1, 'b': math.tan(-math.pi/6 + math.pi/180), 'c': 0, 'd': 0} - def __init__(self, S:int=None, SS:int=None) -> None: + def __init__(self, S:int=15, SS:int=0) -> None: + + self.first_thru = True ############## Geometry paramters ############## - self.first_thru = True + self.rcca_bank_steps_withdrawn = {} - self.S = S - self.SS = SS + self.rcca_banks = self.rcca_bank_steps_withdrawn.keys() - @property - def S(self) -> int: - return self._S + ## Keff=1 at approximately S 298 + self.set_S(S,False) + self.set_SS(SS,False) - @S.setter - def S(self,S): - - if isinstance(S,(float,int)): - if S < 0: + self.update_dict() + def set_S(self, _S, print_data=True): + if isinstance(_S,(float,int)): + if _S < 0: print("Cannot have a negative S position. S set to 0") self._S = 0 - elif S > 574: + elif _S > 573: print("Cannot have a S position greater than 573. S set to 573") self._S = 573 else: - self._S = S - elif S == None: - self._S = 0 - print("Value supplied was 'None'. S Value set to default value") + self._S = int(_S) + elif _S == None: + self._S = 15 + print(f"Value supplied was 'None'. S Value set to default value of {self._S}") else: raise ValueError - self._D = max(0,228-self._S) # bite position is bank D at 213 steps withdrawn - self._C = 228 if self._D > 113 else max(0, 228-self._S+113+2) - self._B = 228 if self._C > 113 else max(0, 228-self._S+113*2+4) - self._A = 228 if self._B > 113 else max(0, 228-self._S+113*3+6) - - if not self.first_thru: - self._update_dictionary() + if print_data: print(" RCCA Positions") print(f" A: {self._A:3d} B: {self._B:3d} C: {self._C:3d} D: {self._D:3d}") print(f" SA: {self._SA:3d} SB: {self._SB:3d} SC: {self._SC:3d} SD: {self._SD:3d} SE: {self._SE:3d}") + + if not self.first_thru: + self.update_dict() else: self.first_thru = False @property - def A(self) -> int: - return self._A + def _A(self): + return 228 if self._B > 113 else max(0, 228-self._S+113*3+6) @property - def B(self) -> int: - return self._B + def _B(self): + return 228 if self._C > 113 else max(0, 228-self._S+113*2+4) @property - def C(self) -> int: - return self._C + def _C(self): + return 228 if self._D > 113 else max(0, 228-self._S+113*1+2) @property - def D(self) -> int: - return self._D + def _D(self): + return max(0,228-self._S) - @property - def SS(self) -> int: - return self._SS - - @SS.setter - def SS(self,SS): - - if isinstance(SS,(float,int)): - if SS < 0: + def set_SS(self, _SS, print_data=True): + if isinstance(_SS,(float,int)): + if _SS < 0: print("Cannot have a negative SS position. SS set to 0") self._SS = 0 - elif SS > 228: + elif _SS > 228: print("Cannot have a SS position greater than 228. SS set to 228") self._SS = 228 else: - self._SS = int(SS) - elif SS == None: + self._SS = int(_SS) + elif _SS == None: self._SS = 0 - print("Value supplied was 'None'. SS Value set to default value") + print(f"Value supplied was 'None'. SS Value set to default value of {self._SS}") else: raise ValueError - self._SA = 228-self._SS - self._SB = 228-self._SS - self._SC = 228-self._SS - self._SD = 228-self._SS - self._SE = 228-self._SS + if print_data: + print(" RCCA Positions") + print(f" A: {self._A:3d} B: {self._B:3d} C: {self._C:3d} D: {self._D:3d}") + print(f" SA: {self._SA:3d} SB: {self._SB:3d} SC: {self._SC:3d} SD: {self._SD:3d} SE: {self._SE:3d}") - self._update_dictionary() - print(" RCCA Positions") - print(f" A: {self._A:3d} B: {self._B:3d} C: {self._C:3d} D: {self._D:3d}") - print(f" SA: {self._SA:3d} SB: {self._SB:3d} SC: {self._SC:3d} SD: {self._SD:3d} SE: {self._SE:3d}") + if not self.first_thru: + self.update_dict() + else: + self.first_thru = False @property - def SA(self) -> int: - return self._SA + def _SA(self): + return 228-self._SS @property - def SB(self) -> int: - return self._SB + def _SB(self): + return 228-self._SS @property - def SC(self) -> int: - return self._SC + def _SC(self): + return 228-self._SS @property - def SD(self) -> int: - return self._SD + def _SD(self): + return 228-self._SS @property - def SE(self) -> int: - return self._SE + def _SE(self): + return 228-self._SS - def _update_dictionary(self): + def update_dict(self): + ## Steps withdrawn for each RCCA bank self.rcca_bank_steps_withdrawn = { 'A': self._A, 'B': self._B, @@ -267,8 +258,4 @@ class Constants(object): 'SD': self._SD, 'SE': self._SE, } - - @property - def rcca_banks(self): - self._update_dictionary() - return self.rcca_bank_steps_withdrawn.keys() + self.rcca_banks = self.rcca_bank_steps_withdrawn.keys() diff --git a/BEAVRS/beavrs/core.py b/BEAVRS/beavrs/core.py index 99b5da7..7d20ffb 100644 --- a/BEAVRS/beavrs/core.py +++ b/BEAVRS/beavrs/core.py @@ -56,20 +56,19 @@ class Core(object): 'J___1', 'J___2', 'J___3', 'J___8', 'J___9', 'K__15', 'K__14', 'K__13', 'K__12', 'K__11', 'K__10'] - def __init__(self, pincells, assemblies, baffle, C, is_symmetric=False): + def __init__(self, pincells, assemblies, baffle, constants, is_symmetric=False): """ Creates BEAVRS core lattice universe """ self.pins = pincells self.assem = assemblies self.baffle = baffle - self.c = C self.is_symmetric = is_symmetric self._set_enrichment_positions() self._set_instrument_tube_positions() self._set_bpra_positions() self._set_rcca_positions() - self._make_core_universe() + self._make_core_universe(constants) def _set_enrichment_positions(self): """ Sets the specification for BEAVRS assembly enrichment positions """ @@ -156,13 +155,13 @@ class Core(object): } - def _make_core_universe(self): + def _make_core_universe(self, c): """ Creates the BEAVRS core lattice universe """ lattice = TemplatedLattice(name='Core Lattice') lattice.setTemplate(self.core_lattice_template) - lattice.pitch = [self.c.latticePitch, self.c.latticePitch] - lattice.lower_left = [-19.*self.c.latticePitch/2., -19.*self.c.latticePitch/2.] + lattice.pitch = [c.latticePitch, c.latticePitch] + lattice.lower_left = [-19.*c.latticePitch/2., -19.*c.latticePitch/2.] lattice.updatePositions(self.baffle.universes) lattice.setPosition('dummy', self.pins.u_waterPin) for pos in self.core_positions: diff --git a/BEAVRS/beavrs/corebuilder.py b/BEAVRS/beavrs/corebuilder.py index cf7411f..8a161ff 100644 --- a/BEAVRS/beavrs/corebuilder.py +++ b/BEAVRS/beavrs/corebuilder.py @@ -48,10 +48,6 @@ class TemplatedLattice(openmc.RectLattice): universes.append(r) self.universes = universes - -_created_cells = {} - - class InfinitePinCell(openmc.Universe): """ Class for creating a simple pincell universe infinite in the z direction @@ -203,6 +199,8 @@ class AxialPinCell(openmc.Universe): """ + _created_cells = {} + def __init__(self, *args, **kwargs): """ Create a new AxialPinCell""" @@ -283,8 +281,8 @@ class AxialPinCell(openmc.Universe): new_name = "({0}) wrapped by ({1})".format(self._name, wrapper._name) - if new_name in _created_cells: - return _created_cells[new_name] + if new_name in self._created_cells: + return self._created_cells[new_name] # Finalize the current pincell self.finalize() @@ -307,7 +305,7 @@ class AxialPinCell(openmc.Universe): # Fill the outermost ring with the wrapping universe new_pin.add_last_ring(wrapper) - _created_cells[new_name] = new_pin + self._created_cells[new_name] = new_pin return new_pin diff --git a/BEAVRS/beavrs/materials.py b/BEAVRS/beavrs/materials.py index ca71789..79c7cf6 100644 --- a/BEAVRS/beavrs/materials.py +++ b/BEAVRS/beavrs/materials.py @@ -22,9 +22,9 @@ def openmc_materials(c,ppm): # Initialize openmc material dictionary mats = OrderedDict() -############################################## -# Create materials that use natural abundances -############################################## + ############################################## + # Create materials that use natural abundances + ############################################## # Create air material mats['Air'] = openmc.Material(name='Air') @@ -107,11 +107,11 @@ def openmc_materials(c,ppm): mats['Carbon Steel'].add_element('Al', 0.00025, 'wo') mats['Carbon Steel'].add_element('Fe', 0.96487, 'wo') -############################################## -# Create special materials -############################################## + ############################################## + # Create special materials + ############################################## -########## Enriched UO2 Fuel ################# + ########## Enriched UO2 Fuel ################# # Specify enrichments to be calculated enrs = [0.0161006, 0.0239993, 0.0310221, 0.0319547, 0.0340585] @@ -148,7 +148,7 @@ def openmc_materials(c,ppm): mats[mat_name].add_element('O', a_O, 'ao') mats[mat_name].add_element('U', a_U, 'ao', enrichment=enr*100) -########## Borosilicate Glass ################# + ########## Borosilicate Glass ################# # CASMO weight fractions wO_bsg = 0.5481 @@ -178,7 +178,7 @@ def openmc_materials(c,ppm): mats['Borosilicate Glass'].add_nuclide('B10', aB10_bsg, 'ao') mats['Borosilicate Glass'].add_nuclide('B11', aB11_bsg, 'ao') -########## Borated Water ################# + ########## Borated Water ################# # Density of clean water at 2250 psia T=560F NIST h2o_dens = 0.73986 @@ -215,7 +215,7 @@ def openmc_materials(c,ppm): mats['Borated Water'].add_element('O', aho_Bh2o, 'ao') mats['Borated Water'].add_s_alpha_beta(name='c_H_in_H2O') -########## Nozzle / Support Plate Borated Materials ################# + ########## Nozzle / Support Plate Borated Materials ################# # Calculate volume of water and steel in Nozzle / Support Plate for a # single assembly diff --git a/BEAVRS/beavrs/pincells.py b/BEAVRS/beavrs/pincells.py index 4edfffd..92cc978 100644 --- a/BEAVRS/beavrs/pincells.py +++ b/BEAVRS/beavrs/pincells.py @@ -11,30 +11,30 @@ from beavrs.corebuilder import AxialPinCell class Pincells(object): - def __init__(self, mats, C): + def __init__(self, mats,constants): """ Creates BEAVRS pincell universes """ self.mats = mats - self.c = C + AxialPinCell._created_cells.clear() - self._add_structural_axials() + self._add_structural_axials(constants) self._add_dummy_universe() - self._add_grid_pincells() - self._add_fuel_pincells() - self._add_guide_tube_pincells() - self._add_instrument_tube_pincells() - self._add_bpra_pincells() - self._add_rcca_pincells() + self._add_grid_pincells(constants) + self._add_fuel_pincells(constants) + self._add_guide_tube_pincells(constants) + self._add_instrument_tube_pincells(constants) + self._add_bpra_pincells(constants) + self._add_rcca_pincells(constants) - def _add_structural_axials(self): + def _add_structural_axials(self,c): """ Adds structure axial surfaces common for most pincells """ - self.s_struct_supportPlate_bot = openmc.ZPlane(name='Support plate bottom', z0=self.c.struct_SupportPlate_bot) - self.s_struct_supportPlate_top = openmc.ZPlane(name='Support plate top', z0=self.c.struct_SupportPlate_top) - self.s_struct_lowerNozzle_bot = openmc.ZPlane(name='Lower nozzle bottom', z0=self.c.struct_LowerNozzle_bot) - self.s_struct_lowerNozzle_top = openmc.ZPlane(name='Lower nozzle top', z0=self.c.struct_LowerNozzle_top) - self.s_struct_upperNozzle_bot = openmc.ZPlane(name='Upper nozzle bottom', z0=self.c.struct_UpperNozzle_bot) - self.s_struct_upperNozzle_top = openmc.ZPlane(name='Upper nozzle top', z0=self.c.struct_UpperNozzle_top) + self.s_struct_supportPlate_bot = openmc.ZPlane(name='Support plate bottom', z0=c.struct_SupportPlate_bot) + self.s_struct_supportPlate_top = openmc.ZPlane(name='Support plate top', z0=c.struct_SupportPlate_top) + self.s_struct_lowerNozzle_bot = openmc.ZPlane(name='Lower nozzle bottom', z0=c.struct_LowerNozzle_bot) + self.s_struct_lowerNozzle_top = openmc.ZPlane(name='Lower nozzle top', z0=c.struct_LowerNozzle_top) + self.s_struct_upperNozzle_bot = openmc.ZPlane(name='Upper nozzle bottom', z0=c.struct_UpperNozzle_bot) + self.s_struct_upperNozzle_top = openmc.ZPlane(name='Upper nozzle top', z0=c.struct_UpperNozzle_top) def _add_dummy_universe(self): """ Adds all-water universe for empty lattice positions""" @@ -43,37 +43,37 @@ class Pincells(object): self.c_water = openmc.Cell(name='Water', fill=self.mats['Borated Water']) self.u_waterPin.add_cells([self.c_water]) - def _add_grid_pincells(self): + def _add_grid_pincells(self,c): """ Adds BEAVRS pincellgrid and assembly gridsleeve pincells """ # Rectangular prisms for grid spacers grid_surfs_tb = \ - openmc.rectangular_prism(self.c.rodGridSide_tb, self.c.rodGridSide_tb) + openmc.rectangular_prism(c.rodGridSide_tb, c.rodGridSide_tb) grid_surfs_i = \ - openmc.rectangular_prism(self.c.rodGridSide_i, self.c.rodGridSide_i) + openmc.rectangular_prism(c.rodGridSide_i, c.rodGridSide_i) # Rectangular prisms for lattice grid sleeves grid_surfs_ass = \ - openmc.rectangular_prism(self.c.gridstrapSide, self.c.gridstrapSide) + openmc.rectangular_prism(c.gridstrapSide, c.gridstrapSide) # Grids axial surfaces - self.s_grid1_bot = openmc.ZPlane(name='Bottom of grid 1', z0=self.c.grid1_bot) - self.s_grid1_top = openmc.ZPlane(name='Top of grid 1', z0=self.c.grid1_top) - self.s_grid2_bot = openmc.ZPlane(name='Bottom of grid 2', z0=self.c.grid2_bot) - self.s_grid2_top = openmc.ZPlane(name='Top of grid 2', z0=self.c.grid2_top) - self.s_grid3_bot = openmc.ZPlane(name='Bottom of grid 3', z0=self.c.grid3_bot) - self.s_grid3_top = openmc.ZPlane(name='Top of grid 3', z0=self.c.grid3_top) - self.s_grid4_bot = openmc.ZPlane(name='Bottom of grid 4', z0=self.c.grid4_bot) - self.s_grid4_top = openmc.ZPlane(name='Top of grid 4', z0=self.c.grid4_top) - self.s_grid5_bot = openmc.ZPlane(name='Bottom of grid 5', z0=self.c.grid5_bot) - self.s_grid5_top = openmc.ZPlane(name='Top of grid 5', z0=self.c.grid5_top) - self.s_grid6_bot = openmc.ZPlane(name='Bottom of grid 6', z0=self.c.grid6_bot) - self.s_grid6_top = openmc.ZPlane(name='Top of grid 6', z0=self.c.grid6_top) - self.s_grid7_bot = openmc.ZPlane(name='Bottom of grid 7', z0=self.c.grid7_bot) - self.s_grid7_top = openmc.ZPlane(name='Top of grid 7', z0=self.c.grid7_top) - self.s_grid8_bot = openmc.ZPlane(name='Bottom of grid 8', z0=self.c.grid8_bot) - self.s_grid8_top = openmc.ZPlane(name='Top of grid 8', z0=self.c.grid8_top) + self.s_grid1_bot = openmc.ZPlane(name='Bottom of grid 1', z0=c.grid1_bot) + self.s_grid1_top = openmc.ZPlane(name='Top of grid 1', z0=c.grid1_top) + self.s_grid2_bot = openmc.ZPlane(name='Bottom of grid 2', z0=c.grid2_bot) + self.s_grid2_top = openmc.ZPlane(name='Top of grid 2', z0=c.grid2_top) + self.s_grid3_bot = openmc.ZPlane(name='Bottom of grid 3', z0=c.grid3_bot) + self.s_grid3_top = openmc.ZPlane(name='Top of grid 3', z0=c.grid3_top) + self.s_grid4_bot = openmc.ZPlane(name='Bottom of grid 4', z0=c.grid4_bot) + self.s_grid4_top = openmc.ZPlane(name='Top of grid 4', z0=c.grid4_top) + self.s_grid5_bot = openmc.ZPlane(name='Bottom of grid 5', z0=c.grid5_bot) + self.s_grid5_top = openmc.ZPlane(name='Top of grid 5', z0=c.grid5_top) + self.s_grid6_bot = openmc.ZPlane(name='Bottom of grid 6', z0=c.grid6_bot) + self.s_grid6_top = openmc.ZPlane(name='Top of grid 6', z0=c.grid6_top) + self.s_grid7_bot = openmc.ZPlane(name='Bottom of grid 7', z0=c.grid7_bot) + self.s_grid7_top = openmc.ZPlane(name='Top of grid 7', z0=c.grid7_top) + self.s_grid8_bot = openmc.ZPlane(name='Bottom of grid 8', z0=c.grid8_bot) + self.s_grid8_top = openmc.ZPlane(name='Top of grid 8', z0=c.grid8_top) # Grids pincell universes @@ -147,29 +147,29 @@ class Pincells(object): self.u_gridsleeve.add_last_axial_section(self.mats['Borated Water']) self.u_gridsleeve.finalize() - def _add_fuel_pincells(self): + def _add_fuel_pincells(self,c): """ Adds BEAVRS fuel pincells """ self.enrichments = ['1.6%', '2.4%', '3.1%', '3.2%', '3.4%'] # Fuel radial surfaces - self.s_fuel_pellet_OR = openmc.ZCylinder(name='Fuel pellet OR', r=self.c.pelletOR) - self.s_fuel_clad_IR = openmc.ZCylinder(name='Fuel clad IR', r=self.c.cladIR) - self.s_fuel_clad_OR = openmc.ZCylinder(name='Fuel clad OR', r=self.c.cladOR) - self.s_fuel_plenumSpring_OR = openmc.ZCylinder(name='Fuel rod plenum spring OR', r=self.c.plenumSpringOR) + self.s_fuel_pellet_OR = openmc.ZCylinder(name='Fuel pellet OR', r=c.pelletOR) + self.s_fuel_clad_IR = openmc.ZCylinder(name='Fuel clad IR', r=c.cladIR) + self.s_fuel_clad_OR = openmc.ZCylinder(name='Fuel clad OR', r=c.cladOR) + self.s_fuel_plenumSpring_OR = openmc.ZCylinder(name='Fuel rod plenum spring OR', r=c.plenumSpringOR) # Fuel axial surfaces - self.s_fuel_rod_bot = openmc.ZPlane(name='Fuel rod bottom', z0=self.c.fuel_Rod_bot) + self.s_fuel_rod_bot = openmc.ZPlane(name='Fuel rod bottom', z0=c.fuel_Rod_bot) self.s_fuel_lowerFitting_bot = self.s_fuel_rod_bot - self.s_fuel_lowerFitting_top = openmc.ZPlane(name='Fuel lower fitting top', z0=self.c.fuel_LowerFitting_top) + self.s_fuel_lowerFitting_top = openmc.ZPlane(name='Fuel lower fitting top', z0=c.fuel_LowerFitting_top) self.s_fuel_activeFuel_bot = self.s_fuel_lowerFitting_top - self.s_fuel_activeFuel_top = openmc.ZPlane(name='Fuel active region top', z0=self.c.fuel_ActiveFuel_top) + self.s_fuel_activeFuel_top = openmc.ZPlane(name='Fuel active region top', z0=c.fuel_ActiveFuel_top) self.s_fuel_plenum_bot = self.s_fuel_activeFuel_top - self.s_fuel_plenum_top = openmc.ZPlane(name='Fuel plenum top', z0=self.c.fuel_Plenum_top) + self.s_fuel_plenum_top = openmc.ZPlane(name='Fuel plenum top', z0=c.fuel_Plenum_top) self.s_fuel_upperFitting_bot = self.s_fuel_plenum_top - self.s_fuel_upperFitting_top = openmc.ZPlane(name='Fuel upper fitting top', z0=self.c.fuel_UpperFitting_top) + self.s_fuel_upperFitting_top = openmc.ZPlane(name='Fuel upper fitting top', z0=c.fuel_UpperFitting_top) # Fuel pincell universes @@ -204,22 +204,22 @@ class Pincells(object): self.u_fuel_p[enr] = self.u_fuel_p[enr].add_wrapper(self.u_grids, self.s_fuel_clad_OR) self.u_fuel_p[enr].finalize() - def _add_guide_tube_pincells(self): + def _add_guide_tube_pincells(self,c): """ Adds BEAVRS guide tube pincells """ # GT radial surfaces - self.s_gt_IR = openmc.ZCylinder(name='Guide tube IR', r=self.c.guideTubeIR) - self.s_gt_OR = openmc.ZCylinder(name='Guide tube OR', r=self.c.guideTubeOR) - self.s_gt_dashpot_IR = openmc.ZCylinder(name='Guide tube IR below dashpot', r=self.c.guideTubeDashIR) - self.s_gt_dashpot_OR = openmc.ZCylinder(name='Guide tube OR below dashpot', r=self.c.guideTubeDashOR) + self.s_gt_IR = openmc.ZCylinder(name='Guide tube IR', r=c.guideTubeIR) + self.s_gt_OR = openmc.ZCylinder(name='Guide tube OR', r=c.guideTubeOR) + self.s_gt_dashpot_IR = openmc.ZCylinder(name='Guide tube IR below dashpot', r=c.guideTubeDashIR) + self.s_gt_dashpot_OR = openmc.ZCylinder(name='Guide tube OR below dashpot', r=c.guideTubeDashOR) # GT axial surfaces - self.s_gt_rod_bot = openmc.ZPlane(name='Bottom of GT rod', z0=self.c.gt_Rod_bot) + self.s_gt_rod_bot = openmc.ZPlane(name='Bottom of GT rod', z0=c.gt_Rod_bot) self.s_gt_dashpot_bot = self.s_gt_rod_bot - self.s_gt_dashpot_top = openmc.ZPlane(name='GT Dashpot plane', z0=self.c.gt_Dashpot_top) - self.s_gt_rod_top = openmc.ZPlane(name='Top of GT rod', z0=self.c.gt_Rod_top) + self.s_gt_dashpot_top = openmc.ZPlane(name='GT Dashpot plane', z0=c.gt_Dashpot_top) + self.s_gt_rod_top = openmc.ZPlane(name='Top of GT rod', z0=c.gt_Rod_top) # GT pincell universes @@ -255,13 +255,13 @@ class Pincells(object): self.u_gt_nodashpot = self.u_gt_nodashpot.add_wrapper(self.u_grids, self.s_gt_OR) self.u_gt_nodashpot.finalize() - def _add_instrument_tube_pincells(self): + def _add_instrument_tube_pincells(self,c): """ Adds BEAVRS instrument tube pincells to self object """ # IT radial surfaces - self.s_it_IR = openmc.ZCylinder(name='Instrument tube thimble IR', r=self.c.instrTubeIR) - self.s_it_OR = openmc.ZCylinder(name='Instrument tube thimble OR', r=self.c.instrTubeOR) + self.s_it_IR = openmc.ZCylinder(name='Instrument tube thimble IR', r=c.instrTubeIR) + self.s_it_OR = openmc.ZCylinder(name='Instrument tube thimble OR', r=c.instrTubeOR) # IT pincell universe self.u_it_p = InfinitePinCell(name='Instrument tube thimble') @@ -288,28 +288,28 @@ class Pincells(object): # IT axial stack - empty self.u_it_nt = self.u_gt_nodashpot - def _add_bpra_pincells(self): + def _add_bpra_pincells(self,c): """ Adds BEAVRS BPRA pincells """ # BP radial surfaces - self.s_bp_innerclad_IR = openmc.ZCylinder(name='BPRA rod radius 1', r=self.c.burnabs1) - self.s_bp_innerclad_OR = openmc.ZCylinder(name='BPRA rod radius 2', r=self.c.burnabs2) - self.s_bp_poison_IR = openmc.ZCylinder(name='BPRA rod radius 3', r=self.c.burnabs3) - self.s_bp_poison_OR = openmc.ZCylinder(name='BPRA rod radius 4', r=self.c.burnabs4) - self.s_bp_outerclad_IR = openmc.ZCylinder(name='BPRA rod radius 5', r=self.c.burnabs5) - self.s_bp_outerclad_OR = openmc.ZCylinder(name='BPRA rod radius 6', r=self.c.burnabs6) + self.s_bp_innerclad_IR = openmc.ZCylinder(name='BPRA rod radius 1', r=c.burnabs1) + self.s_bp_innerclad_OR = openmc.ZCylinder(name='BPRA rod radius 2', r=c.burnabs2) + self.s_bp_poison_IR = openmc.ZCylinder(name='BPRA rod radius 3', r=c.burnabs3) + self.s_bp_poison_OR = openmc.ZCylinder(name='BPRA rod radius 4', r=c.burnabs4) + self.s_bp_outerclad_IR = openmc.ZCylinder(name='BPRA rod radius 5', r=c.burnabs5) + self.s_bp_outerclad_OR = openmc.ZCylinder(name='BPRA rod radius 6', r=c.burnabs6) # BP axial surfaces - self.s_bp_rod_bot = openmc.ZPlane(name='Bottom of BPRA rod', z0=self.c.bpra_Rod_bot) + self.s_bp_rod_bot = openmc.ZPlane(name='Bottom of BPRA rod', z0=c.bpra_Rod_bot) self.s_bp_lowerFitting_bot = self.s_bp_rod_bot - self.s_bp_lowerFitting_top = openmc.ZPlane(name='Top of lower fitting in BPRA rod', z0=self.c.bpra_LowerFitting_top) + self.s_bp_lowerFitting_top = openmc.ZPlane(name='Top of lower fitting in BPRA rod', z0=c.bpra_LowerFitting_top) self.s_bp_active_bot = self.s_bp_lowerFitting_top - self.s_bp_active_top = openmc.ZPlane(name='Top of active poison in BPRA rod', z0=self.c.bpra_Active_top) + self.s_bp_active_top = openmc.ZPlane(name='Top of active poison in BPRA rod', z0=c.bpra_Active_top) self.s_bp_plenum_bot = self.s_bp_active_top - self.s_bp_plenum_top = openmc.ZPlane(name='Top of plenum in BPRA rod', z0=self.c.bpra_Plenum_top) - self.s_bp_rod_top = openmc.ZPlane(name='Top of BPRA rod', z0=self.c.bpra_Rod_top) + self.s_bp_plenum_top = openmc.ZPlane(name='Top of plenum in BPRA rod', z0=c.bpra_Plenum_top) + self.s_bp_rod_top = openmc.ZPlane(name='Top of BPRA rod', z0=c.bpra_Rod_top) # BP pincell universes @@ -343,17 +343,17 @@ class Pincells(object): self.u_bp = self.u_bp.add_wrapper(self.u_gt, self.s_bp_outerclad_OR) self.u_bp.finalize() - def _add_rcca_pincells(self): + def _add_rcca_pincells(self,c): """ Adds BEAVRS RCCA pincells """ # RCCA rod radial surfaces - self.s_rcca_clad_IR = openmc.ZCylinder(name='RCCA rod clad IR', r=self.c.rcca_clad_IR) - self.s_rcca_clad_OR = openmc.ZCylinder(name='RCCA rod clad OR', r=self.c.rcca_clad_OR) - self.s_rcca_b4c_OR = openmc.ZCylinder(name='RCCA rod B4C OR', r=self.c.rcca_b4c_OR) - self.s_rcca_aic_OR = openmc.ZCylinder(name='RCCA rod AIC OR', r=self.c.rcca_aic_OR) - self.s_rcca_spacer_OR = openmc.ZCylinder(name='RCCA rod spacer OR', r=self.c.rcca_spacer_OR) - self.s_rcca_spring_OR = openmc.ZCylinder(name='RCCA rod plenum spring OR', r=self.c.rcca_spring_OR) + self.s_rcca_clad_IR = openmc.ZCylinder(name='RCCA rod clad IR', r=c.rcca_clad_IR) + self.s_rcca_clad_OR = openmc.ZCylinder(name='RCCA rod clad OR', r=c.rcca_clad_OR) + self.s_rcca_b4c_OR = openmc.ZCylinder(name='RCCA rod B4C OR', r=c.rcca_b4c_OR) + self.s_rcca_aic_OR = openmc.ZCylinder(name='RCCA rod AIC OR', r=c.rcca_aic_OR) + self.s_rcca_spacer_OR = openmc.ZCylinder(name='RCCA rod spacer OR', r=c.rcca_spacer_OR) + self.s_rcca_spring_OR = openmc.ZCylinder(name='RCCA rod plenum spring OR', r=c.rcca_spring_OR) # RCCA rod axial surfaces @@ -363,14 +363,14 @@ class Pincells(object): self.s_rcca_b4c_top = {} self.s_rcca_spacer_top = {} self.s_rcca_plenum_top = {} - for b in sorted(self.c.rcca_banks): - d = self.c.rcca_bank_steps_withdrawn[b]*self.c.rcca_StepWidth - self.s_rcca_rod_bot[b] = openmc.ZPlane(name='Bottom of RCCA rod bank {0}'.format(b), z0=self.c.rcca_Rod_bot + d) - self.s_rcca_lowerFitting_top[b] = openmc.ZPlane(name='Top of RCCA rod lower fitting bank {0}'.format(b), z0=self.c.rcca_LowerFitting_top + d) - self.s_rcca_aic_top[b] = openmc.ZPlane(name='Top of RCCA rod AIC bank {0}'.format(b), z0=self.c.rcca_AIC_top + d) - self.s_rcca_b4c_top[b] = openmc.ZPlane(name='Top of RCCA rod B4C bank {0}'.format(b), z0=self.c.rcca_B4C_top + d) - self.s_rcca_spacer_top[b] = openmc.ZPlane(name='Top of RCCA rod spacer bank {0}'.format(b), z0=self.c.rcca_Spacer_top + d) - self.s_rcca_plenum_top[b] = openmc.ZPlane(name='Top of RCCA rod plenum bank {0}'.format(b), z0=self.c.rcca_Plenum_top + d) + for b in sorted(c.rcca_banks): + d = c.rcca_bank_steps_withdrawn[b]*c.rcca_StepWidth + self.s_rcca_rod_bot[b] = openmc.ZPlane(name='Bottom of RCCA rod bank {0}'.format(b), z0=c.rcca_Rod_bot + d) + self.s_rcca_lowerFitting_top[b] = openmc.ZPlane(name='Top of RCCA rod lower fitting bank {0}'.format(b), z0=c.rcca_LowerFitting_top + d) + self.s_rcca_aic_top[b] = openmc.ZPlane(name='Top of RCCA rod AIC bank {0}'.format(b), z0=c.rcca_AIC_top + d) + self.s_rcca_b4c_top[b] = openmc.ZPlane(name='Top of RCCA rod B4C bank {0}'.format(b), z0=c.rcca_B4C_top + d) + self.s_rcca_spacer_top[b] = openmc.ZPlane(name='Top of RCCA rod spacer bank {0}'.format(b), z0=c.rcca_Spacer_top + d) + self.s_rcca_plenum_top[b] = openmc.ZPlane(name='Top of RCCA rod plenum bank {0}'.format(b), z0=c.rcca_Plenum_top + d) # RCCA pincell universes @@ -401,7 +401,7 @@ class Pincells(object): # RCCA rod axial stack self.u_rcca = {} - for b in sorted(self.c.rcca_banks): + for b in sorted(c.rcca_banks): self.u_rcca[b] = AxialPinCell(name='RCCA bank {0}'.format(b)) self.u_rcca[b].add_axial_section(self.s_struct_supportPlate_bot, self.mats['Borated Water']) self.u_rcca[b].add_axial_section(self.s_struct_lowerNozzle_top, self.mats['Water SPN']) diff --git a/BEAVRS/beavrs/plots.py b/BEAVRS/beavrs/plots.py index 0779276..48f1618 100644 --- a/BEAVRS/beavrs/plots.py +++ b/BEAVRS/beavrs/plots.py @@ -6,16 +6,15 @@ import openmc class Plots(object): - def __init__(self, mats, c): + def __init__(self, mats, constants): """ Creates BEAVRS plots""" self.mats = mats - self.c = c self.plots = [] self._set_colors() - self._add_plots() + self._add_plots(constants) def _set_colors(self): @@ -37,9 +36,9 @@ class Plots(object): self.mats['Fuel 3.1%']: [ 0, 0, 128], # 3.1: dark blue } - def _add_plots(self): + def _add_plots(self,c): - H = self.c.struct_HighestExtent-self.c.struct_LowestExtent + H = c.struct_HighestExtent-c.struct_LowestExtent res = 1000 # BPRA positions @@ -48,7 +47,7 @@ class Plots(object): plot.color_by = 'material' plot.basis = 'xy' plot.origin = [0, 0, H/2] - plot.width = [self.c.rpvOR*2, self.c.rpvOR*2] + plot.width = [c.rpvOR*2, c.rpvOR*2] plot.pixels = [res, res] plot.mask_components = [self.mats['Borosilicate Glass']] self.plots.append(plot) @@ -58,7 +57,7 @@ class Plots(object): plot.color_by = 'material' plot.basis = 'xy' plot.origin = [0, 0, H/2] - plot.width = [self.c.rpvOR*2, self.c.rpvOR*2] + plot.width = [c.rpvOR*2, c.rpvOR*2] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) @@ -68,7 +67,7 @@ class Plots(object): plot.color_by = 'material' plot.basis = 'xy' plot.origin = [0, 0, H/2] - plot.width = [self.c.rpvOR*2, self.c.rpvOR*2] + plot.width = [c.rpvOR*2, c.rpvOR*2] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) @@ -77,8 +76,8 @@ class Plots(object): plot.filename = 'radial_mats_grid1_center' plot.color_by = 'material' plot.basis = 'xy' - plot.origin = [0, 0, self.c.grid1_bot+(self.c.grid1_top - self.c.grid1_bot)/2] - plot.width = [self.c.rpvOR*2, self.c.rpvOR*2] + plot.origin = [0, 0, c.grid1_bot+(c.grid1_top - c.grid1_bot)/2] + plot.width = [c.rpvOR*2, c.rpvOR*2] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) @@ -87,8 +86,8 @@ class Plots(object): plot.filename = 'radial_mats_grid4_center' plot.color_by = 'material' plot.basis = 'xy' - plot.origin = [0, 0, self.c.grid4_bot+(self.c.grid4_top - self.c.grid4_bot)/2] - plot.width = [self.c.rpvOR*2, self.c.rpvOR*2] + plot.origin = [0, 0, c.grid4_bot+(c.grid4_top - c.grid4_bot)/2] + plot.width = [c.rpvOR*2, c.rpvOR*2] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) @@ -127,7 +126,7 @@ class Plots(object): plot.filename = 'axial_mats_row_8_topzoom3' plot.color_by = 'material' plot.basis = 'xz' - plot.origin = [0, 0, self.c.fuel_Rod_top] + plot.origin = [0, 0, c.fuel_Rod_top] plot.width = [H/8, H/8] plot.pixels = [res, res] plot.colors = self.colors_mat @@ -157,7 +156,7 @@ class Plots(object): plot.filename = 'axial_mats_row_8_botzoom3' plot.color_by = 'material' plot.basis = 'xz' - plot.origin = [0, 0, self.c.fuel_Rod_bot] + plot.origin = [0, 0, c.fuel_Rod_bot] plot.width = [H/8, H/8] plot.pixels = [res, res] plot.colors = self.colors_mat @@ -167,8 +166,8 @@ class Plots(object): plot.filename = 'grid5_mats_H7' plot.color_by = 'material' plot.basis = 'xy' - plot.origin = [0, self.c.latticePitch, self.c.grid5_bot+(self.c.grid5_top-self.c.grid5_bot)/2] - plot.width = [self.c.latticePitch, self.c.latticePitch] + plot.origin = [0, c.latticePitch, c.grid5_bot+(c.grid5_top-c.grid5_bot)/2] + plot.width = [c.latticePitch, c.latticePitch] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) @@ -177,10 +176,10 @@ class Plots(object): plot.filename = 'grid8_mats_J14' plot.color_by = 'material' plot.basis = 'xy' - plot.origin = [-self.c.latticePitch+self.c.latticePitch/3, \ - -6*self.c.latticePitch+self.c.latticePitch/3, \ - self.c.grid8_bot+(self.c.grid8_top-self.c.grid8_bot)/2] - plot.width = [self.c.latticePitch, self.c.latticePitch] + plot.origin = [-c.latticePitch+c.latticePitch/3, \ + -6*c.latticePitch+c.latticePitch/3, \ + c.grid8_bot+(c.grid8_top-c.grid8_bot)/2] + plot.width = [c.latticePitch, c.latticePitch] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) @@ -189,10 +188,10 @@ class Plots(object): plot.filename = 'grid5_mats_J14' plot.color_by = 'material' plot.basis = 'xy' - plot.origin = [-self.c.latticePitch+self.c.latticePitch/3, \ - -6*self.c.latticePitch+self.c.latticePitch/3, \ - self.c.grid5_bot+(self.c.grid5_top-self.c.grid5_bot)/2] - plot.width = [self.c.latticePitch, self.c.latticePitch] + plot.origin = [-c.latticePitch+c.latticePitch/3, \ + -6*c.latticePitch+c.latticePitch/3, \ + c.grid5_bot+(c.grid5_top-c.grid5_bot)/2] + plot.width = [c.latticePitch, c.latticePitch] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) @@ -201,31 +200,31 @@ class Plots(object): plot.filename = 'midplane_mats_J14' plot.color_by = 'material' plot.basis = 'xy' - plot.origin = [-self.c.latticePitch+self.c.latticePitch/3, \ - -6*self.c.latticePitch+self.c.latticePitch/3, H/2] - plot.width = [self.c.latticePitch, self.c.latticePitch] + plot.origin = [-c.latticePitch+c.latticePitch/3, \ + -6*c.latticePitch+c.latticePitch/3, H/2] + plot.width = [c.latticePitch, c.latticePitch] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) - h = 4*(self.c.struct_LowerNozzle_top - self.c.struct_SupportPlate_bot)/self.c.latticePitch + h = 4*(c.struct_LowerNozzle_top - c.struct_SupportPlate_bot)/c.latticePitch plot = openmc.Plot() plot.filename = 'J8_axial_bot' plot.color_by = 'material' plot.basis = 'xz' - plot.origin = [0, self.c.latticePitch, self.c.struct_LowerNozzle_top] - plot.width = [self.c.latticePitch, h] + plot.origin = [0, c.latticePitch, c.struct_LowerNozzle_top] + plot.width = [c.latticePitch, h] plot.pixels = [res, int(res*h)] plot.colors = self.colors_mat self.plots.append(plot) - h = 4*(self.c.struct_UpperNozzle_top - self.c.fuel_Rod_top)/self.c.latticePitch + h = 4*(c.struct_UpperNozzle_top - c.fuel_Rod_top)/c.latticePitch plot = openmc.Plot() plot.filename = 'J8_axial_top' plot.color_by = 'material' plot.basis = 'xz' - plot.origin = [0, self.c.latticePitch, self.c.fuel_Rod_top] - plot.width = [self.c.latticePitch, h] + plot.origin = [0, c.latticePitch, c.fuel_Rod_top] + plot.width = [c.latticePitch, h] plot.pixels = [res, int(res*h)] plot.colors = self.colors_mat self.plots.append(plot) @@ -234,18 +233,18 @@ class Plots(object): plot.filename = 'J8_nozzle' plot.color_by = 'material' plot.basis = 'xy' - plot.origin = [0, self.c.latticePitch, self.c.struct_SupportPlate_bot + 2.0] - plot.width = [self.c.latticePitch, self.c.latticePitch] + plot.origin = [0, c.latticePitch, c.struct_SupportPlate_bot + 2.0] + plot.width = [c.latticePitch, c.latticePitch] plot.pixels = [res, res] plot.colors = self.colors_mat self.plots.append(plot) - h = 2*(self.c.struct_UpperNozzle_top - self.c.fuel_Rod_top) + h = 2*(c.struct_UpperNozzle_top - c.fuel_Rod_top) plot = openmc.Plot() plot.filename = 'H8_axial_top' plot.color_by = 'material' plot.basis = 'xz' - plot.origin = [0, self.c.latticePitch, self.c.fuel_Rod_top] + plot.origin = [0, c.latticePitch, c.fuel_Rod_top] plot.width = [h, h] plot.pixels = [res, res] plot.colors = self.colors_mat diff --git a/BEAVRS/beavrs/univzero.py b/BEAVRS/beavrs/univzero.py index d0f29ae..126aef4 100644 --- a/BEAVRS/beavrs/univzero.py +++ b/BEAVRS/beavrs/univzero.py @@ -8,64 +8,63 @@ import openmc class UniverseZero(openmc.Universe): - def __init__(self, core, mats, C, is_2d=False): + def __init__(self, core, mats, constants, is_2d=False): """ Creates BEAVRS main universe """ super(UniverseZero, self).__init__(name='Main BEAVRS universe', universe_id=0) self.core = core self.mats = mats - self.c = C self.is_2d = is_2d - self._add_outer_rings() - self._add_shield_panels() - self._add_core_barrel() + self._add_outer_rings(constants) + self._add_shield_panels(constants) + self._add_core_barrel(constants) self._create_main_universe() - def _add_outer_rings(self): + def _add_outer_rings(self,c): """ Adds BEAVRS RPV, liner, and downcomer """ # Change z-dimension based on whether 2D or 3D problem if self.is_2d: - self.s_upperBound = openmc.ZPlane(name='Highest Extent', z0=self.c.struct_HighestExtent_2d, boundary_type='reflective') - self.s_lowerBound = openmc.ZPlane(name='Lowest Extent', z0=self.c.struct_LowestExtent_2d, boundary_type='reflective') + self.s_upperBound = openmc.ZPlane(name='Highest Extent', z0=c.struct_HighestExtent_2d, boundary_type='reflective') + self.s_lowerBound = openmc.ZPlane(name='Lowest Extent', z0=c.struct_LowestExtent_2d, boundary_type='reflective') else: - self.s_upperBound = openmc.ZPlane(name='Highest Extent', z0=self.c.struct_HighestExtent, boundary_type='vacuum') - self.s_lowerBound = openmc.ZPlane(name='Lowest Extent', z0=self.c.struct_LowestExtent, boundary_type='vacuum') + self.s_upperBound = openmc.ZPlane(name='Highest Extent', z0=c.struct_HighestExtent, boundary_type='vacuum') + self.s_lowerBound = openmc.ZPlane(name='Lowest Extent', z0=c.struct_LowestExtent, boundary_type='vacuum') # RPV - self.s_RPVOR = openmc.ZCylinder(name='RPV OR', r=self.c.rpvOR, boundary_type='vacuum') - self.s_RPVIR = openmc.ZCylinder(name='RPV IR', r=self.c.rpvIR) + self.s_RPVOR = openmc.ZCylinder(name='RPV OR', r=c.rpvOR, boundary_type='vacuum') + self.s_RPVIR = openmc.ZCylinder(name='RPV IR', r=c.rpvIR) self.c_RPV = openmc.Cell(name="RPV", fill=self.mats['Carbon Steel']) self.c_RPV.region = (-self.s_RPVOR & +self.s_RPVIR & -self.s_upperBound & +self.s_lowerBound) # RPV liner - self.s_linerIR = openmc.ZCylinder(name='RPV Liner IR', r=self.c.linerIR) + self.s_linerIR = openmc.ZCylinder(name='RPV Liner IR', r=c.linerIR) self.c_liner = openmc.Cell(name="RPV Liner", fill=self.mats['SS304']) self.c_liner.region = (-self.s_RPVIR & +self.s_linerIR & -self.s_upperBound & +self.s_lowerBound) # Downcomer - self.s_neutronShieldOR = openmc.ZCylinder(name='Shield Panel OR', r=self.c.neutronShieldOR) + self.s_neutronShieldOR = openmc.ZCylinder(name='Shield Panel OR', r=c.neutronShieldOR) self.c_downcomer = openmc.Cell(name="Downcomer", fill=self.mats['Borated Water']) self.c_downcomer.region = (-self.s_linerIR & +self.s_neutronShieldOR & -self.s_upperBound & +self.s_lowerBound) - def _add_shield_panels(self): + def _add_shield_panels(self,c): """ Adds BEAVRS shield panels """ # Shield panels - self.s_neutronShieldIR = openmc.ZCylinder(name='Shield Panel IR', r=self.c.neutronShieldIR) - self.s_ns_NWbot_SEtop = openmc.Plane(name='Shield Panel NWbot/SEtop', **self.c.neutronShield_NWbot_SEtop) - self.s_ns_NWtop_SEbot = openmc.Plane(name='Shield Panel NWtop/SEbot', **self.c.neutronShield_NWtop_SEbot) - self.s_ns_NEbot_SWtop = openmc.Plane(name='Shield Panel NEbot/SWtop', **self.c.neutronShield_NEbot_SWtop) - self.s_ns_NEtop_SWbot = openmc.Plane(name='Shield Panel NEtop/SWbot', **self.c.neutronShield_NEtop_SWbot) + self.s_neutronShieldIR = openmc.ZCylinder(name='Shield Panel IR', r=c.neutronShieldIR) + self.s_ns_NWbot_SEtop = openmc.Plane(name='Shield Panel NWbot/SEtop', **c.neutronShield_NWbot_SEtop) + self.s_ns_NWtop_SEbot = openmc.Plane(name='Shield Panel NWtop/SEbot', **c.neutronShield_NWtop_SEbot) + self.s_ns_NEbot_SWtop = openmc.Plane(name='Shield Panel NEbot/SWtop', **c.neutronShield_NEbot_SWtop) + self.s_ns_NEtop_SWbot = openmc.Plane(name='Shield Panel NEtop/SWbot', **c.neutronShield_NEtop_SWbot) self.c_shieldPanels = [] @@ -117,19 +116,19 @@ class UniverseZero(openmc.Universe): -self.s_upperBound & +self.s_lowerBound) self.c_shieldPanels.append(self.c_sp_W) - self.s_coreBarrelOR = openmc.ZCylinder(name='Core Barrel OR', r=self.c.coreBarrelOR) + self.s_coreBarrelOR = openmc.ZCylinder(name='Core Barrel OR', r=c.coreBarrelOR) self.c_sp_inner = openmc.Cell(name='Water between barrel and shield', fill=self.mats['Borated Water']) self.c_sp_inner.region = (+self.s_coreBarrelOR & -self.s_neutronShieldIR & -self.s_upperBound & +self.s_lowerBound) self.c_shieldPanels.append(self.c_sp_inner) - def _add_core_barrel(self): + def _add_core_barrel(self,c): """ Adds BEAVRS core barrel and core lattice """ # Core barrel - self.s_coreBarrelIR = openmc.ZCylinder(name='Core Barrel IR', r=self.c.coreBarrelIR) + self.s_coreBarrelIR = openmc.ZCylinder(name='Core Barrel IR', r=c.coreBarrelIR) self.c_coreBarrel = openmc.Cell(name="Core Barrel", fill=self.mats['SS304']) self.c_coreBarrel.region = (-self.s_coreBarrelOR & +self.s_coreBarrelIR & -self.s_upperBound & +self.s_lowerBound) @@ -165,7 +164,7 @@ class UniverseZero(openmc.Universe): self.core_univ.add_cell(self.c_core) # Define boundaries of bounding box - outer_bound = 8.5*self.c.latticePitch + outer_bound = 8.5*c.latticePitch self.s_leftBound = openmc.XPlane(name='Left Box', x0=-outer_bound, boundary_type='vacuum') self.s_rightBound = openmc.XPlane(name='Right Box', x0=outer_bound, boundary_type='vacuum') self.s_backBound = openmc.YPlane(name='Back Box', y0=-outer_bound, boundary_type='vacuum') diff --git a/BEAVRS/extract-assm.ipynb b/BEAVRS/extract-assm.ipynb index 5d4af15..8154ac8 100644 --- a/BEAVRS/extract-assm.ipynb +++ b/BEAVRS/extract-assm.ipynb @@ -45,7 +45,16 @@ "metadata": { "collapsed": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Value supplied was 'None'. S Value set to default value of 15\n", + "Value supplied was 'None'. SS Value set to default value of 0\n" + ] + } + ], "source": [ "# Instantiate a BEAVRS object from the mit-crpg/PWR_benchmarks repository\n", "b = beavrs.builder.BEAVRS()" @@ -105,40 +114,40 @@ "354 Fuel 3.1% enr no instr 6S\n", "339 Fuel 3.1% enr instr no BAs\n", "357 Fuel 3.1% enr instr 6S\n", - "420 Fuel 3.1% enr no instr RCCA SA\n", + "444 Fuel 3.1% enr no instr RCCA SA\n", "408 Fuel 3.1% enr no instr 16\n", - "159 Fuel 1.6% enr instr RCCA B\n", + "153 Fuel 1.6% enr instr RCCA B\n", "414 Fuel 3.1% enr no instr 20\n", - "171 Fuel 1.6% enr instr RCCA C\n", - "156 Fuel 1.6% enr no instr RCCA B\n", + "159 Fuel 1.6% enr instr RCCA C\n", + "150 Fuel 1.6% enr no instr RCCA B\n", "402 Fuel 3.1% enr no instr 15SE\n", "270 Fuel 2.4% enr no instr 16\n", - "192 Fuel 1.6% enr no instr RCCA SD\n", + "186 Fuel 1.6% enr no instr RCCA SD\n", "174 Fuel 1.6% enr no instr RCCA SB\n", "273 Fuel 2.4% enr instr 16\n", - "162 Fuel 1.6% enr no instr RCCA SC\n", + "180 Fuel 1.6% enr no instr RCCA SC\n", "396 Fuel 3.1% enr no instr 15SW\n", - "423 Fuel 3.1% enr instr RCCA SA\n", - "324 Fuel 2.4% enr no instr RCCA D\n", + "447 Fuel 3.1% enr instr RCCA SA\n", + "300 Fuel 2.4% enr no instr RCCA D\n", "60 Fuel 1.6% enr no instr no BAs\n", "240 Fuel 2.4% enr no instr 12\n", - "183 Fuel 1.6% enr instr RCCA SE\n", + "195 Fuel 1.6% enr instr RCCA SE\n", "63 Fuel 1.6% enr instr no BAs\n", - "195 Fuel 1.6% enr instr RCCA SD\n", + "189 Fuel 1.6% enr instr RCCA SD\n", "363 Fuel 3.1% enr instr 6E\n", - "153 Fuel 1.6% enr instr RCCA A\n", - "168 Fuel 1.6% enr no instr RCCA C\n", + "147 Fuel 1.6% enr instr RCCA A\n", + "156 Fuel 1.6% enr no instr RCCA C\n", "366 Fuel 3.1% enr no instr 6W\n", "243 Fuel 2.4% enr instr 12\n", "177 Fuel 1.6% enr instr RCCA SB\n", - "180 Fuel 1.6% enr no instr RCCA SE\n", - "150 Fuel 1.6% enr no instr RCCA A\n", - "186 Fuel 1.6% enr no instr RCCA D\n", + "192 Fuel 1.6% enr no instr RCCA SE\n", + "144 Fuel 1.6% enr no instr RCCA A\n", + "162 Fuel 1.6% enr no instr RCCA D\n", "417 Fuel 3.1% enr instr 20\n", "360 Fuel 3.1% enr no instr 6E\n", - "327 Fuel 2.4% enr instr RCCA D\n", + "303 Fuel 2.4% enr instr RCCA D\n", "393 Fuel 3.1% enr instr 15NE\n", - "165 Fuel 1.6% enr instr RCCA SC\n", + "183 Fuel 1.6% enr instr RCCA SC\n", "384 Fuel 3.1% enr no instr 15NW\n", "348 Fuel 3.1% enr no instr 6N\n", "351 Fuel 3.1% enr instr 6N\n" @@ -240,7 +249,7 @@ "outputs": [], "source": [ "# Create surface objects for our \"root\" cell\"\n", - "lattice_sides = openmc.model.get_rectangular_prism(17*c.pinPitch, 17*c.pinPitch,\n", + "lattice_sides = openmc.model.rectangular_prism(17*c.pinPitch, 17*c.pinPitch,\n", " boundary_type='reflective')\n", "min_z = openmc.ZPlane(z0=c.struct_LowestExtent, boundary_type='vacuum')\n", "max_z = openmc.ZPlane(z0=c.struct_HighestExtent, boundary_type='vacuum')\n", @@ -372,7 +381,7 @@ "settings.particles = 1000\n", "\n", "# Use a bounding box to define the starting source distribution\n", - "lower_left = [-17*c.pinPitch/2, 17*c.pinPitch/2, c.fuel_ActiveFuel_bot]\n", + "lower_left = [-17*c.pinPitch/2, -17*c.pinPitch/2, c.fuel_ActiveFuel_bot]\n", "upper_right = [+17*c.pinPitch/2, +17*c.pinPitch/2, c.fuel_ActiveFuel_top]\n", "settings.source = openmc.source.Source(\n", " openmc.stats.Box(lower_left, upper_right, only_fissionable=True))\n", @@ -456,11 +465,8 @@ } ], "source": [ - "# Convert OpenMC's funky ppm to png\n", - "!convert plot_1.ppm plot.png\n", - "\n", "# Display the plot inline\n", - "Image(filename='plot.png', width=250, height=250)" + "Image(filename='plot_1.png', width=250, height=250)" ] }, { @@ -646,296 +652,291 @@ "name": "stdout", "output_type": "stream", "text": [ - "\n", - " %%%%%%%%%%%%%%%\n", - " %%%%%%%%%%%%%%%%%%%%%%%%\n", - " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", - " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", - " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", - " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", - " %%%%%%%%%%%%%%%%%%%%%%%%\n", + " %%%%%%%%%%%%%%%\n", + " %%%%%%%%%%%%%%%%%%%%%%%%\n", + " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", + " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", + " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", + " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n", " %%%%%%%%%%%%%%%%%%%%%%%%\n", - " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n", - " ################## %%%%%%%%%%%%%%%%%%%%%%%\n", - " ################### %%%%%%%%%%%%%%%%%%%%%%%\n", - " #################### %%%%%%%%%%%%%%%%%%%%%%\n", - " ##################### %%%%%%%%%%%%%%%%%%%%%\n", - " ###################### %%%%%%%%%%%%%%%%%%%%\n", - " ####################### %%%%%%%%%%%%%%%%%%\n", - " ####################### %%%%%%%%%%%%%%%%%\n", - " ###################### %%%%%%%%%%%%%%%%%\n", - " #################### %%%%%%%%%%%%%%%%%\n", - " ################# %%%%%%%%%%%%%%%%%\n", - " ############### %%%%%%%%%%%%%%%%\n", - " ############ %%%%%%%%%%%%%%%\n", - " ######## %%%%%%%%%%%%%%\n", - " %%%%%%%%%%%\n", + " %%%%%%%%%%%%%%%%%%%%%%%%\n", + " ############### %%%%%%%%%%%%%%%%%%%%%%%%\n", + " ################## %%%%%%%%%%%%%%%%%%%%%%%\n", + " ################### %%%%%%%%%%%%%%%%%%%%%%%\n", + " #################### %%%%%%%%%%%%%%%%%%%%%%\n", + " ##################### %%%%%%%%%%%%%%%%%%%%%\n", + " ###################### %%%%%%%%%%%%%%%%%%%%\n", + " ####################### %%%%%%%%%%%%%%%%%%\n", + " ####################### %%%%%%%%%%%%%%%%%\n", + " ###################### %%%%%%%%%%%%%%%%%\n", + " #################### %%%%%%%%%%%%%%%%%\n", + " ################# %%%%%%%%%%%%%%%%%\n", + " ############### %%%%%%%%%%%%%%%%\n", + " ############ %%%%%%%%%%%%%%%\n", + " ######## %%%%%%%%%%%%%%\n", + " %%%%%%%%%%%\n", "\n", - " | The OpenMC Monte Carlo Code\n", - " Copyright | 2011-2018 MIT and OpenMC contributors\n", - " License | http://openmc.readthedocs.io/en/latest/license.html\n", - " Version | 0.10.0\n", - " Git SHA1 | 0cf903cc67af4267a8216535fc2fa6a61f4341a1\n", - " Date/Time | 2018-08-28 17:16:34\n", - " MPI Processes | 2\n", - " OpenMP Threads | 20\n", + " | The OpenMC Monte Carlo Code\n", + " Copyright | 2011-2023 MIT, UChicago Argonne LLC, and contributors\n", + " License | https://docs.openmc.org/en/latest/license.html\n", + " Version | 0.13.3\n", + " Git SHA1 | 50e39a4e20dc9e0f3d7ccf07333f6a5e6c797c8c\n", + " Date/Time | 2023-11-15 23:47:24\n", + " OpenMP Threads | 4\n", "\n", " Reading settings XML file...\n", " Reading cross sections XML file...\n", " Reading materials XML file...\n", " Reading geometry XML file...\n", - " Building neighboring cells lists for each surface...\n", - " Reading O16 from /home/liangjg/nucdata/nndc_hdf5/O16.h5\n", - " Reading O17 from /home/liangjg/nucdata/nndc_hdf5/O17.h5\n", - " Reading N14 from /home/liangjg/nucdata/nndc_hdf5/N14.h5\n", - " Reading N15 from /home/liangjg/nucdata/nndc_hdf5/N15.h5\n", - " Reading Ar36 from /home/liangjg/nucdata/nndc_hdf5/Ar36.h5\n", - " WARNING: Negative value(s) found on probability table for nuclide Ar36 \n", - " at 294K\n", - " Reading Ar38 from /home/liangjg/nucdata/nndc_hdf5/Ar38.h5\n", - " Reading Ar40 from /home/liangjg/nucdata/nndc_hdf5/Ar40.h5\n", - " Reading C0 from /home/liangjg/nucdata/nndc_hdf5/C0.h5\n", - " Reading He3 from /home/liangjg/nucdata/nndc_hdf5/He3.h5\n", - " Reading He4 from /home/liangjg/nucdata/nndc_hdf5/He4.h5\n", - " Reading Si28 from /home/liangjg/nucdata/nndc_hdf5/Si28.h5\n", - " Reading Si29 from /home/liangjg/nucdata/nndc_hdf5/Si29.h5\n", - " Reading Si30 from /home/liangjg/nucdata/nndc_hdf5/Si30.h5\n", - " Reading Cr50 from /home/liangjg/nucdata/nndc_hdf5/Cr50.h5\n", - " Reading Cr52 from /home/liangjg/nucdata/nndc_hdf5/Cr52.h5\n", - " Reading Cr53 from /home/liangjg/nucdata/nndc_hdf5/Cr53.h5\n", - " Reading Cr54 from /home/liangjg/nucdata/nndc_hdf5/Cr54.h5\n", - " Reading Mn55 from /home/liangjg/nucdata/nndc_hdf5/Mn55.h5\n", - " Reading Fe54 from /home/liangjg/nucdata/nndc_hdf5/Fe54.h5\n", - " Reading Fe56 from /home/liangjg/nucdata/nndc_hdf5/Fe56.h5\n", - " Reading Fe57 from /home/liangjg/nucdata/nndc_hdf5/Fe57.h5\n", - " Reading Fe58 from /home/liangjg/nucdata/nndc_hdf5/Fe58.h5\n", - " Reading Ni58 from /home/liangjg/nucdata/nndc_hdf5/Ni58.h5\n", - " Reading Ni60 from /home/liangjg/nucdata/nndc_hdf5/Ni60.h5\n", - " Reading Ni61 from /home/liangjg/nucdata/nndc_hdf5/Ni61.h5\n", - " Reading Ni62 from /home/liangjg/nucdata/nndc_hdf5/Ni62.h5\n", - " Reading Ni64 from /home/liangjg/nucdata/nndc_hdf5/Ni64.h5\n", - " Reading Zr90 from /home/liangjg/nucdata/nndc_hdf5/Zr90.h5\n", - " Reading Zr91 from /home/liangjg/nucdata/nndc_hdf5/Zr91.h5\n", - " Reading Zr92 from /home/liangjg/nucdata/nndc_hdf5/Zr92.h5\n", - " Reading Zr94 from /home/liangjg/nucdata/nndc_hdf5/Zr94.h5\n", - " Reading Zr96 from /home/liangjg/nucdata/nndc_hdf5/Zr96.h5\n", - " Reading Sn112 from /home/liangjg/nucdata/nndc_hdf5/Sn112.h5\n", - " Reading Sn114 from /home/liangjg/nucdata/nndc_hdf5/Sn114.h5\n", - " Reading Sn115 from /home/liangjg/nucdata/nndc_hdf5/Sn115.h5\n", - " Reading Sn116 from /home/liangjg/nucdata/nndc_hdf5/Sn116.h5\n", - " Reading Sn117 from /home/liangjg/nucdata/nndc_hdf5/Sn117.h5\n", - " Reading Sn118 from /home/liangjg/nucdata/nndc_hdf5/Sn118.h5\n", - " Reading Sn119 from /home/liangjg/nucdata/nndc_hdf5/Sn119.h5\n", - " Reading Sn120 from /home/liangjg/nucdata/nndc_hdf5/Sn120.h5\n", - " Reading Sn122 from /home/liangjg/nucdata/nndc_hdf5/Sn122.h5\n", - " Reading Sn124 from /home/liangjg/nucdata/nndc_hdf5/Sn124.h5\n", - " Reading U234 from /home/liangjg/nucdata/nndc_hdf5/U234.h5\n", - " Reading U235 from /home/liangjg/nucdata/nndc_hdf5/U235.h5\n", - " Reading U238 from /home/liangjg/nucdata/nndc_hdf5/U238.h5\n", - " Reading U236 from /home/liangjg/nucdata/nndc_hdf5/U236.h5\n", - " Reading B10 from /home/liangjg/nucdata/nndc_hdf5/B10.h5\n", - " Reading B11 from /home/liangjg/nucdata/nndc_hdf5/B11.h5\n", - " Reading H1 from /home/liangjg/nucdata/nndc_hdf5/H1.h5\n", - " Reading H2 from /home/liangjg/nucdata/nndc_hdf5/H2.h5\n", - " Reading c_H_in_H2O from /home/liangjg/nucdata/nndc_hdf5/c_H_in_H2O.h5\n", - " Maximum neutron transport energy: 2.00000E+07 eV for O17\n", + " Reading O16 from /opt/xdata/endfb-vii.1-hdf5/neutron/O16.h5\n", + " Reading O17 from /opt/xdata/endfb-vii.1-hdf5/neutron/O17.h5\n", + " Reading N14 from /opt/xdata/endfb-vii.1-hdf5/neutron/N14.h5\n", + " Reading N15 from /opt/xdata/endfb-vii.1-hdf5/neutron/N15.h5\n", + " Reading Ar36 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ar36.h5\n", + " WARNING: Negative value(s) found on probability table for nuclide Ar36 at 294K\n", + " Reading Ar38 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ar38.h5\n", + " Reading Ar40 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ar40.h5\n", + " Reading C0 from /opt/xdata/endfb-vii.1-hdf5/neutron/C0.h5\n", + " Reading He3 from /opt/xdata/endfb-vii.1-hdf5/neutron/He3.h5\n", + " Reading He4 from /opt/xdata/endfb-vii.1-hdf5/neutron/He4.h5\n", + " Reading Si28 from /opt/xdata/endfb-vii.1-hdf5/neutron/Si28.h5\n", + " Reading Si29 from /opt/xdata/endfb-vii.1-hdf5/neutron/Si29.h5\n", + " Reading Si30 from /opt/xdata/endfb-vii.1-hdf5/neutron/Si30.h5\n", + " Reading Cr50 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr50.h5\n", + " Reading Cr52 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr52.h5\n", + " Reading Cr53 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr53.h5\n", + " Reading Cr54 from /opt/xdata/endfb-vii.1-hdf5/neutron/Cr54.h5\n", + " Reading Mn55 from /opt/xdata/endfb-vii.1-hdf5/neutron/Mn55.h5\n", + " Reading Fe54 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe54.h5\n", + " Reading Fe56 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe56.h5\n", + " Reading Fe57 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe57.h5\n", + " Reading Fe58 from /opt/xdata/endfb-vii.1-hdf5/neutron/Fe58.h5\n", + " Reading Ni58 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni58.h5\n", + " Reading Ni60 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni60.h5\n", + " Reading Ni61 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni61.h5\n", + " Reading Ni62 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni62.h5\n", + " Reading Ni64 from /opt/xdata/endfb-vii.1-hdf5/neutron/Ni64.h5\n", + " Reading Zr90 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr90.h5\n", + " Reading Zr91 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr91.h5\n", + " Reading Zr92 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr92.h5\n", + " Reading Zr94 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr94.h5\n", + " Reading Zr96 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr96.h5\n", + " Reading Sn112 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn112.h5\n", + " Reading Sn114 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn114.h5\n", + " Reading Sn115 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn115.h5\n", + " Reading Sn116 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn116.h5\n", + " Reading Sn117 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn117.h5\n", + " Reading Sn118 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn118.h5\n", + " Reading Sn119 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn119.h5\n", + " Reading Sn120 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn120.h5\n", + " Reading Sn122 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn122.h5\n", + " Reading Sn124 from /opt/xdata/endfb-vii.1-hdf5/neutron/Sn124.h5\n", + " Reading U234 from /opt/xdata/endfb-vii.1-hdf5/neutron/U234.h5\n", + " Reading U235 from /opt/xdata/endfb-vii.1-hdf5/neutron/U235.h5\n", + " Reading U238 from /opt/xdata/endfb-vii.1-hdf5/neutron/U238.h5\n", + " Reading U236 from /opt/xdata/endfb-vii.1-hdf5/neutron/U236.h5\n", + " Reading B10 from /opt/xdata/endfb-vii.1-hdf5/neutron/B10.h5\n", + " Reading B11 from /opt/xdata/endfb-vii.1-hdf5/neutron/B11.h5\n", + " Reading H1 from /opt/xdata/endfb-vii.1-hdf5/neutron/H1.h5\n", + " Reading H2 from /opt/xdata/endfb-vii.1-hdf5/neutron/H2.h5\n", + " Reading c_H_in_H2O from /opt/xdata/endfb-vii.1-hdf5/neutron/c_H_in_H2O.h5\n", + " Minimum neutron data temperature: 294 K\n", + " Maximum neutron data temperature: 294 K\n", " Reading tallies XML file...\n", + " Preparing distributed cell instances...\n", + " Reading plot XML file...\n", " Writing summary.h5 file...\n", + " Maximum neutron transport energy: 20000000 eV for O17\n", " Initializing source particles...\n", "\n", " ====================> K EIGENVALUE SIMULATION <====================\n", "\n", - " Bat./Gen. k Average k \n", - " ========= ======== ==================== \n", - " 1/1 1.04727 \n", - " 2/1 1.00574 \n", - " 3/1 1.03701 \n", - " 4/1 0.96299 \n", - " 5/1 0.98797 \n", - " 6/1 1.01822 \n", - " 7/1 1.00424 \n", - " 8/1 1.01493 \n", - " 9/1 1.02974 \n", - " 10/1 1.02082 \n", - " 11/1 1.00522 \n", - " 12/1 1.01496 1.01009 +/- 0.00487\n", - " 13/1 1.01189 1.01069 +/- 0.00287\n", - " 14/1 0.98296 1.00376 +/- 0.00723\n", - " 15/1 0.99697 1.00240 +/- 0.00576\n", - " 16/1 0.98099 0.99883 +/- 0.00590\n", - " 17/1 0.99588 0.99841 +/- 0.00501\n", - " 18/1 1.07368 1.00782 +/- 0.01036\n", - " 19/1 0.95227 1.00165 +/- 0.01103\n", - " 20/1 1.05009 1.00649 +/- 0.01099\n", - " 21/1 0.97005 1.00318 +/- 0.01048\n", - " 22/1 0.99242 1.00228 +/- 0.00961\n", - " 23/1 1.05491 1.00633 +/- 0.00972\n", - " 24/1 1.00588 1.00630 +/- 0.00900\n", - " 25/1 1.00227 1.00603 +/- 0.00838\n", - " 26/1 0.96455 1.00344 +/- 0.00826\n", - " 27/1 1.00319 1.00342 +/- 0.00776\n", - " 28/1 0.98811 1.00257 +/- 0.00736\n", - " 29/1 1.00272 1.00258 +/- 0.00696\n", - " 30/1 0.94461 0.99968 +/- 0.00721\n", - " 31/1 1.01218 1.00028 +/- 0.00689\n", - " 32/1 0.96420 0.99864 +/- 0.00677\n", - " 33/1 0.95413 0.99670 +/- 0.00675\n", - " 34/1 0.97799 0.99592 +/- 0.00651\n", - " 35/1 0.93211 0.99337 +/- 0.00675\n", - " 36/1 0.97633 0.99271 +/- 0.00651\n", - " 37/1 1.01195 0.99343 +/- 0.00631\n", - " 38/1 0.99218 0.99338 +/- 0.00608\n", - " 39/1 0.98653 0.99315 +/- 0.00587\n", - " 40/1 1.01873 0.99400 +/- 0.00574\n", - " 41/1 0.97922 0.99352 +/- 0.00557\n", - " 42/1 1.03085 0.99469 +/- 0.00552\n", - " 43/1 0.99989 0.99485 +/- 0.00535\n", - " 44/1 1.02227 0.99565 +/- 0.00525\n", - " 45/1 1.01514 0.99621 +/- 0.00513\n", - " 46/1 1.02156 0.99691 +/- 0.00503\n", - " 47/1 0.98417 0.99657 +/- 0.00491\n", - " 48/1 1.01386 0.99702 +/- 0.00480\n", - " 49/1 0.98720 0.99677 +/- 0.00468\n", - " 50/1 1.01058 0.99712 +/- 0.00458\n", - " 51/1 1.03660 0.99808 +/- 0.00457\n", - " 52/1 1.03603 0.99898 +/- 0.00455\n", - " 53/1 0.97500 0.99843 +/- 0.00447\n", - " 54/1 0.96814 0.99774 +/- 0.00443\n", - " 55/1 1.03349 0.99853 +/- 0.00440\n", - " 56/1 1.02902 0.99920 +/- 0.00435\n", - " 57/1 1.00023 0.99922 +/- 0.00426\n", - " 58/1 1.04574 1.00019 +/- 0.00428\n", - " 59/1 1.00650 1.00031 +/- 0.00419\n", - " 60/1 0.95236 0.99936 +/- 0.00422\n", - " 61/1 1.00056 0.99938 +/- 0.00414\n", - " 62/1 1.02127 0.99980 +/- 0.00408\n", - " 63/1 1.02664 1.00031 +/- 0.00403\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 64/1 0.95264 0.99942 +/- 0.00405\n", - " 65/1 0.96039 0.99871 +/- 0.00404\n", - " 66/1 0.94234 0.99771 +/- 0.00409\n", - " 67/1 0.96698 0.99717 +/- 0.00406\n", - " 68/1 1.02077 0.99758 +/- 0.00401\n", - " 69/1 0.95538 0.99686 +/- 0.00400\n", - " 70/1 1.01303 0.99713 +/- 0.00395\n", - " 71/1 1.04854 0.99797 +/- 0.00397\n", - " 72/1 0.96799 0.99749 +/- 0.00394\n", - " 73/1 0.98670 0.99732 +/- 0.00388\n", - " 74/1 1.02970 0.99782 +/- 0.00385\n", - " 75/1 1.05611 0.99872 +/- 0.00389\n", - " 76/1 1.03884 0.99933 +/- 0.00388\n", - " 77/1 0.99652 0.99929 +/- 0.00382\n", - " 78/1 1.00845 0.99942 +/- 0.00377\n", - " 79/1 0.98702 0.99924 +/- 0.00372\n", - " 80/1 1.01777 0.99951 +/- 0.00368\n", - " 81/1 0.95214 0.99884 +/- 0.00368\n", - " 82/1 0.97901 0.99856 +/- 0.00364\n", - " 83/1 1.00053 0.99859 +/- 0.00359\n", - " 84/1 0.98432 0.99840 +/- 0.00355\n", - " 85/1 1.02532 0.99876 +/- 0.00352\n", - " 86/1 0.97881 0.99849 +/- 0.00348\n", - " 87/1 1.05626 0.99924 +/- 0.00352\n", - " 88/1 0.97416 0.99892 +/- 0.00349\n", - " 89/1 1.02970 0.99931 +/- 0.00347\n", - " 90/1 0.94940 0.99869 +/- 0.00348\n", - " 91/1 1.04226 0.99923 +/- 0.00348\n", - " 92/1 0.93224 0.99841 +/- 0.00353\n", - " 93/1 1.08434 0.99944 +/- 0.00364\n", - " 94/1 1.04199 0.99995 +/- 0.00363\n", - " 95/1 0.96237 0.99951 +/- 0.00361\n", - " 96/1 0.97087 0.99918 +/- 0.00359\n", - " 97/1 0.98467 0.99901 +/- 0.00355\n", - " 98/1 0.98140 0.99881 +/- 0.00352\n", - " 99/1 1.03750 0.99924 +/- 0.00350\n", - " 100/1 1.01771 0.99945 +/- 0.00347\n", - " 101/1 0.90719 0.99844 +/- 0.00358\n", - " 102/1 1.03714 0.99886 +/- 0.00356\n", - " 103/1 0.98711 0.99873 +/- 0.00353\n", - " 104/1 1.02851 0.99905 +/- 0.00350\n", - " 105/1 1.02107 0.99928 +/- 0.00347\n", - " 106/1 0.94918 0.99876 +/- 0.00348\n", - " 107/1 1.01392 0.99891 +/- 0.00345\n", - " 108/1 1.00541 0.99898 +/- 0.00341\n", - " 109/1 0.99394 0.99893 +/- 0.00338\n", - " 110/1 0.97911 0.99873 +/- 0.00335\n", - " 111/1 0.97604 0.99851 +/- 0.00332\n", - " 112/1 1.04675 0.99898 +/- 0.00332\n", - " 113/1 0.98951 0.99889 +/- 0.00329\n", - " 114/1 0.97912 0.99870 +/- 0.00327\n", - " 115/1 1.01832 0.99888 +/- 0.00324\n", - " 116/1 0.97432 0.99865 +/- 0.00322\n", - " 117/1 1.00101 0.99867 +/- 0.00319\n", - " 118/1 1.03282 0.99899 +/- 0.00317\n", - " 119/1 1.04951 0.99945 +/- 0.00318\n", - " 120/1 1.04820 0.99990 +/- 0.00318\n", - " 121/1 0.99406 0.99984 +/- 0.00315\n", - " 122/1 0.99501 0.99980 +/- 0.00312\n", - " 123/1 0.96586 0.99950 +/- 0.00311\n", - " 124/1 1.04492 0.99990 +/- 0.00311\n", - " 125/1 0.97320 0.99967 +/- 0.00309\n", - " 126/1 1.07213 1.00029 +/- 0.00313\n", - " 127/1 1.02139 1.00047 +/- 0.00311\n", - " 128/1 1.03427 1.00076 +/- 0.00309\n", - " 129/1 1.00046 1.00076 +/- 0.00307\n", - " 130/1 1.01619 1.00088 +/- 0.00304\n", - " 131/1 0.99970 1.00087 +/- 0.00302\n", - " 132/1 1.01940 1.00103 +/- 0.00300\n", - " 133/1 1.00804 1.00108 +/- 0.00297\n", - " 134/1 1.01311 1.00118 +/- 0.00295\n", - " 135/1 1.04265 1.00151 +/- 0.00295\n", - " 136/1 0.97476 1.00130 +/- 0.00293\n", - " 137/1 1.08206 1.00194 +/- 0.00298\n", - " 138/1 1.02868 1.00214 +/- 0.00296\n", - " 139/1 0.94944 1.00174 +/- 0.00296\n", - " 140/1 1.00981 1.00180 +/- 0.00294\n", - " 141/1 1.05583 1.00221 +/- 0.00295\n", - " 142/1 1.05680 1.00262 +/- 0.00296\n", - " 143/1 1.03337 1.00286 +/- 0.00294\n", - " 144/1 1.05786 1.00327 +/- 0.00295\n", - " 145/1 1.00445 1.00327 +/- 0.00293\n", - " 146/1 0.98187 1.00312 +/- 0.00291\n", - " 147/1 1.03813 1.00337 +/- 0.00290\n", - " 148/1 1.00659 1.00340 +/- 0.00288\n", - " 149/1 0.88902 1.00257 +/- 0.00297\n", - " 150/1 1.07968 1.00312 +/- 0.00300\n", + " Bat./Gen. k Average k\n", + " ========= ======== ====================\n", + " 1/1 0.96733\n", + " 2/1 1.01426\n", + " 3/1 1.00891\n", + " 4/1 0.98251\n", + " 5/1 0.97608\n", + " 6/1 0.98854\n", + " 7/1 0.98650\n", + " 8/1 0.89145\n", + " 9/1 0.99093\n", + " 10/1 1.01713\n", + " 11/1 0.97521\n", + " 12/1 1.00458 0.98990 +/- 0.01468\n", + " 13/1 1.05596 1.01192 +/- 0.02360\n", + " 14/1 1.03992 1.01892 +/- 0.01810\n", + " 15/1 0.99228 1.01359 +/- 0.01500\n", + " 16/1 1.04166 1.01827 +/- 0.01311\n", + " 17/1 1.02397 1.01908 +/- 0.01111\n", + " 18/1 0.93476 1.00854 +/- 0.01427\n", + " 19/1 0.96790 1.00403 +/- 0.01337\n", + " 20/1 1.01333 1.00496 +/- 0.01199\n", + " 21/1 0.99930 1.00444 +/- 0.01086\n", + " 22/1 0.96360 1.00104 +/- 0.01048\n", + " 23/1 1.04452 1.00438 +/- 0.01021\n", + " 24/1 1.00540 1.00446 +/- 0.00945\n", + " 25/1 1.03337 1.00638 +/- 0.00901\n", + " 26/1 0.98441 1.00501 +/- 0.00854\n", + " 27/1 0.97719 1.00337 +/- 0.00818\n", + " 28/1 0.99739 1.00304 +/- 0.00772\n", + " 29/1 0.97195 1.00141 +/- 0.00749\n", + " 30/1 0.97567 1.00012 +/- 0.00722\n", + " 31/1 0.98488 0.99939 +/- 0.00690\n", + " 32/1 0.99132 0.99903 +/- 0.00659\n", + " 33/1 0.97166 0.99784 +/- 0.00641\n", + " 34/1 1.02146 0.99882 +/- 0.00622\n", + " 35/1 1.00964 0.99925 +/- 0.00598\n", + " 36/1 1.00894 0.99963 +/- 0.00576\n", + " 37/1 1.04730 1.00139 +/- 0.00581\n", + " 38/1 1.00749 1.00161 +/- 0.00561\n", + " 39/1 0.97450 1.00067 +/- 0.00549\n", + " 40/1 0.99078 1.00034 +/- 0.00531\n", + " 41/1 0.98638 0.99989 +/- 0.00516\n", + " 42/1 1.05222 1.00153 +/- 0.00526\n", + " 43/1 1.00114 1.00152 +/- 0.00509\n", + " 44/1 1.00369 1.00158 +/- 0.00494\n", + " 45/1 0.98097 1.00099 +/- 0.00483\n", + " 46/1 1.01918 1.00150 +/- 0.00473\n", + " 47/1 1.02984 1.00226 +/- 0.00466\n", + " 48/1 1.00466 1.00233 +/- 0.00454\n", + " 49/1 0.97042 1.00151 +/- 0.00449\n", + " 50/1 0.98406 1.00107 +/- 0.00440\n", + " 51/1 1.02719 1.00171 +/- 0.00434\n", + " 52/1 0.96843 1.00092 +/- 0.00431\n", + " 53/1 0.96103 0.99999 +/- 0.00431\n", + " 54/1 1.08631 1.00195 +/- 0.00464\n", + " 55/1 1.04892 1.00300 +/- 0.00466\n", + " 56/1 1.04540 1.00392 +/- 0.00465\n", + " 57/1 1.02331 1.00433 +/- 0.00457\n", + " 58/1 0.98167 1.00386 +/- 0.00450\n", + " 59/1 0.95736 1.00291 +/- 0.00450\n", + " 60/1 1.08186 1.00449 +/- 0.00469\n", + " 61/1 0.99151 1.00423 +/- 0.00460\n", + " 62/1 1.09483 1.00598 +/- 0.00484\n", + " 63/1 0.96655 1.00523 +/- 0.00480\n", + " 64/1 1.02323 1.00556 +/- 0.00472\n", + " 65/1 0.99552 1.00538 +/- 0.00464\n", + " 66/1 1.03743 1.00595 +/- 0.00459\n", + " 67/1 1.01470 1.00611 +/- 0.00451\n", + " 68/1 1.00330 1.00606 +/- 0.00444\n", + " 69/1 0.99583 1.00589 +/- 0.00436\n", + " 70/1 0.97011 1.00529 +/- 0.00433\n", + " 71/1 1.05257 1.00606 +/- 0.00433\n", + " 72/1 0.95486 1.00524 +/- 0.00434\n", + " 73/1 0.95579 1.00445 +/- 0.00434\n", + " 74/1 1.06181 1.00535 +/- 0.00437\n", + " 75/1 1.01547 1.00551 +/- 0.00430\n", + " 76/1 0.95828 1.00479 +/- 0.00430\n", + " 77/1 1.06930 1.00575 +/- 0.00434\n", + " 78/1 0.98848 1.00550 +/- 0.00428\n", + " 79/1 0.98801 1.00525 +/- 0.00423\n", + " 80/1 1.01087 1.00533 +/- 0.00417\n", + " 81/1 0.94958 1.00454 +/- 0.00418\n", + " 82/1 1.04203 1.00506 +/- 0.00416\n", + " 83/1 0.98562 1.00480 +/- 0.00411\n", + " 84/1 1.01031 1.00487 +/- 0.00405\n", + " 85/1 0.94282 1.00404 +/- 0.00408\n", + " 86/1 1.01565 1.00419 +/- 0.00403\n", + " 87/1 1.06248 1.00495 +/- 0.00405\n", + " 88/1 0.96519 1.00444 +/- 0.00403\n", + " 89/1 0.94915 1.00374 +/- 0.00404\n", + " 90/1 1.00009 1.00370 +/- 0.00399\n", + " 91/1 0.98034 1.00341 +/- 0.00395\n", + " 92/1 1.02393 1.00366 +/- 0.00391\n", + " 93/1 1.01846 1.00384 +/- 0.00387\n", + " 94/1 1.04298 1.00430 +/- 0.00385\n", + " 95/1 0.96884 1.00389 +/- 0.00383\n", + " 96/1 0.98588 1.00368 +/- 0.00379\n", + " 97/1 1.01417 1.00380 +/- 0.00375\n", + " 98/1 1.03141 1.00411 +/- 0.00372\n", + " 99/1 0.99799 1.00404 +/- 0.00367\n", + " 100/1 0.97342 1.00370 +/- 0.00365\n", + " 101/1 1.03521 1.00405 +/- 0.00363\n", + " 102/1 0.99810 1.00398 +/- 0.00359\n", + " 103/1 1.07640 1.00476 +/- 0.00363\n", + " 104/1 0.92379 1.00390 +/- 0.00370\n", + " 105/1 0.98163 1.00367 +/- 0.00366\n", + " 106/1 1.05657 1.00422 +/- 0.00367\n", + " 107/1 1.01114 1.00429 +/- 0.00363\n", + " 108/1 0.98687 1.00411 +/- 0.00360\n", + " 109/1 1.00438 1.00411 +/- 0.00356\n", + " 110/1 1.04605 1.00453 +/- 0.00355\n", + " 111/1 0.95116 1.00400 +/- 0.00355\n", + " 112/1 1.04926 1.00445 +/- 0.00355\n", + " 113/1 1.05672 1.00496 +/- 0.00355\n", + " 114/1 0.98303 1.00474 +/- 0.00352\n", + " 115/1 1.00398 1.00474 +/- 0.00349\n", + " 116/1 1.00943 1.00478 +/- 0.00345\n", + " 117/1 1.01657 1.00489 +/- 0.00342\n", + " 118/1 0.95180 1.00440 +/- 0.00343\n", + " 119/1 0.99597 1.00432 +/- 0.00340\n", + " 120/1 0.95905 1.00391 +/- 0.00339\n", + " 121/1 1.03602 1.00420 +/- 0.00337\n", + " 122/1 0.91355 1.00339 +/- 0.00344\n", + " 123/1 0.98042 1.00319 +/- 0.00341\n", + " 124/1 0.99438 1.00311 +/- 0.00338\n", + " 125/1 1.01523 1.00322 +/- 0.00336\n", + " 126/1 1.02405 1.00340 +/- 0.00333\n", + " 127/1 0.97345 1.00314 +/- 0.00331\n", + " 128/1 0.99830 1.00310 +/- 0.00329\n", + " 129/1 0.98598 1.00296 +/- 0.00326\n", + " 130/1 0.97527 1.00272 +/- 0.00324\n", + " 131/1 0.99513 1.00266 +/- 0.00322\n", + " 132/1 0.95591 1.00228 +/- 0.00321\n", + " 133/1 1.03151 1.00252 +/- 0.00319\n", + " 134/1 1.01308 1.00260 +/- 0.00317\n", + " 135/1 0.99918 1.00257 +/- 0.00314\n", + " 136/1 1.01363 1.00266 +/- 0.00312\n", + " 137/1 0.95709 1.00230 +/- 0.00312\n", + " 138/1 1.01557 1.00241 +/- 0.00309\n", + " 139/1 1.02028 1.00255 +/- 0.00307\n", + " 140/1 1.03371 1.00278 +/- 0.00306\n", + " 141/1 1.00297 1.00279 +/- 0.00304\n", + " 142/1 0.97399 1.00257 +/- 0.00302\n", + " 143/1 0.99265 1.00249 +/- 0.00300\n", + " 144/1 0.96677 1.00223 +/- 0.00299\n", + " 145/1 1.00505 1.00225 +/- 0.00297\n", + " 146/1 1.02356 1.00240 +/- 0.00295\n", + " 147/1 0.96630 1.00214 +/- 0.00294\n", + " 148/1 1.01760 1.00225 +/- 0.00292\n", + " 149/1 0.95798 1.00193 +/- 0.00292\n", + " 150/1 1.06026 1.00235 +/- 0.00292\n", " Creating state point statepoint.150.h5...\n", "\n", " =======================> TIMING STATISTICS <=======================\n", "\n", - " Total time for initialization = 5.9225E+00 seconds\n", - " Reading cross sections = 5.8449E+00 seconds\n", - " Total time in simulation = 9.1378E+00 seconds\n", - " Time in transport only = 5.1191E+00 seconds\n", - " Time in inactive batches = 5.8010E-01 seconds\n", - " Time in active batches = 8.5577E+00 seconds\n", - " Time synchronizing fission bank = 7.0913E-01 seconds\n", - " Sampling source sites = 4.4842E-03 seconds\n", - " SEND/RECV source sites = 2.1190E-03 seconds\n", - " Time accumulating tallies = 3.5552E-03 seconds\n", - " Total time for finalization = 8.4108E-03 seconds\n", - " Total time elapsed = 1.5079E+01 seconds\n", - " Calculation Rate (inactive) = 17238.5 particles/second\n", - " Calculation Rate (active) = 16359.6 particles/second\n", + " Total time for initialization = 3.5188e+00 seconds\n", + " Reading cross sections = 3.4434e+00 seconds\n", + " Total time in simulation = 1.2344e+01 seconds\n", + " Time in transport only = 1.2295e+01 seconds\n", + " Time in inactive batches = 7.6670e-01 seconds\n", + " Time in active batches = 1.1577e+01 seconds\n", + " Time synchronizing fission bank = 1.1731e-02 seconds\n", + " Sampling source sites = 1.0349e-02 seconds\n", + " SEND/RECV source sites = 1.3174e-03 seconds\n", + " Time accumulating tallies = 1.1413e-02 seconds\n", + " Time writing statepoints = 6.7964e-03 seconds\n", + " Total time for finalization = 2.9545e-04 seconds\n", + " Total time elapsed = 1.5878e+01 seconds\n", + " Calculation Rate (inactive) = 13043 particles/second\n", + " Calculation Rate (active) = 12092.8 particles/second\n", "\n", " ============================> RESULTS <============================\n", "\n", - " k-effective (Collision) = 1.00226 +/- 0.00259\n", - " k-effective (Track-length) = 1.00312 +/- 0.00300\n", - " k-effective (Absorption) = 1.00053 +/- 0.00263\n", - " Combined k-effective = 1.00159 +/- 0.00207\n", - " Leakage Fraction = 0.00004 +/- 0.00002\n", + " k-effective (Collision) = 1.00135 +/- 0.00266\n", + " k-effective (Track-length) = 1.00235 +/- 0.00292\n", + " k-effective (Absorption) = 1.00742 +/- 0.00269\n", + " Combined k-effective = 1.00441 +/- 0.00218\n", + " Leakage Fraction = 0.00004 +/- 0.00002\n", "\n" ] } ], "source": [ "# Run OpenMC with 2 MPI processes\n", - "openmc.run(mpi_args=['mpiexec', '-n', '2'])" + "openmc.run()" ] }, { @@ -971,7 +972,7 @@ " \tID =\t1\n", " \tName =\ta really cool tally\n", " \tFilters =\tCellFilter, EnergyFilter\n", - " \tNuclides =\tO16 O17 N14 N15 Ar36 Ar38 Ar40 C0 \n", + " \tNuclides =\tO16 O17 N14 N15 Ar36 Ar38 Ar40 C0\n", " \tScores =\t['scatter', 'absorption']\n", " \tEstimator =\ttracklength}" ] @@ -1189,8 +1190,8 @@ "