A fast and precise DFT wavelet code

Wavelet formalism

A fast and precise DFT wavelet code
Revision as of 15:25, 18 January 2019 by Laura (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


The basis set

One dimensional functions

The maximally symmetric Daubechies family of degree 16 is used to represent the Kohn-Sham orbitals. The two fundamental functions of this family, the scaling function and the wavelet are shown in the following Figure for the one-dimensional case. To form a basis set these functions have to be centered on the nodes of a regular grid.

Daubechies Scaling Function and Wavelet of order 16

Wavelet basis sets in three dimensions

A 3-dim wavelet basis is made by products of 1-dim functions. 1 scaling function and 7 wavelets can be centered on the nodes (i,j,k) of a regular 3-dim Cartesian grid. They all are products of 1-dim scaling functions and wavelets:

Failed to parse (PNG conversion failed; check for correct installation of latex and dvipng (or dvips + gs + convert)): \begin{array}{lcl} {\color{Red}\phi_{i,j,k}(x,y,z)} & = & \phi(x-i) \phi(y-j) \phi(z-k) \\ {\color{Blue}\psi^1_{i,j,k}(x,y,z)} & = & \phi(x-i) \phi(y-j) \psi(z-k) \\ {\color{Blue}\psi^2_{i,j,k}(x,y,z)} & = & \phi(x-i) \psi(y-j) \phi(z-k) \\ {\color{Blue}\psi^3_{i,j,k}(x,y,z)} & = & \phi(x-i) \psi(y-j) \psi(z-k) \\ {\color{Blue}\psi^4_{i,j,k}(x,y,z)} & = & \psi(x-i) \phi(y-j) \phi(z-k) \\ {\color{Blue}\psi^5_{i,j,k}(x,y,z)} & = & \psi(x-i) \phi(y-j) \psi(z-k) \\ {\color{Blue}\psi^6_{i,j,k}(x,y,z)} & = & \psi(x-i) \psi(y-j) \phi(z-k) \\ {\color{Blue}\psi^7_{i,j,k}(x,y,z)} & = & \psi(x-i) \psi(y-j) \psi(z-k) \\ \end{array}

If a grid point carries the 7 wavelets in addition to the scaling function, it belongs to the high resolution region. In the low resolution region a grid point carries only a single scaling function. In the high resolution region, the resolution is doubled in each direction with respect to the low resolution region. The grid spacing is specified by the parameters hgridx, hgridy, hgridz. The low resolution region is constructed in the following way. Around each atom one draws a sphere whose radii are the ’size of the atom’ times the adimensional parameter crmult. All the grid points being contained in the union of all these spheres form the low resolution region. The high resolution is constructed in a similar way. One draws spheres whose radii are the ’size of the bonding region’ times the parameter frmult around each atom. All the grid points being contained in the union of all these spheres form the high resolution region. Default values for the ’size of the atom’ and the ’size of the bonding region’ are contained in the package. The user can however choose different values and these values can be specified by adding an additional line at the end of the pseudopotential parameter files which contain first the alternative values of crmult and then frmult.

Visualizing the simulation grid

The grid can be visualized by calling the bigdfdt-tool program with the option -a export-grid. Then the output file ’grid.xyz’ contains the atomic positions and in addition the grid points which denoted by ’g’ if the are in the coarse region and by ’G’ if they are in the fine region.

Whereas the total number of basis functions is nearly independent of the orientation of the molecule, the size of some work arrays depends on the orientation. When the bigdft-tool program is called with the option -a rotate, it will rotate a molecule that will be calculated with free boundary conditions in such a way that the simulation cell size and hence the size of the work arrays are as small as possible. The rotated output is written in the file posout_000.xyz.

Personal tools