Modelling Am241/Be Source

Hi Guys,

I’m relatively new to Openmc and am trying to model a homogeneous, cylindrical, 3.7GBq, Am241/Be neutron source of known dimension. Just wondering if anyone has any suggestions about how best to accurately model this source in the openmc python API as I’m not sure that the built in energy distribution functions will accurately reflect the neutron/gamma ray energy spectrums of the source.

Cheers

Hi, hope this helps:

import openmc
import numpy as np

AmBeSource = openmc.IndependentSource()

# AmBe Spectrum (Ref: https://doi.org/10.1016/0020-708X(70)90066-9)
# Equally spaced (0.2 MeV) Bins from 0.2 to 11.2 (as in Ref)
lstEnergy = np.linspace(0.2e6, 11.2e6, 56).tolist()
lstProbability = [0.028, 0.028, 0.024, 0.0205, 0.024, 0.028, 0.0168, 0.0182, 0.0178, 
                      0.0183, 0.0202, 0.0202, 0.0201, 0.0225, 0.0286, 0.0351, 0.0362, 0.0324, 
                      0.0296, 0.0284, 0.0277, 0.0283, 0.0301, 0.0286, 0.0311, 0.0295, 0.0265, 
                      0.0241, 0.0216, 0.0184, 0.0168, 0.0169, 0.0162, 0.0146, 0.0134, 0.0143, 
                      0.0159, 0.0166, 0.0171, 0.0162, 0.0134, 0.0102, 0.0073, 0.0048, 0.0036, 
                      0.0040, 0.0053, 0.0064, 0.0064, 0.0058, 0.0048, 0.0035, 0.0022, 0.0011, 0.0003, 0.0001]

# Energy distribution
AmBeSource.energy = openmc.stats.Tabular(lstEnergy, lstProbability,'histogram')

# Cylindrical Distribution, use your own values for source dimensions i.e., radius and length            
r = openmc.stats.PowerLaw(0., radius, 1.)
phi = openmc.stats.Uniform(0., 2 * np.pi)
z = openmc.stats.Uniform(-length / 2, length / 2)
AmBeSource.space = openmc.stats.CylindricalIndependent(r, phi, z, origin = (x0, y0, z0))   # change origin

# Isotropic angular distribution
AmBeSource.angle = openmc.stats.Isotropic()

# Time Distribution
# AmBeSource.time = openmc.stats.Uniform(0, 1e-6)

AmBeSource.strength = 3.7e9
AmBeSource.particle = 'neutron'

# AmBeSource is ready to use as openmc.Settings().source