Dr Jonathan Shimwell.
Jonathan.Shimwell@ukaea.uk
This work was funded by the RCUK Energy Programme
[Grant number EP/P012450/1]
Neutron birth
(n,n')
(n,f)
(n,n')
(γ,γ')
(n,nγ')
(n,pn')
(n,f)
(n,2n)
(n,α)
(n,γ)
Neutronics analysis has a role in assessing the functionality and viability of nuclear reactor designs, particle accelerators, radiation shielding, medical treatment devices, etc
Neutronics analysis also has uses in fusion reactor design and can ascertain:
Cross section data is key to the neutronics workflow and provide us with the likelihood of a particular interaction.
Availability of experimental data varies.
Typically the experimental data is then interpreted to create evaluation libraries, such as ENDF, JEFF, JENDL, CENDL.
Cross sections can be measured experimentally with monoenergetic neutrons.
Cross section evaluations exist for different isotopes and different interactions.
A list of interactions is available online
MT numbers using in this workshop include:
import openmc
mat1 = openmc.Material(name='natural Li2O')
mat1.add_element('Li', 2)
mat1.add_element('O', 1)
mat1.set_density('g/cm3', 2.01)
mat2 = openmc.Material(name='enriched Li20')
mat2.add_nuclide('Li6', 0.6*2)
mat2.add_nuclide('Li7', 0.4*2)
mat2.add_nuclide('O16', 0.9976206)
mat2.add_nuclide('O17', 0.000379)
mat2.add_nuclide('O18', 0.0020004)
mat2.set_density('g/cm3', 2.01)
import openmc
mat1 = openmc.Material(name='natural Li2O')
mat1.add_element('Li', 2)
mat1.add_element('O', 1)
mat1.set_density('g/cm3', 2.01)
mat2 = openmc.Material(name='enriched Li20')
mat2.add_nuclide('Li6', 0.6*2)
mat2.add_nuclide('Li7', 0.4*2)
mat2.add_nuclide('O16', 0.9976206)
mat2.add_nuclide('O17', 0.000379)
mat2.add_nuclide('O18', 0.0020004)
mat2.set_density('g/cm3', 2.01)
import openmc
mat1 = openmc.Material(name='natural L2O')
mat1.add_element('Li', 2)
mat1.add_element('O', 1)
mat.density = 2.01
mat2 = openmc.Material(name='enriched Li20')
mat2.add_nuclide('Li6', 0.6*2)
mat2.add_nuclide('Li7', 0.4*2)
mat2.add_nuclide('O16', 0.9976206)
mat2.add_nuclide('O17', 0.000379)
mat2.add_nuclide('O18', 0.0020004)
surface_xp = openmc.XPlane(x0=0)
surface_yp = openmc.YPlane(y0=0)
surface_zp = openmc.ZPlane(z0=0)
surface_p = openmc.Plane(A=1.0, B=0.0, C=0.0, D=0.0)
surface_xcy = openmc.XCylinder(y0=0.0, z0=0.0, R=1.0)
surface_ycy = openmc.YCylinder(x0=0.0, z0=0.0, R=1.0)
surface_zcy = openmc.ZCylinder(x0=0.0, z0=0.0, R=1.0)
surface_s = openmc.Sphere(x0=0.0, y0=0.0, z0=0.0, R=1.0)
surface_xco = openmc.XCone(x0=0.0, y0=0.0, z0=0.0, R2=1.0)
surface_yco = openmc.YCone(x0=0.0, y0=0.0, z0=0.0, R2=1.0)
surface_zco = openmc.ZCone( x0=0.0, y0=0.0, z0=0.0, R2=1.0)
surface_quad = openmc.Quadric(a=0.0, b=0.0, c=0.0, d=0.0, e=0.0, f=0.0, g=0.0, h=0.0, j=0.0, k=0.0)
The geometry of a model in OpenMC is defined using constructive solid geometry (CSG) although CAD is supported via DAGMC
surface_sphere = openmc.Sphere(r=10.0) region_inside_sphere = -surface_sphere cell_sphere = openmc.Cell(region=region_inside_sphere)
cell_sphere.fill = steel
surf_sphere1 = openmc.Sphere(r=10.0)
surf_sphere2 = openmc.Sphere(r=20.0)
region_inside_sphere = +surf_sphere1 & -surf_sphere2
cell = openmc.Cell(region= region_inside_sphere)
cell_sphere.fill = steel
surf_sphere1 = openmc.Sphere(r=10.0)
surf_sphere2 = openmc.Sphere(r=20.0)
surf_cy = openmc.ZCylinder(r=5) surf_up_zp = openmc.ZPlane(z0=30)
surf_low_zp = openmc.ZPlane(z0=-30)
hollow_sph = ( +surf_sphere1 & -surf_sphere2)
capped_cy = ( -surf_cy & -surf_up_zp & +surf_low_zp)
cell = openmc.Cell(region = hollow_sph | capped_cy)
cell_sphere.fill = steel
surf_sphere1 = openmc.Sphere(r=10.0)
surf_sphere2 = openmc.Sphere(r=20.0)
surf_cy = openmc.ZCylinder(r=5) surf_up_zp = openmc.ZPlane(z0=30)
surf_low_zp = openmc.ZPlane(z0=-30)
hollow_sph = ( +surf_sphere1 & -surf_sphere2)
capped_cy = ( -surf_cy & -surf_up_zp & +surf_low_zp)
cell = openmc.Cell(region = hollow_sph & capped_cy)
cell_sphere.fill = steel
surf_sphere1 = openmc.Sphere(r=10.0)
surf_sphere2 = openmc.Sphere(r=20.0)
surf_cy = openmc.ZCylinder(r=5) surf_up_zp = openmc.ZPlane(z0=30)
surf_low_zp = openmc.ZPlane(z0=-30)
hollow_sph = ( +surf_sphere1 & -surf_sphere2)
capped_cy = ( -surf_cy & -surf_up_zp & +surf_low_zp)
cell = openmc.Cell(region = hollow_sph ~ capped_cy)
cell_sphere.fill = steel
Plot reactions for isotopes, elements or materials
Construct geometry and view it in 2D or 3D
The DPA tally will just produce a single number