예제 #1
0
def Hall_parameter(n,
                   T,
                   B,
                   ion_particle,
                   particle='e-',
                   coulomb_log=None,
                   V=None,
                   coulomb_log_method="classical"):
    r"""Calculate the ratio between the particle gyrofrequency and the
    particle-ion particle collision rate.

    All parameters apply to `particle`.

    Parameters
    ----------
    n : ~astropy.units.quantity.Quantity
        The density of particle s
    T : ~astropy.units.quantity.Quantity
        The temperature of particles
    B : ~astropy.units.quantity.Quantity
        The magnetic field
    ion_particle : str
        String signifying the type of ion.
    particle : str, optional
        String signifying the type of particles. Defaults to electrons.
    coulomb_log : float, optional
        Preset value for the Coulomb logarithm. Used mostly for testing purposes.
    V : ~astropy.units.quantity.Quantity
        The relative velocity between `particle` and ion particles.
    coulomb_log_method : str, optional
        Method used for Coulomb logarithm calculation. Refer to its documentation.

    See Also
    --------
    plasmapy.physics.parameters.gyrofrequency
    plasmapy.physics.parameters.fundamental_electron_collision_freq
    plasmapy.physics.transport.Coulomb_logarithm

    Returns
    -------
    astropy.units.quantity.Quantity
    """
    from plasmapy.transport import (fundamental_ion_collision_freq,
                                    fundamental_electron_collision_freq)
    gyro_frequency = gyrofrequency(B, particle)
    gyro_frequency = gyro_frequency / u.radian
    if atomic.Particle(particle).particle == 'e-':
        coll_rate = fundamental_electron_collision_freq(
            T,
            n,
            ion_particle,
            coulomb_log,
            V,
            coulomb_log_method=coulomb_log_method)
    else:
        coll_rate = fundamental_ion_collision_freq(T, n, ion_particle,
                                                   coulomb_log, V)
    return gyro_frequency / coll_rate
예제 #2
0
def Hall_parameter(n, T, B, particle, ion_particle, coulomb_log=None, V=None):
    r"""
    TODO
    """

    gyro_frequency = gyrofrequency(B, particle)
    gyro_frequency = gyro_frequency / u.radian
    if atomic.Particle(particle).particle == 'e-':
        coll_rate = collision_rate_electron_ion(T, n, ion_particle,
                                                coulomb_log, V)
    else:
        coll_rate = collision_rate_ion_ion(T, n, ion_particle, coulomb_log, V)
    return gyro_frequency / coll_rate
예제 #3
0
def Hall_parameter(n: u.m ** -3,
                   T: u.K,
                   B: u.T,
                   ion_particle,
                   particle='e-',
                   coulomb_log=None,
                   V=None,
                   coulomb_log_method="classical"):
    r"""Calculate the ratio between the particle gyrofrequency and the
    particle-ion particle collision rate.

    All parameters apply to `particle`.

    Parameters
    ----------
    n : ~astropy.units.quantity.Quantity
        The density of particle s
    T : ~astropy.units.quantity.Quantity
        The temperature of particles
    B : ~astropy.units.quantity.Quantity
        The magnetic field
    ion_particle : str
        String signifying the type of ion.
    particle : str, optional
        String signifying the type of particles. Defaults to electrons.
    coulomb_log : float, optional
        Preset value for the Coulomb logarithm. Used mostly for testing purposes.
    V : ~astropy.units.quantity.Quantity
        The relative velocity between `particle` and ion particles.
    coulomb_log_method : str, optional
        Method used for Coulomb logarithm calculation. Refer to its documentation.

    See Also
    --------
    plasmapy.formulary.parameters.gyrofrequency
    plasmapy.formulary.parameters.fundamental_electron_collision_freq
    plasmapy.formulary.collisions.Coulomb_logarithm

    Returns
    -------
    astropy.units.quantity.Quantity

    Examples
    --------
    >>> from astropy import units as u
    >>> Hall_parameter(1e10 * u.m**-3, 2.8e3 * u.eV, 2.3 * u.T, 'He-4 +1')
    <Quantity 7.26446...e+16>
    >>> Hall_parameter(1e10 * u.m**-3, 5.8e3 * u.eV, 2.3 * u.T, 'He-4 +1')
    <Quantity 2.11158...e+17>

    """
    from plasmapy.formulary.collisions import (fundamental_ion_collision_freq,
                                               fundamental_electron_collision_freq)
    gyro_frequency = gyrofrequency(B, particle)
    gyro_frequency = gyro_frequency / u.radian
    if atomic.Particle(particle).particle == 'e-':
        coll_rate = fundamental_electron_collision_freq(T,
                                                        n,
                                                        ion_particle,
                                                        coulomb_log,
                                                        V,
                                                        coulomb_log_method=coulomb_log_method)
    else:
        coll_rate = fundamental_ion_collision_freq(T, n, ion_particle, coulomb_log, V)
    return gyro_frequency / coll_rate