... | ... | @@ -6,7 +6,7 @@ Energy is computed from the formula: |
|
|
E=\int \mathcal{E}_{\textrm{edf}}(n,\nu,\ldots)\,d^3r+\sum_{\sigma}\int V_{\sigma}^{\textrm{(ext)}}(r)n_{\sigma}(r)\,d^3r\\-\frac{1}{2}\int\left(\Delta^{\textrm{(ext)}}(r)\nu^*(r)+\textrm{h.c.}\right)d^3r-\sum_{\sigma}\int \vec{v}_{\sigma}^{\textrm{(ext)}}(r)\cdot\vec{j}_{\sigma}(r)\,d^3r
|
|
|
```
|
|
|
|
|
|
The instrictic energy is assumed to have the generic structure:
|
|
|
The intrinsic energy is assumed to have a generic structure:
|
|
|
```math
|
|
|
E_{\textrm{edf}} = \int \mathcal{E}_{\textrm{edf}}\,d^3r = \int\left(\mathcal{E}_{\textrm{kin}} + \mathcal{E}_{\textrm{pot}} + \mathcal{E}_{\textrm{pair}} + \mathcal{E}_{\textrm{curr}}\right)d^3r
|
|
|
```
|
... | ... | @@ -60,16 +60,16 @@ $`\vec{j}_{\uparrow}(r) = -\sum_{|E_n|<E_c} \textrm{Im}[u_{n,\uparrow}(r)\nabla |
|
|
* `j_b_x`, `j_b_y`, `j_b_z`:
|
|
|
$`\vec{j}_{\downarrow}(r) = \sum_{|E_n|<E_c} \textrm{Im}[v_{n,\downarrow}(r)\nabla v_{n,\downarrow}^*(r)]f_{\beta}(-E_n)`$
|
|
|
|
|
|
In these formulas $`E_{n}`$ denotes quasi-particle energy and $`E_c`$ is energy cut-off scale. Fermi distribution function $`f_{\beta}(E)=1/(\exp(\beta E)+1)`$ is introduced to model temperature $`T=1/\beta`$ effects.
|
|
|
In these formulas $`E_{n}`$ denotes quasi-particle energy, and $`E_c`$ is the energy cut-off scale. Fermi distribution function $`f_{\beta}(E)=1/(\exp(\beta E)+1)`$ is introduced to model temperature $`T=1/\beta`$ effects.
|
|
|
|
|
|
Densities are accessible for user through structure [wslda_density](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/hpc-engine/wslda_potdens.h):
|
|
|
Densities are accessible to users through structure [wslda_density](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/hpc-engine/wslda_potdens.h):
|
|
|
```c
|
|
|
typedef struct
|
|
|
{
|
|
|
int nx;
|
|
|
int ny; /// for 1d code it is set to 1
|
|
|
int nz; /// for 1d and 2d code it is set to 1
|
|
|
int datadim; /// dimensonality of data
|
|
|
int datadim; /// dimensionality of data
|
|
|
int blocklength; /// number of elements in potential array = nx*ny*nz
|
|
|
|
|
|
// densities
|
... | ... | @@ -101,7 +101,7 @@ Potentials entering the hamiltonian are: |
|
|
* `alpha_a` and `alpha_b`:
|
|
|
$`\alpha_{\sigma} = 2\dfrac{\delta\mathcal{E}_{\textrm{edf}}}{\delta \tau_{\sigma}}`$ -- effective mass,
|
|
|
* `V_a` and `V_b`:
|
|
|
$`V_{\sigma}=\dfrac{\delta\mathcal{E}_{\textrm{edf}}}{\delta n_{\sigma}}`$ -- meanfield potential,
|
|
|
$`V_{\sigma}=\dfrac{\delta\mathcal{E}_{\textrm{edf}}}{\delta n_{\sigma}}`$ -- mean-field potential,
|
|
|
* `A_a_x`, `A_a_y`, `A_a_z`, `A_b_x`, `A_b_z`, and `A_b_z`:
|
|
|
$`\vec{A}_{\sigma}=\dfrac{\delta\mathcal{E}_{\textrm{edf}}}{\delta \vec{j}_{\sigma}}`$ -- current potential,
|
|
|
* `delta`:
|
... | ... | @@ -114,7 +114,7 @@ typedef struct |
|
|
int nx;
|
|
|
int ny; /// for 1d code it is set to 1
|
|
|
int nz; /// for 1d and 2d code it is set to 1
|
|
|
int datadim; /// dimensonality of data
|
|
|
int datadim; /// dimensionality of data
|
|
|
int blocklength; /// number of elements in potential array = nx*ny*nz
|
|
|
|
|
|
// potentials
|
... | ... | |