Experimental odd-even mass staggering (OEMS)

4.3. Experimental odd-even mass staggering (OEMS)#

In this tutorial, you will learn how to calculate the OEMS from the experimental nuclear chart (using the 3-point formula).


Import the libraries that will be employed in this tutorial.

# Import numpy
import numpy as np
# Import matplotlib
import matplotlib.pyplot as plt
# Import nucleardatapy package
import nucleardatapy as nuda

You can simply print out the properties of the nuda’s function that we will use:

# Explore the nucleardatapy module to find the correct attribute
print(dir(nuda.nuc.setupBEExp))
['D3n', 'D3p', 'S2n', 'S2p', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'isotones', 'isotopes', 'print_outputs', 'select', 'select_year']

Get the full list of tables:

tables, tables_lower = nuda.nuc.be_exp_tables()
print('tables:',tables)
tables: ['AME']

Get the versions associated to this table:

versions, versions_lower = nuda.nuc.be_exp_versions(table = 'AME')
print('versions:',versions)
versions: ['2020', '2016', '2012']

Extract data from a given table and version:

mas = nuda.nuc.setupBEExp( table = 'AME', version = '2020' )
print('number of nuclei:',mas.nbNuc)
Oldest discovery is from:  1896
Most recent discovery is from:  2020
dist: [  20.   19.  118.  170.  253.  620.  510.  888.  632.  394.  310.  252.
   72. 1569.    0.    0.    0.    0.    0.    0.]
number of nuclei: 5827

Compute the neutron EOMS:

Zref = 50
d3n = mas.D3n( Zmin = Zref, Zmax = Zref )
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[6], line 2
      1 Zref = 50
----> 2 d3n = mas.D3n( Zmin = Zref, Zmax = Zref )

TypeError: setupBEExp.D3n() got an unexpected keyword argument 'Zmin'

Compute the proton EOMS:

Nref = 50
d3p = mas.D3p( Nmin = Nref, Nmax = Nref )

print results:

print('N_even(Z=50):',d3n.D3n_N_even)
print('D3n(Z=50):',d3n.D3n_even)
print()
print('Z_even(N=50):',d3p.D3p_Z_even)
print('D3p(N=50):',d3p.D3p_even)
N_even(Z=50): [56 58 60 62 64 66 68 70 72 74 76 78 80 82 84]
D3n(Z=50): [1.429    1.499    1.5575   1.5215   1.378762 1.310207 1.42145  1.4669
 1.43435  1.3773   1.33315  1.3305   1.2042   2.47715  0.68105 ]

Z_even(N=50): [30 32 34 36 38 40 42 44 46]
D3p(N=50): [1.6296   1.76645  1.82555  1.679275 1.767128 1.59795  1.68654  1.61045
 1.5605  ]

Plot nuclear chart:

nuda.fig.nuc_setupBEExp_D3n_fig( None, tables, versions, Zref = 50 )
Plot name: None
Tables: ['AME']
Zref: 50
Oldest discovery is from:  1896
Most recent discovery is from:  2020
dist: [  20.   19.  118.  170.  253.  620.  510.  888.  632.  394.  310.  252.
   72. 1569.    0.    0.    0.    0.    0.    0.]
../../_images/be16a984f0789e849b58ba60eaf476c744c0cfa2f1aa049d2ef700b13101d771.png
nuda.fig.nuc_setupBEExp_D3p_fig( None, tables, versions, Nref = 50 )
Plot name: None
Tables: ['AME']
Nref: 50
Oldest discovery is from:  1896
Most recent discovery is from:  2020
dist: [  20.   19.  118.  170.  253.  620.  510.  888.  632.  394.  310.  252.
   72. 1569.    0.    0.    0.    0.    0.    0.]
../../_images/f14cf0c1dadb1d08d30db7bdb71b4aad276bc19b4641618c923caaa91572a22a.png