# ABINIT features¶

## An overview of ABINIT settings and features, for beginners and more experienced users.¶

This document gives an overview of the features implemented in the ABINIT
package, grouped in different topics, for the beginner as well as more experienced user.
It might answer the question “How to … with ABINIT ?”, to some extent.

It also gives a synthetic view on the needed settings.

## 1 Foreword¶

Documenting the features of a large scientific code is a complex task. The present list of features refers to different “topics”. Each topic has a dedicated page, which should be quick to read, unlike the lessons of the tutorial, each of which is usually at least one hour work. Many of the topics make the link between a physical property or quantity (including bibliographical references for the theory, and sometimes pointing to published work using this feature) and the way it is to be computed with ABINIT (e.g. corresponding input variable, example input files, and possibly tutorial(s)), and the associated post-processing tools (OPTIC, ANADDB, MULTIBINIT …).

This “topic”-based approach might be used by the beginner to get a broad overview of the capabilities of ABINIT applications as well as to the more expert user to quickly find the way to compute some existing quantity, or to remember which input variable is useful or mandatory for the calculation of a given property. Some topics are rather “input”-oriented (e.g. how to specify the atomic geometry, the occupation numbers, etc), other are more “property”-oriented (e.g. how to compute the elastic constants, the temperature-dependence of the electronic structure, etc), other are related to proper/better usage of the code.

Care is taken not to duplicate existing more complete documentation in ABINIT, but to point to it if appropriate. Not all the ABINIT documentation is covered by the Web-accessible documents, there are still a few unlinked documents in the subdirectories of ~abinit/doc (work is in progress to make it all available). Discussions on the ABINIT forum might also allow to get information.

## 2 ABINIT specifications for static DFT calculations¶

The topic Building an input file briefly explains the
content of an ABINIT input file. The following topics go more into the
details, however restricting to **static DFT calculations**, without doing
anything fancy with the exchange-correlation functionals. Going beyond these
is left for other sections (Section 3 and beyond). In
particular, for any accurate electronic properties, e.g. correct band
structure, optical response, or for strongly correlated electrons, please go
beyond the present sec. 2. Also, topics related to global control parameters,
that apply, generally speaking, to all types of calculations are explained later.

### 2.1 Settings for atoms: cell, atoms, atomic positions, and symmetries¶

- Unit cell
- Types of atoms and alchemy
- Crystalline structure and symmetries
- Smart symmetrizer
- Atom manipulator (advanced topic)

### 2.2 Physical settings for electrons: XC functionals, atomic/pseudo potentials, metal/insulator, spin, Coulomb interaction …¶

- Overview of available exchange and correlation functionals
- Hybrid functionals
- Van der Waals functionals
- Correlation energy within RPA
- Pseudopotentials and PAW atomic datasets
- Bands and occupation numbers for metals and insulators
- Spin-polarised systems and spin-orbit coupling
- Coulomb interaction and charged cells

### 2.3 Numerical settings for electrons: basis set, planewaves and real space sampling, Brillouin zone sampling …¶

- Planewaves and real space sampling
- PAW special settings
- Wavelets in ABINIT
- Wavevector sampling (k point grid)

### 2.4 SCF algorithms, tuning and stopping criteria¶

- SCF algorithms
- SCF control, tolerances and stopping criteria
- Forces and stresses
- Tuning speed and memory usage
- Recursion methods and orbital free calculations (not in production)

### 2.5 Added electric/magnetic field, other artificial constraints/modifications, and related properties …¶

- Electric polarization and finite electric field
- External magnetic field
- Constrained Density-Functional Theory
- Constrained atomic magnetic moment
- Electric field gradients and Mossbauer Fermi contact interaction
- Artificial modifications of the system

## 3 Global control parameters: flow, parallelism, output files, output content, timing and memory control …¶

- Multi-dataset calculations
- Parallelism and ABINIT
- Printing files
- Tuning the output content in different files
- Time and memory control

## 4 Molecular dynamics, geometry optimization, transition paths¶

- Geometry optimization
- Molecular dynamics
- Transition path searches: NEB and string method
- Geometry constraints
- Path-integral molecular dynamics (PIMD)
- Crossing barrier search, linear combination of constrained DFT energies and ensemble DFT
- Learn-on-the-flight (LOTF) (not in production)

## 5 Correlated electrons¶

When correlated electrons are to be considered (in most cases, when *d* and *f*
orbitals play an active role), it is necessary to go beyond the standard DFT
framework. ABINIT enables the following possibilities:

