^{1}, Alexey Neelov

^{2}, Stefan Goedecker

^{2}, Thierry Deutsch

^{1}, Seyed Alireza Ghasemi

^{2}, Alexander Willand

^{2}, Damien Caliste

^{1}, Oded Zilberberg

^{2}, Mark Rayson

^{2}, Anders Bergman

^{1}and Reinhold Schneider

^{3}

### Abstract

Daubechies wavelets are a powerful systematic basis set for electronic structure calculations because they are orthogonal and localized both in real and Fourier space. We describe in detail how this basis set can be used to obtain a highly efficient and accurate method for density functionalelectronic structure calculations. An implementation of this method is available in the ABINIT free software package. This code shows high systematic convergence properties, very good performances, and an excellent efficiency for parallel calculations.

We acknowledge support from the European Commission within the Sixth Framework Program through NEST-BigDFT (Contract No. BigDFT-511815), the French ANR Project LN3M (Project No. ANR-05-CIGC-003), and the Swiss National Science Foundation. Computer calculations were also performed at the Centre de Calcul Recherche et Technologie (CCRT) at CEA-Bruyères le Châtel, France, and at the Swiss national Scientific Computing Center (CSCS) in Manno.

I. INTRODUCTION

II. ADAPTIVITY IN A WAVELET BASIS

III. OVERVIEW OF THE METHOD

IV. TREATMENT OF KINETIC ENERGY

V. TREATMENT OF LOCAL POTENTIAL ENERGY

VI. CALCULATION OF HARTREE POTENTIAL

VII. XC FUNCTIONALS AND IMPLEMENTATION OF GENERALIZED GRADIENT APPROXIMATION (GGA)

VIII. TREATMENT OF THE NONLOCAL PSEUDOPOTENTIAL

IX. PRECONDITIONING

X. ORTHOGONALIZATION

A. Gram–Schmidt orthogonalization

B. Loewdin orthogonalization

C. Pseudo-Gram–Schmidt using Cholesky factorization

XI. CALCULATION OF FORCES

XII. LOCALIZATION PROPERTIES AND SMOOTHNESS OF THE BASIS FUNCTIONS

XIII. PERTURBATIVE CALCULATION OF THE FINITE SIZE CORRECTIONS

XIV. PARALLELIZATION

XV. CALCULATION OF UNOCCUPIED ORBITALS

XVI. PERFORMANCE RESULTS

XVII. CONCLUSIONS

### Key Topics

- Wave functions
- 56.0
- Wavelets
- 51.0
- Density functional theory
- 16.0
- Eigenvalues
- 15.0
- Carrier density
- 13.0

## Figures

Daubechies (Ref. 3) scaling function and wavelet of order 16. Both are different from zero only in the interval from to 8.

Daubechies (Ref. 3) scaling function and wavelet of order 16. Both are different from zero only in the interval from to 8.

A two-level adaptive grid around a molecule. The high resolution grid points carrying both scaling functions and wavelets are shown in blue (larger points); the low resolution grid points carrying only a single scaling function are shown in yellow (smaller points).

A two-level adaptive grid around a molecule. The high resolution grid points carrying both scaling functions and wavelets are shown in blue (larger points); the low resolution grid points carrying only a single scaling function are shown in yellow (smaller points).

Convergence rate of the wavelet code for a test run on a carbon atom. For this run the interpolation parameters are found to be within 2% accuracy: , , and . Using lower powers of for the fit does not give accurate agreement. Other test systems gave comparable convergence rates.

Convergence rate of the wavelet code for a test run on a carbon atom. For this run the interpolation parameters are found to be within 2% accuracy: , , and . Using lower powers of for the fit does not give accurate agreement. Other test systems gave comparable convergence rates.

The magic filter for the least asymmetric Daubechies-16 basis.

The magic filter for the least asymmetric Daubechies-16 basis.

The fine scale magic filter (combination of a wavelet transform and the magic filter in Fig. 4) for the least asymmetric Daubechies-16 basis, scaled by for comparison with the scaling function. The values of the filter on the graph are almost undistinguishable from the values of the scaling function. However, there is a slight difference that is important for the correct asymptotic convergence at small values of grid spacing .

The fine scale magic filter (combination of a wavelet transform and the magic filter in Fig. 4) for the least asymmetric Daubechies-16 basis, scaled by for comparison with the scaling function. The values of the filter on the graph are almost undistinguishable from the values of the scaling function. However, there is a slight difference that is important for the correct asymptotic convergence at small values of grid spacing .

