Module diskchef.physics.ionization

This module contains parametrizations of ioniaztion rates

Global variables

var BRUDERER_TABLE

Array representing Bruderer+09 table 3

var INTERPOLATED_LOG_BRUDERER_TABLE

Interpolated table 3 of Bruderer+09

Functions

def bruderer09(column_density, temperature=3000000.0)
Expand source code
def bruderer09(column_density, temperature=3e6):
    """Return x-ray ionization rate as of Bruderer+09 table 3

    https://iopscience.iop.org/article/10.1088/0067-0049/183/2/179/pdf

    Args:
        column_density: number of protons + neutrons from the source, cm**-2 (1e20..1e25)
        temperature: plasma temperature of the source, K (3e6..3e8)

    Returns:
        ionization rate (float, in 1/s) for Fx = 1 erg/s
    """
    log_column_density = np.log10(column_density)
    log_temperature = np.log10(temperature)
    out = 10 ** INTERPOLATED_LOG_BRUDERER_TABLE(
        log_column_density, log_temperature, assume_sorted=False
    )
    if len(out) == 1:
        return out[0]
    return out

Return x-ray ionization rate as of Bruderer+09 table 3

https://iopscience.iop.org/article/10.1088/0067-0049/183/2/179/pdf

Args

column_density
number of protons + neutrons from the source, cm**-2 (1e20..1e25)
temperature
plasma temperature of the source, K (3e6..3e8)

Returns

ionization rate (float, in 1/s) for Fx = 1 erg/s

def padovani18h(logdens)
Expand source code
def padovani18h(logdens):
    """Return galactic cosmic ray ionization rate as of Padovani+18 App. F model H

    https://www.aanda.org/articles/aa/pdf/2018/06/aa32202-17.pdf

    Args:
        logdens: log10 of number density in g/cm**2 from the source

    Return:
        ionization rate, in 1/s
    """
    logdens = np.where(logdens < 19, 19, logdens)
    logdens = np.where(logdens > 27, 27, logdens)
    return 10 ** (
            1.001098610761e7 +
            - logdens * 4.231294690194e6
            + logdens ** 2 * 7.921914432011e5
            - logdens ** 3 * 8.623677095423e4
            + logdens ** 4 * 6.015889127529e3
            - logdens ** 5 * 2.789238383353e2
            + logdens ** 6 * 8.595814402406e0
            - logdens ** 7 * 1.698029737474e-1
            + logdens ** 8 * 1.951179287567e-3
            - logdens ** 9 * 9.937499546711e-6
    )

Return galactic cosmic ray ionization rate as of Padovani+18 App. F model H

https://www.aanda.org/articles/aa/pdf/2018/06/aa32202-17.pdf

Args

logdens
log10 of number density in g/cm**2 from the source

Return

ionization rate, in 1/s

def padovani18l(logdens)
Expand source code
def padovani18l(logdens):
    """Return galactic cosmic ray ionization rate as of Padovani+18 App. F model L

    https://www.aanda.org/articles/aa/pdf/2018/06/aa32202-17.pdf

    Args:
        logdens: log10 of number density in g/cm**2 from the source

    Return:
        ionization rate, in 1/s
    """
    logdens = np.where(logdens < 19, 19, logdens)
    logdens = np.where(logdens > 27, 27, logdens)
    return 10 ** (
            -3.331056497233e6 +
            logdens * 1.207744586503e6
            - logdens ** 2 * 1.913914106234e5
            + logdens ** 3 * 1.731822350618e4
            - logdens ** 4 * 9.790557206178e2
            + logdens ** 5 * 3.543830893824e1
            - logdens ** 6 * 8.034869454520e-1
            + logdens ** 7 * 1.048808593086e-2
            - logdens ** 8 * 6.188760100997e-5
            + logdens ** 9 * 3.122820990797e-8
    )

Return galactic cosmic ray ionization rate as of Padovani+18 App. F model L

https://www.aanda.org/articles/aa/pdf/2018/06/aa32202-17.pdf

Args

logdens
log10 of number density in g/cm**2 from the source

Return

ionization rate, in 1/s