Dftbplus
DFTB+ general package for performing fast atomistic simulations
Install / Use
/learn @dftbplus/DftbplusREADME
DFTB+: general package for performing fast atomistic calculations
|lgpl badge|
DFTB+ is a software package for carrying out fast quantum mechanical atomistic
calculations based on the Density Functional Tight Binding method. The most
recent features are described in the (open access) DFTB+ paper <https://doi.org/10.1063/1.5143190>_.
|DFTB+ logo|
DFTB+ can be either used as a standalone program or integrated into other software packages as a library.
Installation
Obtaining via Conda
The preferred way of to install DFTB+ is by using the conda package management
system. We highly suggest using the miniforge <https://github.com/conda-forge/miniforge>_ conda distribution. You might use
any other conda distribution as well, just make sure to select the conda-forge <https://conda-forge.org/>_ channel as the (only) source for packages.
We provide several build variants, choose the one suiting your needs. For example, by issuing ::
conda install 'dftbplus==nompi_'
or ::
conda install 'dftbplus==mpi_mpich_'
or ::
conda install 'dftbplus==mpi_openmpi_'
to get the last stable release of DFTB+ with, respectively, serial (OpenMP-threaded) build or with MPI-parallelized build using either the MPICH or the Open MPI framework.
Downloading the binary
A non-MPI (OpenMP-threaded) distribution of the latest stable release can be
found on the stable release page <http://www.dftbplus.org/download/stable.html>_.
Building from source
Note: This section describes the building with default settings (offering
only a subset of all possible features in DFTB+) in a typical Linux
environment. For more detailed information on the build customization and the
build process, consult the detailed building instructions in INSTALL.rst <INSTALL.rst>_.
Download the source code from the stable release page <http://www.dftbplus.org/download/stable.html>_.
You need CMake (>= 3.16) to build DFTB+. If your environment offers no CMake or
only an older one, you can easily install the latest CMake via Python's pip
command::
pip install cmake
Start CMake by passing your compilers as environment variables (FC and
CC), and the location where the code should be installed and the build
directory (_build) as options::
FC=gfortran CC=gcc cmake -DCMAKE_INSTALL_PREFIX=$HOME/opt/dftb+ -B _build .
If the configuration was successful, start the build with::
cmake --build _build -- -j
After successful build, you should test the code. First download the files needed for the test ::
./utils/get_opt_externals slakos ./utils/get_opt_externals gbsa
or ::
./utils/get_opt_externals ALL
and then run the tests with ::
pushd _build; ctest -j; popd
If the tests were successful, install the package with ::
cmake --install _build
For further details see the detailed building instructions <INSTALL.rst>_.
Parameterisations
In order to carry out calculations with DFTB+, you need according
parameterisations (a.k.a. Slater-Koster files). You can download them from
dftb.org <https://dftb.org>_.
Documentation
Consult following resources for documentation:
-
Step-by-step instructions with selected examples (DFTB+ Recipes) <http://dftbplus-recipes.readthedocs.io/>_ -
Reference manual describing all features (DFTB+ Manual) <https://github.com/dftbplus/dftbplus/releases/latest/download/manual.pdf>_
Citing
When publishing results obtained with DFTB+, please cite following works:
-
DFTB+, a software package for efficient approximate density functional theory based atomistic simulations; J. Chem. Phys. 152, 124101 (2020) <https://doi.org/10.1063/1.5143190>_ -
Reference publications of the Slater-Koster parameterization sets you used. (See
dftb.org <https://dftb.org>_ for the references.) -
Methodological papers relevant to your calculations (e.g. excited states, electron-transport, third order DFTB etc.). References to these can be found in the
DFTB+ manual <https://github.com/dftbplus/dftbplus/releases/latest/download/manual.pdf>_.
Contributing
New features, bug fixes, documentation, tutorial examples and code testing is welcome in the DFTB+ developer community!
The project is hosted on github <http://github.com/dftbplus/>.
Please check CONTRIBUTING.rst <CONTRIBUTING.rst> and the DFTB+ developers guide <https://dftbplus-develguide.readthedocs.io/>_ for guide lines.
We are looking forward to your pull request!
License
DFTB+ is released under the GNU Lesser General Public License. See the included
LICENSE <LICENSE>_ file for the detailed licensing conditions.
.. |DFTB+ logo| image:: https://www.dftbplus.org/_assets/DFTB-Plus-Icon_06_f_150x150.png :alt: DFTB+ website :scale: 100% :target: https://dftbplus.org/
.. |lgpl badge| image:: http://www.dftbplus.org/_assets/license-GNU-LGPLv3-blue.svg :alt: LGPL v3.0 :scale: 100% :target: https://opensource.org/licenses/LGPL-3.0