The fine scale magic filter (combination of a wavelet transform and the magic filter in Fig. 4) for the least asymmetric Daubechies-16 *wavelet*, scaled by for comparison with the wavelet itself.

The fine scale magic filter (combination of a wavelet transform and the magic filter in Fig. 4) for the least asymmetric Daubechies-16 *wavelet*, scaled by for comparison with the wavelet itself.

Zoom of the Daubechies (Ref. 3) scaling function near the border of its support. Both the function and its absolute value are plotted.

Zoom of the Daubechies (Ref. 3) scaling function near the border of its support. Both the function and its absolute value are plotted.

Absolute convergence of the total energy of a methane molecule as a function of the low resolution localization radius with and without the tail corrections. The curves for two different values of the grid spacing are plotted, showing the convergence for the localization parameter sufficiently extended.

Absolute convergence of the total energy of a methane molecule as a function of the low resolution localization radius with and without the tail corrections. The curves for two different values of the grid spacing are plotted, showing the convergence for the localization parameter sufficiently extended.

Absolute precision (not precision per atom) as a function of the number of degrees of freedom for a cinchonidine molecule (44 atoms). Our method is compared with a plane wave code. In the case of the plane wave code, the plane wave cutoff and the volume of the computational box were chosen such as to obtain the required precision with the smallest number of degrees of freedom. In the case of our wavelet program, the grid spacing and the localization radii were optimized. For very high accuracies the exponential convergence rate of the plane waves beats the algebraic convergence rate of the wavelets. Such high accuracies are however not required in practice. Since convolutions can be executed at very high speed, the wavelet code is faster than the plane wave code at any accuracy even if the number of degrees of freedom are similar (see Table I).

Absolute precision (not precision per atom) as a function of the number of degrees of freedom for a cinchonidine molecule (44 atoms). Our method is compared with a plane wave code. In the case of the plane wave code, the plane wave cutoff and the volume of the computational box were chosen such as to obtain the required precision with the smallest number of degrees of freedom. In the case of our wavelet program, the grid spacing and the localization radii were optimized. For very high accuracies the exponential convergence rate of the plane waves beats the algebraic convergence rate of the wavelets. Such high accuracies are however not required in practice. Since convolutions can be executed at very high speed, the wavelet code is faster than the plane wave code at any accuracy even if the number of degrees of freedom are similar (see Table I).

Efficiency of the parallel implementation of the code for several runs with different numbers of atoms. The number close to each point indicates the number of orbitals treated by each processor in the orbital distribution scheme.

Efficiency of the parallel implementation of the code for several runs with different numbers of atoms. The number close to each point indicates the number of orbitals treated by each processor in the orbital distribution scheme.

Relative importance of different code sections as a function of the number of atoms of a simple alkane chain, starting from single carbon atom. The calculation is performed in parallel such that each processor holds the same number of orbitals (two in this figure). Also the time in seconds for a single minimization iteration is indicated, showing the asymptotic cubic scaling of present implementation.

Relative importance of different code sections as a function of the number of atoms of a simple alkane chain, starting from single carbon atom. The calculation is performed in parallel such that each processor holds the same number of orbitals (two in this figure). Also the time in seconds for a single minimization iteration is indicated, showing the asymptotic cubic scaling of present implementation.

## Tables

Computational time in seconds for a single minimization iteration for different runs of the cinchonidine molecule used for the plot in Fig. 9. The timings for different cutoff energies for the plane wave runs are shown. The input parameters for the wavelet runs are chosen such as to obtain the same absolute precision of the plane wave calculations. The plane wave runs are performed with the ABINIT code, which uses iterative diagonalization and with CPMD code (Ref. 35) in direct minimization. These timings are taken from a serial run on a 2.4 GHz AMD Opteron CPU.

Computational time in seconds for a single minimization iteration for different runs of the cinchonidine molecule used for the plot in Fig. 9. The timings for different cutoff energies for the plane wave runs are shown. The input parameters for the wavelet runs are chosen such as to obtain the same absolute precision of the plane wave calculations. The plane wave runs are performed with the ABINIT code, which uses iterative diagonalization and with CPMD code (Ref. 35) in direct minimization. These timings are taken from a serial run on a 2.4 GHz AMD Opteron CPU.

Article metrics loading...

Full text loading...

Commenting has been disabled for this content