Skip to content

DOC-Package/dftbplus

 
 

DFTB+: general package for performing fast atomistic calculations

LGPL v3.0

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.

DFTB+ website

DFTB+ can be either used as a standalone program or integrated into other software packages as a library.

About this fork

This repository is a fork of DFTB+ modified for Constrained DFT (CDFT) development and CDFTB-CI calculations. The following modifications have been made:

Enhanced output for electronic constraints:

  • Added Vc (constraint potential) output to SCC iteration information (printSccInfo in mainio.F90)
  • Added Vc output to constraint iteration information (printElecConstrInfo in mainio.F90)
  • Added automatic export of final constraint potential to final_Vc.dat file after convergence (writeFinalVc in main.F90)
  • Added getter functions (getVc, getDeviation, getNConstr) to TElecConstraint type for accessing constraint data (elecconstraints.F90)

These modifications are useful for:

  • Monitoring constraint convergence during SCC iterations
  • Extracting final constraint potentials for CDFTB-CI coupling calculations
  • Debugging and analysis of constrained DFT calculations

Modified files:

  • src/dftbp/dftb/elecconstraints.F90
  • src/dftbp/dftbplus/main.F90
  • src/dftbp/dftbplus/mainio.F90

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 conda distribution. You can use any other conda distribution as well, just make sure to select the conda-forge 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.

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.

Download the source code from the stable release page.

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.

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.

Documentation

Consult following resources for documentation:

Citing

When publishing results obtained with DFTB+, please cite following works:

Contributing

New features, bug fixes, documentation, tutorial examples and code testing is welcome in the DFTB+ developer community!

The project is hosted on github. Please check CONTRIBUTING.rst and the DFTB+ developers guide 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 file for the detailed licensing conditions.

About

DFTB+ general package for performing fast atomistic simulations

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING
LGPL-3.0
COPYING.LESSER

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 92.2%
  • Python 4.1%
  • CMake 1.6%
  • Shell 1.2%
  • C 0.9%