# 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.

# Features¶

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).

## Geometry optimization¶

- on-the-fly parameterized BFGS quasi-Newton (ricQN) (sxextopt executable manual), see Comp. Mat. Sci.
**133**, 71 (2017). - standard BFGS quasi-Newton

## 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* 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.

## Add-ons ¶

- 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

¶

- 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¶

## Contributing Partners¶

- Defect Chemistry and Spectroscopy group

Computational Materials Design Dept.

Max-Planck-Institut für Eisenforschung

Düsseldorf, Germany

- Gemmantics IT-Consulting

Erkrath, Germany

- Photonics Theory Group

Tyndall National Institute,

Cork, Ireland

- Max Planck Computing and Data Facility

Garching, Germany

Updated by Christoph Freysoldt 23 days ago · 73 revisions