Nuclear Properties

Nuclear Properties#

Here we explore how to access some of the nuclear properties from a Nucleus object.

from pynucastro import Nucleus

Nucleus#

The Nucleus class manages all of the properties of a nucleus. We create a Nucleus simply by giving the name of the isotope

he4 = Nucleus("he4")

From this we can access the member data:

  • Z, N, A : the atomic number, neutron number, and atomic mass

  • mass : the mass of the nucleus in MeV

  • dm : the mass excess of the nucleus in MeV

  • nucbind : the nuclear binding energy of the nucleus in MeV / nucleon

  • A_nuc : the mass number of the nucleus (mass / atomic mass unit)

  • tau : the halflife of the nucleus (in seconds)

he4.Z, he4.A
(2, 4)
he4.nucbind
7.073915614499924

We can also get the partition functions of the nucleus, if it exists. The data we use mostly provides these for the heavy nuclei.

ni56 = Nucleus("ni56")
ni56.partition_function.eval(4.e9)
1.002103
ni56.tau
524880.0

Nucleus math#

We can also create a Nucleus via addition and subtraction operations.

c12 = Nucleus("c12")
p = Nucleus("p")
n13 = c12 + p
n13
N13
n13.mass
12114.76881146
c12 - p
B11

Exploring properties#

Let’s look at some nuclei and look at their mass excess, mass, and binding energies

p = Nucleus("p")
n = Nucleus("n")
c12 = Nucleus("c12")
ne22 = Nucleus("ne22")
ti43 = Nucleus("ti43")
fe56 = Nucleus("fe56")
for nuc in [p, n, c12, ne22, ti43, fe56]:
    print(f"{str(nuc):6} {nuc.dm:15.8} {nuc.mass:15.8f} {nuc.nucbind:15.8f}")
p            7.2889711    938.78307348      0.00000000
n            8.0713181    939.56542052      0.00000000
C12                0.0  11177.92922904      7.68014458
Ne22         -8.024716  20484.84553724      8.08046563
Ti43           -29.316  40024.93040406      8.35281497
Fe56         -60.60716  52103.06257552      8.79035626

We see that the binding energy for protons and neutrons are zero, as expected.

We also see:

  • For \({}^{12}\mathrm{C}\) the binding energy compares well with the tablulated version from the rounded AME 2020 of 7680.145.

  • For \({}^{22}\mathrm{Ne}\) the binding energy compares well with the tablulated version from the rounded AME 2020 of 8080.466.

  • For \({}^{43}\mathrm{Ti}\) the binding energy compares well with the tablulated version from the rounded AME 2020 of 8352.81.

  • For \({}^{56}\mathrm{Fe}\) the binding energy compares well with the tablulated version from the rounded AME 2020 of 8790.356.

from pynucastro.constants import constants

We also see that the mass of \({}^{12}\mathrm{C}\) agrees with the atomic mass unit from the CODATA compilation:

c12.mass / 12 - constants.m_u_MeV
1.1368683772161603e-13