Distribution functionsΒΆ

Various distributions using different smearing techniques.

get_distribution(method[, smearing, x0]) Create a distribution function, Gaussian, Lorentzian etc.
gaussian(x[, sigma, x0]) Gaussian distribution function
lorentzian(x[, gamma, x0]) Lorentzian distribution function
fermi_dirac(E[, kT, mu]) Fermi-Dirac distribution function
bose_einstein(E[, kT, mu]) Bose-Einstein distribution function
cold(E[, kT, mu]) Cold smearing function, Marzari-Vanderbilt, PRL 82, 16, 1999
sisl.physics.distribution.gaussian(x, sigma=0.1, x0=0.0)[source]

Gaussian distribution function

\[G(x,\sigma,x_0) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\Big[\frac{- (x - x_0)^2}{2\sigma^2}\Big]\]
Parameters:
x: array_like

points at which the Gaussian distribution is calculated

sigma: float, optional

spread of the Gaussian

x0: float, optional

maximum position of the Gaussian

Returns:
numpy.ndarray

the Gaussian distribution, same length as x

sisl.physics.distribution.lorentzian(x, gamma=0.1, x0=0.0)[source]

Lorentzian distribution function

\[L(x,\gamma,x_0) = \frac{1}{\pi}\frac{\gamma}{(x-x_0)^2 + \gamma^2}\]
Parameters:
x: array_like

points at which the Lorentzian distribution is calculated

gamma: float, optional

spread of the Lorentzian

x0: float, optional

maximum position of the Lorentzian

Returns:
numpy.ndarray

the Lorentzian distribution, same length as x

sisl.physics.distribution.fermi_dirac(E, kT=0.1, mu=0.0)[source]

Fermi-Dirac distribution function

\[n_F(E,k_BT,\mu) = \frac{1}{\exp\Big[\frac{E - \mu}{k_BT}\Big] + 1}\]
Parameters:
E: array_like

energy evaluation points

kT: float, optional

temperature broadening

mu: float, optional

chemical potential

Returns:
numpy.ndarray

the Fermi-Dirac distribution, same length as E

sisl.physics.distribution.bose_einstein(E, kT=0.1, mu=0.0)[source]

Bose-Einstein distribution function

\[n_B(E,k_BT,\mu) = \frac{1}{\exp\Big[\frac{E - \mu}{k_BT}\Big] - 1}\]
Parameters:
E: array_like

energy evaluation points

kT: float, optional

temperature broadening

mu: float, optional

chemical potential

Returns:
numpy.ndarray

the Bose-Einstein distribution, same length as E

sisl.physics.distribution.cold(E, kT=0.1, mu=0.0)[source]

Cold smearing function, Marzari-Vanderbilt, PRL 82, 16, 1999

\[C(E,k_BT,\mu) = \frac12 + \mathrm{erf}\Big(-\frac{E-\mu}{k_BT}-\frac1{\sqrt2}\Big) + \frac1{\sqrt{2\pi}} \exp\Bigg\{-\Big[\frac{E-\mu}{k_BT}+\frac1{\sqrt2}\Big]^2\Bigg\}\]
Parameters:
E: array_like

energy evaluation points

kT: float, optional

temperature broadening

mu: float, optional

chemical potential

Returns:
numpy.ndarray

the Cold smearing distribution function, same length as E