- Hybrid functionals
- DFT+U approximation
- Dynamical Mean Field Theory (DMFT)
- Calculation of the effective Coulomb interaction

## 6 Adiabatic response properties (phonons, low-frequency dielectric, Raman, elasticity, temperature dependence …)¶

Many properties can be obtained in the approximation that the electrons **stay
in their ground state** (adiabatic responses). The poweful Density-Functional
Perturbation Theory (DFPT) framework allows ABINIT to address directly all
such properties in the case that are connected to derivatives of the total
energy with respect to some perturbation. This includes all dynamical effects
due to phonons and their coupling, thus also temperature-dependent properties due to phonons.

- Generalities about DFPT
- Wavevectors for phonons (q-points)
- Vibrational and dielectric properties (phonon frequencies and modes, IR and Raman spectra, Born effective charges)
- Phonon bands and DOS, interatomic force constants, sound velocity
- Temperature dependent properties (free energy, entropy, specific heat, atomic temperature factors, thermal expansion)
- Elasticity and piezoelectricity
- Raman intensities and electro-optic properties
- Electron-phonon interaction
- Phonon linewidth due to the electron-phonon interaction
- Electronic transport properties from electron-phonon interaction (resistivity, superconductivity, thermal)
- Temperature dependence of the electronic structure from electron-phonon interaction
- Constrained polarization geometry optimization (advanced topic)

## 7 Excited state calculations, and frequency-dependent electronic and optical properties¶

Excited-state calculations and frequency-dependent properties (for frequencies that are non-negligible with respect to the electronic gap), can be addressed by a variety of methodologies, usually trading accuracy for speed. At the lowest level, one encounters the independent-particle approximation, building upon some previously obtained band structure (e.g. Kohn-Sham band structure from DFT). For charged excitations, allowing to obtain a quasiparticle band structure without the well-known DFT band gap problem, one has to resort to (costly) GW calculations. For neutral excitations (i.e. optical), the (costly) Bethe-Salpeter approach is the most accurate formalism presently available. TDDFT and Δ-SCF calculations are cheaper but will work well for molecules and for isolated defects in a solid, not for e.g. correcting the band gap.

- Linear and non-linear optical properties in the independent-particle approximation
- Definition of frequency meshes for Many-body perturbation theory
- Frequency-dependent susceptibility matrix, and related dielectric matrix and screened Coulomb interaction
- Electronic self-energy
- GW calculations for accurate band structure, including self-consistency
- Bethe-Salpeter calculations for accurate optical properties
- TDDFT calculations
- DeltaSCF calculations
- Random electronic stopping power
- GW- Lanczos-Sternheimer method (not in production)

## 8 Second-principles calculations with MULTIBINIT: handling millions of atoms with first-principles accuracy¶

By constructing model Hamiltonians whose linear and selected non-linear characteristics
are identical to those from first-principles calculations, and simulating millions
of atoms with these model Hamiltonians, one can study phase transitions, polarization boundaries,

and other properties for large-scale systems that cannot be reached from first-principles algorithms
implemented in ABINIT and most DFT codes. Even with respect to linear-scaling codes, the prefactor
is much smaller.
This is implemented in the MULTIBINIT application.

## 9 Electronic properties and analysis tools (DOS, STM, Wannier, band plotting and interpolating…)¶

Many properties are directly deduced from the knowledge of the electronic wavefunctions, eigenenergies, density, potential, etc. Some necessitates additional tuning parameters or are linked to postprocessing tools and are described in the following topics. Some others are actually activated through a single printing parameter, such as the Electron Localization Function (ELF - see prtelf). See the list of “printing” input variables in topic_printing.

- Electronic band structure and related topics
- Electronic DOS and related topics
- Effective mass calculations
- Unfolding supercell band structures
- Manipulating the density and potential
- Macroscopic average of density and potential
- Scanning Tunneling Microscopy map
- Wannier functions
- Bader Atom-In-Molecule analysis

## 10 Other physical properties (e.g. positron)¶

## 11 Analysis/postprocessing tools¶

- Abipy - ABINIT swiss knife
- Abinit Post-Processor Application (APPA), for molecular-dynamics trajectory analysis
- Band2eps for phonon dispersion curves
- Temperature Dependent Effective Potential, for thermodynamical properties

## 12 Miscellaneous topics¶

- Verification of the implementation
- Portability and non-regression tests
- Git, gitlab and github for the ABINIT project
- Miscellaneous for developers