Welcome to the SPHInX repository.¶
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.
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.
Binaries for one-click install
Sphinx is available for a number of Linux distributions via "*Open Build Service* . For long-term usage, performance can be improved by compiling the Sphinx source code individually on the respective architecture¶
As a library, SPHInX offers features in multiple areas:
Charged defect corrections ¶
- sxdefectalign (executable manual) for point defects in bulk, see PRL 102, 016402 (2009).
- sxdefectalign2d (executable manual) for point defects at surfaces, interfaces, and 2D materials, see Phys. Rev. B 97, 205425 (2018).
In case the download links do not work: all standalone add-ons and their manuals are provided for download here.
- on-the-fly parameterized BFGS quasi-Newton (ricQN) (sxextopt executable manual), see Comp. Mat. Sci. 133, 71 (2017).
- standard BFGS quasi-Newton
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 Optical and Quantum Electronics 44, 183 (2012).
- 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.
- 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
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).
- 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
- Defect Chemistry and Spectroscopy group
Computational Materials Design Dept.
Max-Planck-Institut für Eisenforschung
- DACS Labs
- Oliver Marquardt
- Max Planck Computing and Data Facility