Project

General

Profile

Actions

Wiki » History » Revision 59

« Previous | Revision 59/85 (diff) | Next »
Christoph Freysoldt, 12/20/2018 04:01 PM


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, graph databases, ... 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" :https://sxrepo.mpie.de/attachments/download/21/sxdefectalign-manual.pdf ) for point defects in bulk, see PRL 102, 016402 (2009).
  • sxdefectalign2d (executable "manual" :https://sxrepo.mpie.de/attachments/download/26/sxdefectalign2d-manual.pdf ) for point defects at surfaces, interfaces, and 2D materials, see Phys. Rev. B 97, 205425 (2018).

Geometry optimization

k dot p

Oliver Marquardt, Stefan Schulz, Christoph Freysoldt, Sixten Boeck, Tilmann Hickel, Eoin P. O’Reilly, Jörg Neugebauer
A flexible, plane-wave based 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

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), 2011, 543-554

  • 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

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

List of Authors

Contributing Partners

Updated by Christoph Freysoldt about 5 years ago · 59 revisions