Skip to content

Types of codes

Gabriel Wlazłowski edited this page Nov 27, 2023 · 5 revisions

[[TOC]]

Static and time-dependent codes

There are two main branches of codes:

  • Static codes st-wslda-?d for solving self-consistently static DFT equations.
  • Time-dependent codes td-wslda-?d for solving time-dependent DFT equations. The td-wslda-?d codes require a starting point for the time evolution (i.e. $\psi(\vec{r},t=0)$), which is typically generated by the static codes.

In code names, ? stands for dimensionality, as described below.

Codes dimensionality (xx: st or td)

3D codes: xx-wslda-3d

The 3D codes do not impose any restriction on the form of the wave functions. The wave functions are assumed to be:

$$\psi=\varphi(x,y,z)$$

2D codes: xx-wslda-2d

In 2D codes, the wave functions are assumed to be:

$$\psi=\varphi(x,y)\frac{1}{\sqrt{L_z}}e^{ik_z z}$$

where

$$k_z = 0, \pm 1 \frac{2\pi}{L_z}, \pm 2 \frac{2\pi}{L_z}, \ldots , +(N_z-1) \frac{2\pi}{L_z}$$

For NZ=1, the code solves a 2D problem (there is only one mode in z-directions, which reduces to 1). Note, however, that the 2D problem requires a different prescription for coupling constant regularization than the one implemented in the W-SLDA toolkit.

1D codes: xx-wslda-1d

In 1D codes, the wave functions are assumed to be:

$$\psi=\varphi(x)\frac{1}{\sqrt{L_y}}e^{ik_y y}\frac{1}{\sqrt{L_z}}e^{ik_z z}$$

where

$$k_y = 0, \pm 1 \frac{2\pi}{L_y}, \pm 2 \frac{2\pi}{L_y}, \ldots , +(N_y-1) \frac{2\pi}{L_y}$$ $$k_z = 0, \pm 1 \frac{2\pi}{L_z}, \pm 2 \frac{2\pi}{L_z}, \ldots , +(N_z-1) \frac{2\pi}{L_z}$$

For NY=1 and NZ=1, the code solves a 1D problem. Note, however, that the 1D problem requires a different prescription for coupling constant regularization than the one implemented in the W-SLDA toolkit.

Clone this wiki locally