ASLDA - asymmetric superfluid local density approximation
The functional has the generic form:
\begin{aligned}
\mathcal{E}_{\textrm{edf}}(n,\nu,\ldots) & = \alpha_{\uparrow}(n_{\uparrow},n_{\downarrow})\frac{\tau_{\uparrow}}{2} +
\alpha_{\downarrow}(n_{\uparrow},n_{\downarrow})\frac{\tau_{\downarrow}}{2} \\
&+
D(n_{\uparrow},n_{\downarrow})
+
g(n_{\uparrow},n_{\downarrow})\nu^{\dagger}\nu \\
&+ [1-\alpha_{\uparrow}(n_{\uparrow},n_{\downarrow})]\dfrac{\bm{j}_{\uparrow}^2}{2n_{\uparrow}}
+ [1-\alpha_{\downarrow}(n_{\uparrow},n_{\downarrow})]\dfrac{\bm{j}_{\downarrow}^2}{2n_{\downarrow}}
\end{aligned}
TODO
Stabilization of ASLDA functional
In the case of calculations for trapped system term \frac{\bm{j}_{\sigma}^2}{2n_{\sigma}}
is source of numerical instabilities. Precisely, for small density regions we have:
-
n_{\sigma}\rightarrow 0
, -
\bm{j}_{\sigma}\rightarrow 0
, -
\frac{\bm{j}_{\sigma}^2}{2n_{\sigma}}\rightarrow 0
.
However, division of very small numbers is numerically not stable operations. For this reason, we introduce stabilization procedure:
\dfrac{\bm{j}_{\sigma}^2}{2n_{\sigma}}\longrightarrow f_{\textrm{reg.}}(n_{\sigma})\dfrac{\bm{j}_{\sigma}^2}{2n_{\sigma}}
Role of f_{\textrm{reg.}}
is to exclude from computation regions of small density. The function is controlled by two parameters in predefines.h
file:
/**
* Meaningful only in case of ASLDA.
* Parameters defining stabilization procedure of ASLDA functional.
* For regions with density smaller than ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY
* contribution from current term j^2/2n is assumed to be zero.
* For regions with density above ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY
* the contribution is assumed to be intact by stabilization procedure.
* */
#define ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY 1.0e-5
#define ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY 1.0e-7
There meaning is presented on the figure below.
Smooth transition between densities ASLDA_STABILIZATION_EXCLUDE_BELOW_DENISTY
and ASLDA_STABILIZATION_RETAIN_ABOVE_DENSITY
is introduced in order to avoid discontinuities for quantities, that may lead to divergences when computing derivatives.