dftbplus / skprogs

Basic programs for generating Slater-Koster files for the DFTB-method
GNU Lesser General Public License v3.0
25 stars 19 forks source link
density-functional-theory dftb quantum-mechanics slater-koster tight-binding

SkProgs


Package containing a few programs that are useful in generating Slater-Koster files for the DFTB-method.

NOTE: This packages comes with minimal documentation and with a currently rather fragile user interface. It is considered to be neither stable nor robust. Make sure, you check results as careful as possible. Use at your own risk!

Installation

|build status|

Prerequisites

Obtaining via Conda

The preferred way of obtaining SkProgs is to install it via the conda package management framework using Miniconda <https://docs.conda.io/en/latest/miniconda.html> or Anaconda <https://www.anaconda.com/products/individual>. Make sure to add/enable the conda-forge channel in order to be able to access SkProgs::

conda config --add channels conda-forge conda config --set channel_priority strict

We recommend to set up a dedicated conda environment and to use the mamba solver <https://mamba.readthedocs.io/>_ ::

conda create --name skprogs conda activate skprogs conda install conda-libmamba-solver conda config --set solver libmamba

to install the latest stable release of SkProgs (Fortran and Python components)::

mamba install skprogs skprogs-python

Building from source

Follow the usual CMake build workflow:

Building libXC from source

Follow the usual CMake build workflow:

Advanced build configuration

Controlling the toolchain file selection

You can override the toolchain file, and select a different provided case, passing the -DTOOLCHAIN option with the relevant name, e.g.::

-DTOOLCHAIN=gnu

or ::

-DTOOLCHAIN=intel

or by setting the toolchain name in the SKPROGS_TOOLCHAIN environment variable. If you want to load an external toolchain file instead of one from the source tree, you can specify the file path with the -DTOOLCHAIN_FILE option ::

-DTOOLCHAIN_FILE=/path/to/myintel.cmake

or with the SKPROGS_TOOLCHAIN_FILE environment variable.

Similarly, you can also use an alternative build config file instead of config.cmake in the source tree by specifying it with the -DBUILD_CONFIG_FILE option or by defining the SKPROGS_BUILD_CONFIG_FILE environment variable.

Generating SK-files

The basic steps of generating the electronic part of the SK-tables are as follows:

Further documentation will be presented in a separate document later.

License

SkProgs is released under the GNU Lesser General Public License.

You can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the files COPYING <COPYING> and COPYING.LESSER <COPYING.LESSER> for the detailed licensing conditions.

.. |build status| image:: https://img.shields.io/github/actions/workflow/status/dftbplus/skprogs/build.yml :target: https://github.com/dftbplus/skprogs/actions/