Explore Abinit and around
- ABINIT Coding
- Doc for new developers
The following packages are either essential dependencies or strongly recommended external libraries, without which some important functionalities of abinit will not function
Abinit will work only if linear algebra libraries are present on the computer. Only 2 linear algebra components are mandatory:
Even if you are free to install the reference implementation from Netlib, we highly recommend you to use an optimized implementation instead, in particular if you intend to perform complex calculations. A full list of supported libraries is available on the Configuring linear algebra page.
If you are using Linux, the best way to install linear algebra libraries is to use the package manager of your distribution to get some of them and/or install the Intel Math Kernel Library.
The University of Tennessee has also some useful information on how to install linear algebra libraries on Windows
On many high performance computers you will have access to optimized libraries (mkl ESSL ACML gotoblas…) - use these at all costs. They will speed up abinit runs by up to an order of magnitude: more than 60% of computation time is spent in these external libraries.
Abinit has an internal FFT library made by Stefan Goedecker in the 1990s, which he then cleverly parallelized in the 2000s. This is the default, but not the fastest FFT library abinit has access to. You want to link to external recent optimized versions.
The main library in wide use today is the FFTW3 which is very powerful, threaded, and optimized to death.
The vendor optimized mkl, ESSL and other libraries often provide versions of FFTW3 - use these as a priority
There exist other FFT libraries on the market, but abinit does not support them systematically. Check the options of the configure script for more details.
LibXC is a library implementing almost all known exchange correlation functionals. It is almost a strict requirement for abinit usage - you gain access to many xc approximations, metaGGAs and so on: you want this.
You can download LibXC from its Octopus wiki page.
Our Installing LibXC page will give you useful instructions to install LibXC properly and make it work with Abinit.
NetCDF is a binary portable file format used for many outputs of abinit. It is strongly recommended to use it for portability, flexibility, and inter-operability with other codes and post-processing tools, e.g. abipy. NetCDF4/HDF5 will soon be a requirement (2017?) and NetCDF 3 deprecated.
You can download NetCDF from its Unidata page.
Our Installing NetCDF page will give you useful instructions to install NetCDF properly and make it work with Abinit.