A Python package for radioactive decay calculations that supports 1252 radionuclides, including full decay chains and branching.
Project description
radioactivedecay
radioactivedecay is a Python package for performing radioactive decay calculations. It supports 1252 radionuclides, including full decay chains and branching.
Installation
radioactivedecay requires Python 3.6+, NumPy and SciPy.
The easiest way to install radioactivedecay is via the Python Package index using pip:
$ pip install radioactivedecay
Usage
Example 1
radioactivedecay is based around inventories of radionuclides, which are created as follows:
>>> import radioactivedecay as rd
>>> tritium_initial = rd.Inventory({'H-3': 10.0})
>>> tritium_initial.contents
{'H-3': 10.0}
Here an inventory of 10 Bq of H-3 (tritium) was initialized by supplying a dictionary to
Inventory(). Radionuclides can be specified in three equivalent ways:
- e.g. 'Rn-222', 'Rn222' or '222Rn',
- or 'Ir-192n', 'Ir192n' or '192nIr' (for second metastable state of Ir-192).
Calculate the radioactive decay of an inventory by:
>>> tritium_decayed = tritium_initial.decay(12.32, 'y')
>>> tritium_decayed.contents
{'H-3': 5.0}
In this example the 10 Bq of H-3 was decayed for one half-life (12.32y), yielding 5 Bq of H-3. Note
the decay() function takes two arguments: the decay time and its units ('s', 'm', 'h', 'd' or 'y').
Example 2
Inventories can contain more than one radionuclide. In this example the inventory initially contains Tc-99m and I-123. Decaying it demonstrates the ingrowth of radioactive progeny via decay chains. The decay period is 20 hours.
>>> mix = rd.Inventory({'Tc-99m': 2.3, 'I-123': 5.8})
>>> mix.decay(20.0, 'h').contents
{'I-123': 2.040459244534774,
'Tc-99': 6.729939210983381e-09,
'Tc-99m': 0.22950748010063513,
'Te-123': 9.4851587443927e-18,
'Te-123m': 7.721174031572363e-07}
Tc-99 is the progeny of Tc-99m, and Te-123 and Te-123m are progeny of I-123.
Example 3
radioactivedecay includes a Radionuclide class. It can be used to fetch the half-lives of
radionuclides:
>>> rd.Radionuclide('Rn-222').halflife('d')
3.8235
>>> rd.Radionuclide('C-14').halflife('y')
5700.0
The half-lives of Rn-222 and C-14 are 3.8235 days and 5700 years, respectively.
How it works
radioactivedecay uses decay data from ICRP Publication 107 (2008). https://journals.sagepub.com/doi/pdf/10.1177/ANIB_38_3
It calculates an analytical solution to the decay chain differential equations using matrix algebra. Refer to the following paper for more details on the method: M Amaku, PR Pascholati & VR Vanin, Comp. Phys. Comm. 181, 21-23 (2010) https://doi.org/10.1088/0952-4746/26/3/N02
It uses NumPy and SciPy for matrix operations.
Limitations
The following processes are not modelled by radioactivedecay
- ingrowth of progeny from spontaneous fission decays
- neutronics, i.e. no modelling of induced radioactivity or fission
- external sources inputting radioactivity into the system
Care is needed when decaying backwards in time (i.e. supplying a negative time to the decay() function), as this can result in numerical instabilities and nonsense results.
Acknowledgements
Special thanks to assistance from
- Center for Computational Science & e-Systems, Japan Atomic Energy Agency
- Kenny McKee
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file radioactivedecay-0.0.4.tar.gz.
File metadata
- Download URL: radioactivedecay-0.0.4.tar.gz
- Upload date:
- Size: 97.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3feabbce3cd398bbdef9867ff745298e1569e89a8be6b6098be8ec43ca7de171
|
|
| MD5 |
c2b86aced257a88ea44d26a13e97c55e
|
|
| BLAKE2b-256 |
bdcb8154082346811a26058962de52bffa160ade90d409907df56b7bada85348
|
File details
Details for the file radioactivedecay-0.0.4-py3-none-any.whl.
File metadata
- Download URL: radioactivedecay-0.0.4-py3-none-any.whl
- Upload date:
- Size: 95.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c467a332ccb7ad07f830f82acc23f8cf701900f69e46109993039dabba47d22
|
|
| MD5 |
150e41dfdaac0ef8a9191ededea606a1
|
|
| BLAKE2b-256 |
4a35dda21963e158b027bce720045b8d4e843101be8c26582efc08fb9263f77a
|