Hey all,
I have built a simple molten salt model and I am trying to begin modeling depletion. When I run a k-code problem I get the eigenvalue of 1.059, which agrees with my previous MCNP model. When I add the CECM depletion operator I get an eigenvalue of around 0.87. I also notice that when I change the number of cores that I use, the eigenvalue will switch between the subcritical value and the correct value. For example if I switch from 12 to 14 cores the eigenvalue will be correct, but if I repeat the run it will go back to 0.87 until I change the number of cores.
When I comment out the depletion portion of my input the model runs as expected. My input is shown below. I think it way be a geometry problem where openmc isn’t depleting the correct regions.
`import openmc
import openmc.deplete
import numpy as np
openmc.config[“cross_sections”] = ‘/home/vlujan3/Library/endfb-vii.1-hdf5/cross_sections.xml’
chain = ‘/home/vlujan3/Library/chain_endfb71_fast.xml’
fuelSalt = openmc.Material()
fuelSalt.add_nuclide(‘U235’, 0.3195, ‘ao’)
fuelSalt.add_nuclide(‘U238’, 44.6805, ‘ao’)
fuelSalt.add_nuclide(‘Pu238’, 0.233925, ‘ao’)
fuelSalt.add_nuclide(‘Pu239’, 3.94485, ‘ao’)
fuelSalt.add_nuclide(‘Pu240’, 1.840725, ‘ao’)
fuelSalt.add_nuclide(‘Pu241’, 0.909075, ‘ao’)
fuelSalt.add_nuclide(‘Pu242’, 0.57135, ‘ao’)
fuelSalt.add_nuclide(‘Na23’, 47.5, ‘ao’)
fuelSalt.add_nuclide(‘Cl37’, 202.83315, ‘ao’)
fuelSalt.add_nuclide(‘Cl35’, 2.165825, ‘ao’)
fuelSalt.set_density(‘g/cm3’, 3.57083)
fuelSalt.temperature =1200
fuelSalt.volume = 1.2e7
fuelSalt.depletable = True
HastelloyN = openmc.Material()
HastelloyN.add_nuclide(‘Ni58’, 71, ‘wo’)
HastelloyN.add_nuclide(‘Mo98’, 16, ‘wo’)
HastelloyN.add_nuclide(‘Cr52’, 7, ‘wo’)
HastelloyN.add_nuclide(‘Fe56’, 4.4, ‘wo’)
HastelloyN.add_nuclide(‘Si28’, 0.57, ‘wo’)
HastelloyN.add_nuclide(‘Mn55’, 0.2, ‘wo’)
HastelloyN.add_nuclide(‘W184’, 0.48, ‘wo’)
HastelloyN.add_nuclide(‘Al27’, 0.1, ‘wo’)
HastelloyN.add_nuclide(‘Ti48’, 0.1, ‘wo’)
HastelloyN.add_nuclide(‘Cu63’, 0.1, ‘wo’)
HastelloyN.add_element(‘C’, 0.05, ‘wo’)
HastelloyN.set_density(‘g/cm3’, 8.86)
HastelloyN.temperature =1200
HastelloyN.volume = 0.570955e6
HastelloyN.depletable= False
Reflector = openmc.Material()
Reflector.add_nuclide(‘Zr90’, 123.48, ‘ao’)
Reflector.add_nuclide(‘Zr91’, 26.928, ‘ao’)
Reflector.add_nuclide(‘Zr92’, 41.16, ‘ao’)
Reflector.add_nuclide(‘Zr94’, 41.712, ‘ao’)
Reflector.add_nuclide(‘Si28’, 147.60, ‘ao’)
Reflector.add_nuclide(‘Si29’, 7.4753, ‘ao’)
Reflector.add_nuclide(‘Si30’, 4.9176, ‘ao’)
Reflector.add_nuclide(‘Pb206’, 4.82, ‘ao’)
Reflector.add_nuclide(‘Pb207’, 4.42, ‘ao’)
Reflector.add_nuclide(‘Pb208’, 10.48, ‘ao’)
Reflector.add_nuclide(‘O16’, 20, ‘ao’)
Reflector.set_density(‘g/cm3’, 5.81)
Reflector.temperature =900
Reflector.volume = 8.88256e6
Reflector.depletable = False
ss316 = openmc.Material()
ss316.add_nuclide(‘Fe56’, 68.5, ‘wo’)
ss316.add_nuclide(‘Cr54’, 16.25, ‘wo’)
ss316.add_nuclide(‘Si28’, 11.5, ‘wo’)
ss316.add_nuclide(‘Mo98’, 2.5, ‘wo’)
ss316.add_nuclide(‘Mn55’, 1, ‘wo’)
ss316.add_nuclide(‘Si28’, 0.5, ‘wo’)
ss316.add_nuclide(‘N14’, 0.05, ‘wo’)
ss316.add_element(‘C’, 0.04, ‘wo’)
ss316.add_nuclide(‘P31’, 0.023, ‘wo’)
ss316.add_nuclide(‘S32’, 0.015, ‘wo’)
ss316.set_density(‘g/cm3’, 8.03)
ss316.temperature =900
ss316.volume = 0.76143e6
ss316.depletable = False
innerCoreBoundary = openmc.ZCylinder(r=127.394)
upperPlate = openmc.ZPlane(235.359)
lowerPlate = openmc.ZPlane(0.0)
activeCore = -upperPlate & +lowerPlate & -innerCoreBoundary
upperNplate = openmc.ZPlane(238.359)
lowerNplate = openmc.ZPlane(-3)
axialNBoundary =openmc.ZCylinder(r=130.394)
NRegion = -upperNplate & +lowerNplate & -axialNBoundary & ~activeCore
upperReflector = openmc.ZPlane(278.359)
lowerReflector = openmc.ZPlane(-43)
axialReflectorBoundary = openmc.ZCylinder(r=170.394)
ReflectingRegion = -upperReflector & +lowerReflector & -axialReflectorBoundary & ~NRegion
upperSSplate = openmc.ZPlane(281.359)
upperSSplate.boundary_type = ‘vacuum’
lowerSSplate = openmc.ZPlane(-46)
lowerSSplate.boundary_type = ‘vacuum’
axialSSBoundary = openmc.ZCylinder(r=173.394)
axialSSBoundary.boundary_type = ‘vacuum’
SSRegion = -upperSSplate & +lowerSSplate & -axialSSBoundary & ~ReflectingRegion
fuel = openmc.Cell(fill=fuelSalt, region=activeCore)
fuel.volume = 1.2e7
casing = openmc.Cell(fill=HastelloyN, region = NRegion)
reflector = openmc.Cell(fill=Reflector, region = ReflectingRegion)
stainlessSteel = openmc.Cell(fill=ss316, region = SSRegion)
U = openmc.Universe(cells =[fuel, casing, reflector, stainlessSteel])
materials = openmc.Materials([fuelSalt, HastelloyN, Reflector, ss316])
model = openmc.model.Model()
model.material = materials
model.geometry = openmc.Geometry(U)
model.settings.batches = 450
model.settings.inactive = 50
model.settings.particles =10000
r = 127.394
h = 235.359
SourceR = openmc.stats.Uniform(0,r)
SourcePhi = openmc.stats.Uniform(0,2*np.pi)
SourceH = openmc.stats.Uniform(0,h)
source = openmc.IndependentSource(
space=openmc.stats.CylindricalIndependent(SourceR, SourcePhi, SourceH)
)
model.settings.source = source
model.settings.ptables=True
opp = openmc.deplete.CoupledOperator(model, chain)
time = [0.0417, 1, 5, 10, 21, 35]
power = 4200e6
cecm = openmc.deplete.PredictorIntegrator(opp, time, power)
cecm.integrate()
model.export_to_xml()
model.run(threads=16)`
If any of you have any suggestions it would be much appreciated, thanks.
- Mickey