Project

General

Profile

Actions

Welcome to the SPHInX repository.

SPHInX S/PHI/nX is a C++ library for materials simulation, mostly electronic-structure theory. It also is a program (sphinx) to perform such simulations using density-functional theory, and k.p theory. In addition, the package offers dozens of specialized programs (add-ons) for smaller tasks related to setup, analysis, post-processing, and other types of simulations.

SxAccelerate logo In 2009, the base classes of SPHInX relating to fundamental programming concepts (memory handling, string handling, math, io, ...) have been separated from the physics part, and evolved into the SxAccelerate library. This powerful library is now used for system administration software, computer games, and more ... There is more about the history of SPHInX.

SPHInX is natively supported by pyiron, an Integrated Development Environment for Computational Materials Science. pyiron logo

One-click install

The Sphinx binaries are available for a number of Linux distributions via the Open Build Service .
If you miss your distribution of choice, please contact freysoldt@mpie.de.
For permanent usage, we recommend compiling the Sphinx source code individually on the respective architecture for better performance.
Moreover, Sphinx is available for Arch Linux via the Arch User Repository .

Features

As a library, SPHInX offers features in multiple areas:

Charged defect corrections

In case the download links do not work: all standalone add-ons and their manuals are provided for download here.

Geometry optimization

k·p

Oliver Marquardt, Stefan Schulz, Christoph Freysoldt, Sixten Boeck, Tilmann Hickel, Eoin P. O’Reilly, Jörg Neugebauer
A flexible, plane-wave based k·p multiband model Comp. Mat. Sci. 95, 280 (2014).
  • plane-wave basis set (i.e., periodic-boundary conditions)
  • flexible N-band model Hamiltonians configurable via input file
  • fully flexible system geometry via material maps
  • linear and non-linear interpolation of material parameters
  • very efficient preconditioner for minimizer
  • strain calculation

See here for the k·p tutorial.

Add-ons Residue of plane-wave orbitals projected to quamols

  • powerful atomic-structure handling for generating and manipulating atomic geometries (rotating, non-trivial multiplying, diffs, patching)
  • generate slabs, dislocations, random structure
  • Freysoldt-van-de-Walle-Neugebauer charged defect correction scheme (sxdefectalign) in 3D and 2D
  • phonons from forces
  • electronic-structure post-processing: partial densities (also Tersoff-Hamann STM), total & projected DOS, dipole oscillator strengthes, ELNES, MIES
  • optimized atomic orbitals (quamols), see Phys Rev B 84, 1 (2011).
  • external structure optimizer (sxextopt executable manual)
  • interface to the York GW space-time code

DFT

The object-oriented DFT program library S/PHI/nX
S. Boeck, C. Freysoldt, A. Dick, L. Ismer, J. Neugebauer Comp. Phys. Comm. 182, 543-554 (2011).

  • plane-wave basis sets
  • norm-conserving pseudopotentials or
  • PAW formalism (reads Bloechl's cppaw, VASP, abinit PAW setups)
  • LDA, GGA-PBE functionals (PBE0 and HSE hybrids as an experimental feature)
  • very robust and fast minimizers
  • atomic spin constraints
  • DFT+U for molecular orbitals
  • generalized dipole correction for charged slabs Phys. Rev. B 102, 045403 (2020).

SxAccelerate
SxAccelerate logo

  • base libraries for "C++ simple & powerful"
  • easy to learn thanks to limiting complexity to the 95% daily-use case
  • templates for the REALLY useful containers: contiguous arrays, doubly-linked lists, stacks, (math) vectors
  • simple & powerful string class
  • powerful io format
  • timers made simple: define locally, but get numbers in the global output
  • math support via linking to FFT & linear algebra libraries, but much simplified interface
  • simple macro language for MPI-based loop parallelization

About Us

List of Authors

Contributing Partners

Updated by Christoph Freysoldt 4 months ago · 86 revisions