Metadata-Version: 2.1
Name: radioactivedecay
Version: 0.0.2
Summary: A Python package for radioactive decay calculations that supports 1252 radionuclides, including full decay chains and branching.
Home-page: https://github.com/alexmalins/radioactivedecay
Author: Alex Malins
Author-email: pypi@REMOVETHISalexmalins.com
License: MIT
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](https://pypi.org/) 
        using pip:
        
        ```console
        $ pip install radioactivedecay
        ```
        
        Usage
        -----
        
        radioactivedecay is based around inventories of radionuclides, which are created as follows:
        
        ```pycon
        >>> 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:
        
        ```pycon
        >>> 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').
        
        The next example is for a mixture of Tc-99m and I-123. It demonstrates the ingrowth of radioactive
        progeny via decay chains. The decay period is 20 hours.
        
        ```pycon
        >>> 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.485157551487966e-18}
        ```
        
        Tc-99 and Te-123 are long half life daughters of Tc-99m and I-123, respectively.
        
        radioactivedecay includes a `Radionuclide()` class. It can be used to fetch the half-lives of
        radionuclides:
        
        ```pycon
        >>> rd.Radionuclide('Rn222').halflife('d')
        3.8235
        ```
        
        The half-life of Rn-222 is 3.8235 days.
        
        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.
        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, so no modelling of induced radioactivity or fission
        
        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.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
