Distribution functions¶
Various distributions using different smearing techniques.
|
Create a distribution function, Gaussian, Lorentzian etc. |
|
Gaussian distribution function |
|
Lorentzian distribution function |
|
Fermi-Dirac distribution function |
|
Bose-Einstein distribution function |
|
Cold smearing function, Marzari-Vanderbilt, PRL 82, 16, 1999 |
|
Step function, also known as \(1 - H(x)\) |
|
Heaviside step function |
-
sisl.physics.distribution.
gaussian
(x, sigma=0.1, x0=0.0) 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
- Returns
the Gaussian distribution, same length as x
- Return type
-
sisl.physics.distribution.
lorentzian
(x, gamma=0.1, x0=0.0) Lorentzian distribution function
\[L(x,\gamma,x_0) = \frac{1}{\pi}\frac{\gamma}{(x-x_0)^2 + \gamma^2}\]- Parameters
- Returns
the Lorentzian distribution, same length as x
- Return type
-
sisl.physics.distribution.
fermi_dirac
(E, kT=0.1, mu=0.0) Fermi-Dirac distribution function
\[n_F(E,k_BT,\mu) = \frac{1}{\exp\Big[\frac{E - \mu}{k_BT}\Big] + 1}\]- Parameters
- Returns
the Fermi-Dirac distribution, same length as E
- Return type
-
sisl.physics.distribution.
bose_einstein
(E, kT=0.1, mu=0.0) Bose-Einstein distribution function
\[n_B(E,k_BT,\mu) = \frac{1}{\exp\Big[\frac{E - \mu}{k_BT}\Big] - 1}\]- Parameters
- Returns
the Bose-Einstein distribution, same length as E
- Return type
-
sisl.physics.distribution.
cold
(E, kT=0.1, mu=0.0) Cold smearing function, Marzari-Vanderbilt, PRL 82, 16, 1999
\[\begin{split}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\}\end{split}\]- Parameters
- Returns
the Cold smearing distribution function, same length as E
- Return type
-
sisl.physics.distribution.
step_function
(x, x0=0.0) Step function, also known as \(1 - H(x)\)
This function equals one minus the Heaviside step function
\begin{align} S(x,x_0) = \left\{\begin{aligned}1&\quad \text{for }x < x_0 \\ 0.5&\quad \text{for }x = x_0 \\ 0&\quad \text{for }x>x_0 \end{aligned}\right. \end{align}- Parameters
x (array_like) – points at which the step distribution is calculated
x0 (float, optional) – step position
- Returns
the step function distribution, same length as x
- Return type
-
sisl.physics.distribution.
heaviside
(x, x0=0.0) Heaviside step function
\begin{align} H(x,x_0) = \left\{\begin{aligned}0&\quad \text{for }x < x_0 \\ 0.5&\quad \text{for }x = x_0 \\ 1&\quad \text{for }x>x_0 \end{aligned}\right. \end{align}- Parameters
x (array_like) – points at which the Heaviside step distribution is calculated
x0 (float, optional) – step position
- Returns
the Heaviside step function distribution, same length as x
- Return type