\[\newcommand{\vect}[1]{\vec{\boldsymbol{#1}}}
\newcommand{\uvect}[1]{\hat{\boldsymbol{#1}}}
\newcommand{\abs}[1]{\lvert#1\rvert}
\newcommand{\Abs}[1]{\left\lvert#1\right\rvert}
\newcommand{\norm}[1]{\lVert#1\rVert}
\newcommand{\I}{\mathrm{i}}
\newcommand{\ket}[1]{\left|#1\right\rangle}
\newcommand{\bra}[1]{\left\langle#1\right|}
\newcommand{\braket}[1]{\langle#1\rangle}
\newcommand{\Braket}[1]{\left\langle#1\right\rangle}
\newcommand{\op}[1]{\hat{#1}}
\newcommand{\mat}[1]{\underline{\boldsymbol{#1}}}
\providecommand{\d}{\mathrm{d}}
\renewcommand{\d}{\mathrm{d}}
\newcommand{\D}[1]{\mathcal{D}[#1]\;}
\newcommand{\pdiff}[3][]{\frac{\partial^{#1}#2}{\partial{#3}^{#1}}}
\newcommand{\diff}[3][]{\frac{\d^{#1} #2}{\d{#3}^{#1}}}
\newcommand{\ddiff}[3][]{\frac{\delta^{#1} #2}{\delta{#3}^{#1}}}
\newcommand{\floor}[1]{\left\lfloor#1\right\rfloor}
\newcommand{\ceil}[1]{\left\lceil#1\right\rceil}
\DeclareMathOperator{\Tr}{Tr}
\DeclareMathOperator{\erf}{erf}
\DeclareMathOperator{\erfi}{erfi}
\DeclareMathOperator{\sech}{sech}
\DeclareMathOperator{\sinc}{sinc}
\DeclareMathOperator{\sn}{sn}
\DeclareMathOperator{\cn}{cn}
\DeclareMathOperator{\dn}{dn}
\DeclareMathOperator{\sgn}{sgn}
\DeclareMathOperator{\order}{O}
\DeclareMathOperator{\diag}{diag}
\DeclareMathOperator{\span}{span}
\newcommand{\mylabel}[1]{\label{#1}\tag{#1}}
\newcommand{\degree}{\circ}
% These replace SIunitx. They should not be defined in LaTeX.
\newcommand{\SI}[2]{#1\;\mathrm{#2}}
\newcommand{\si}[1]{\mathrm{#1}}
\let\qty\SI
\let\unit\si
\newcommand{\squared}{{^{2}}}
\newcommand{\cubed}{{^{3}}}
\newcommand{\per}{/}
\newcommand{\tera}{T}
\newcommand{\giga}{G}
\newcommand{\mega}{M}
\newcommand{\kilo}{k}
\newcommand{\milli}{m}
\newcommand{\micro}{μ}
\newcommand{\nano}{n}
\newcommand{\kilogram}{\text{kg}\,}
\newcommand{\meter}{\text{m}\,}
\newcommand{\second}{\text{s}\,}
\newcommand{\ampere}{\text{A}\,}
\newcommand{\kelvin}{\text{K}\,}
\newcommand{\mol}{\text{mol}\,}
\newcommand{\candela}{\text{cd}\,}
\newcommand{\newton}{\text{N}\,}
\newcommand{\hertz}{\text{Hz}\,}
\newcommand{\pascal}{\text{Pa}\,}
\newcommand{\volt}{\text{V}\,}
\newcommand{\watt}{\text{W}\,}
\newcommand{\joule}{\text{J}\,}
\newcommand{\henry}{\text{H}\,}
\newcommand{\farad}{\text{F}\,}
\newcommand{\coulomb}{\text{C}\,}
\newcommand{\ohm}{\Omega\,}
\newcommand{\weber}{\text{Wb}\,}
\newcommand{\tesla}{\text{T}\,}
\newcommand{\degree}{\text{deg}\,}
\]
gpe.slda
Module Contents
-
cubic_degeneracy(N, ny, nz)[source]
Return the degeneracy of the point (N, ny, nz) on the cube.
Assumes N >= ny >= nz.
-
get_n2s(N)[source]
Return dictionary of sum(n**2) keys with degeneracies.
-
class HomogeneousSLDA(**kw)[source]
Class for computing parameters for the Homogeneous SLDA.
-
hbar2_2m[source]
hbar**2 / 2 / m.
- Type:
float
-
xi[source]
Bertsch parameter.
- Type:
float
-
alpha[source]
Inverse effective mass.
- Type:
float
-
eta[source]
Gap in units of the Fermi energy: eta = Delta / E_F
- Type:
float
-
aurel[source]
If True, then use Aurel’s regularization scheme which converges faster.
- Type:
bool
-
hbar2_2m = 0.5[source]
-
xi = 0.372[source]
-
alpha = 1.09[source]
-
eta = 0.45[source]
-
aurel = False[source]
-
_quad(f, mu_alpha, delta_alpha, kc_k0)[source]
Return the integral of f(k) over a sphere in momentum up to kc.
-
_get_nk(k, mu_alpha, delta_alpha)[source]
Carefully compute the density integrand to avoid round-off errors.
Uses a series expansion for large k.
-
_get_kF_EF_EFG(n)[source]
Return (k_F, E_F, E_FG). (DRY)
- Parameters:
n (float or array-like) – Total density n = n_a + n_b.
-
n_integrand(k, **kw)[source]
-
tau_integrand(k, **kw)[source]
-
nu_integrand(k, mu_alpha, delta_alpha)[source]
-
gap_eq(delta_alpha, **kw)[source]
Return the gap equation objective (should be zero).
-
compute(kc_k0=50, mu_alpha=1.0, delta_alpha=1)[source]
Solve the gap equation, then compute the parameters.
- Parameters:
kc_k0 (float) – Momentum cutoff in units of k0.
mu_alpha (float) – mu / alpha. Sets the scale for densities and k0.
delta_alpha (float) – Initial guess for delta / alpha. If this is zero, then properties of the
normal state are computed.
- Returns:
Res (tuple) – Object with alpha, beta and gamma parameters.
Note, for debugging purposes, all variables are stored in self._locals which can be
used with e.g. locals().update(s._locals).
-
f(y0, l)[source]
Return the -pi P_l(-y_0)/sin(pi*l).
-
compute_lattice(y0, L)[source]
-
_quad_box(f, mu_alpha, delta_alpha)[source]
Return the integral of f(k) over a box.