"""Physical constants and reusable prefactors for transport calculations."""

from math import pi

from scipy.constants import (
    Boltzmann as BOLTZMANN_CONSTANT,
    elementary_charge as ELEMENTARY_CHARGE,
    electron_mass as ELECTRON_MASS,
    Planck as PLANCK_CONSTANT,
    hbar as REDUCED_PLANCK_CONSTANT,
)

# Sommerfeld value for a degenerate free-electron gas [W ohm K^-2].
LORENZ_NUMBER_FREE_ELECTRON = (
    pi**2 * BOLTZMANN_CONSTANT**2 / (3.0 * ELEMENTARY_CHARGE**2)
)

__all__ = [
    "BOLTZMANN_CONSTANT",
    "ELEMENTARY_CHARGE",
    "ELECTRON_MASS",
    "PLANCK_CONSTANT",
    "REDUCED_PLANCK_CONSTANT",
    "LORENZ_NUMBER_FREE_ELECTRON",
]
