Wiki » History » Revision 82
Revision 81 (Oliver Marquardt, 04/19/2021 10:55 AM) → Revision 82/86 (Oliver Marquardt, 04/19/2021 11:34 AM)
h1. Welcome to the SPHInX repository.
!>{width: 70px; align: bottom;}SPHInX.png! 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.
!<{width: 70px;}sxaccelerate.jpg! 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":https://gitlab.com/sphinxlib/sxaccelerate library. This powerful library is now used for system administration software, "computer games":https://www.rockitlaunched.com/, and more ... There is more about the [[History|history of SPHInX]].
SPHInX is natively supported by " *pyiron* ":http://pyiron.org/, an Integrated Development Environment for Computational Materials Science. !{height: 40px; }pyiron-logo.png!
h1. One-click install
The Sphinx binaries are available for a number of Linux distributions via the " *Open Build Service* ":https://software.opensuse.org//download.html?project=home%3Afreysoldt&package=sphinxdft .
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* ":https://aur.archlinux.org/packages/sphinxdft/ .
h1. Features
As a library, SPHInX offers features in multiple areas:
h2. Charged defect corrections !>{width: 300px; }GaAs-vacGa-3-formEnergy.png!
* sxdefectalign ("executable":https://sxrepo.mpie.de/attachments/download/20/sxdefectalign.bz2 "manual":https://sxrepo.mpie.de/attachments/download/36/sxdefectalign-manual.pdf) for point defects in *bulk*, see "PRL *102*, 016402 (2009).":https://doi.org/10.1103/PhysRevLett.102.016402
* sxdefectalign2d ("executable":https://sxrepo.mpie.de/attachments/download/57/sxdefectalign2d.bz2 "manual":https://sxrepo.mpie.de/attachments/download/54/sxdefectalign2d-manual.pdf) for point defects at *surfaces, interfaces*, and *2D materials*, see "Phys. Rev. B *97*, 205425 (2018).":https://doi.org/10.1103/PhysRevB.97.205425
In case the download links do not work: all standalone add-ons and their manuals are provided for download "here.":https://sxrepo.mpie.de/projects/sphinx-add-ons/files
h2. Geometry optimization
* on-the-fly parameterized BFGS quasi-Newton (ricQN) ("sxextopt executable":https://sxrepo.mpie.de/attachments/download/53/sxextopt.bz2 "manual":https://sxrepo.mpie.de/attachments/download/12/sxextopt-manual.pdf), see "Comp. Mat. Sci. *133*, 71 (2017).":https://dx.doi.org/10.1016/j.commatsci.2017.03.001
* standard BFGS quasi-Newton
h2. 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).":https://doi.org/10.1007/s11082-011-9506-3
* 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 [[kpTutorial| *k·p* tutorial]].
h2. Add-ons !>{width: 300px; }quamolResidue.jpg!
* 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).":https://dx.doi.org/10.1103/PhysRevB.84.085101
* external structure optimizer ("sxextopt executable":https://sxrepo.mpie.de/attachments/download/53/sxextopt.bz2 "manual":https://sxrepo.mpie.de/attachments/download/12/sxextopt-manual.pdf)
* interface to the York GW space-time code
h2. 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).":http://www.sciencedirect.com/science/article/pii/S0010465510003619
* 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).":https://dx.doi.org/10.1103/PhysRevB.102.045403
h2. "SxAccelerate":https://gitlab.com/sphinxlib/sxaccelerate
!<{width: 70px;}sxaccelerate.jpg!
* 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
h1. About Us
[[et al|List of Authors]]
h2. Contributing Partners
* Defect Chemistry and Spectroscopy group
"Computational Materials Design Dept.":http://www.mpie.de/2702079/computational_materials_design
Max-Planck-Institut für Eisenforschung
Düsseldorf, Germany
* "DACS Labs":http://www.dacslabs.com
Erkrath, Germany
* "Oliver Marquardt":https://www.wias-berlin.de/~marquardt/
Weierstraß-Institut
Berlin, Germany
* "Max Planck Computing and Data Facility (MPCDF)":https://www.mpcdf.mpg.de/
Garching, Germany