Nuclear Data

PyNE provides a top-level interface for a variety of basic nuclear data needs. This aims to provide quick access to very high fidelity data. Values are taken from the nuc_data.h5 library. The basic suite of data comes from public sources. However if you have access to proprietary or export controlled data, such as CINDER cross sections, then PyNE will also attempt to provide an interface to this as well.

All functionality may be found in the data module:


In [1]:
from pyne import data

The usual suspects follow.

Atomic Mass [amu]


In [2]:
data.atomic_mass('U235')


Out[2]:
235.043930131

Natural Abundance Ratios


In [3]:
data.natural_abund('U235')


Out[3]:
0.007204

In [4]:
data.natural_abund('Pu-239')


Out[4]:
0.0

Half Lives (s) & Decay Constants (1/s)


In [5]:
data.half_life('U-238')


Out[5]:
1.409993568e+17

In [6]:
data.decay_const('U-238')


Out[6]:
4.915959875924379e-18

Decay Children


In [7]:
data.decay_children('Rb86')


Out[7]:
set([360860000, 380860000])

In [8]:
print data.branch_ratio('Rb86', 360860000)


5.2e-05

Neutron Scattering Lengths [cm]


In [9]:
data.b('H1')


Out[9]:
2.554930849083787e-12

In [10]:
data.b_coherent('H1')


Out[10]:
(-3.7406e-13+0j)

In [11]:
data.b_incoherent('H1')


Out[11]:
(2.5274000000000003e-12+0j)

Half-life Plot


In [12]:
import numpy as np
import matplotlib
matplotlib.rc('font', family='serif', size=14)
import matplotlib.pyplot as plt
from pyne import nucname

anums = map(nucname.anum, data.half_life_map.keys())

fig = plt.figure(figsize=(7,7))
plt.semilogy(anums, data.half_life_map.values(), 'ko')
plt.xlabel('A')
plt.ylabel('Half-life [s]')


Out[12]:
<matplotlib.text.Text at 0x29f5350>