General info
During the computation process W-SLDA codes exploit information about typical scales present in the problem. Precisely, reference scales define typical orders of magnitude for computed quantities. The most important reference scale is:
-
k_F=(3\pi^2 n)^{1/3}
- Fermi momentum.
Other reference scales computed automatically from k_F
are:
-
\varepsilon_F=\frac{1}{2}k_F^2
- Fermi energy, -
E_{\textrm{ffg}}=\frac{3}{5}N\varepsilon_F
- energy of free Fermi gas.
Finally, chemical potentials also serve as reference scales for static problems:
-
\mu_{\uparrow}
- chemical potential is spin-up particles (particles of typea
), -
\mu_{\downarrow}
- chemical potential is spin-down particles (particles of typeb
).
Defining reference scales for static calculation
Fermi momentum
There are following methods of defining the k_F
reference scale:
-
automatic: in each iteration code checks what is maximal density
n=\max[n_{\uparrow}(\bm{r})+n_{\downarrow}(\bm{r})]
and next Fermi momentum is computed ask_F=(3\pi^2 n)^{1/3}
, -
via input file:
k_F
is provided by user in input file. To activate this mode you need to uncomment tagreferencekF
:
referencekF 1.0 # hard set for reference value of kF
- via process_params() function: you can code value of reference scales in problem-definition.h file
void process_params(double *params, double *kF, double *mu, size_t extra_data_size, void *extra_data)
{
// ...
(*kF) = MY_VALUE_FOR_KF;
// ...
}
Chemical potentials
Chemical potentials are adjusted automatically when mode with fixed particle number is executed. For mode with fixed chemical potential see here.
Defining reference scales for time dependent calculations
All reference scales are provided together with an initial state, i.e. binary files produced by static codes contain this information. Presently there is no option of changing values for reference scales.