Wiki » History » Revision 82

Revision 81 (Oliver Marquardt, 04/19/2021 10:55 AM) → Revision 82/84 (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": library. This powerful library is now used for system administration software, "computer games":, and more ... There is more about the [[History|history of SPHInX]]. 

 SPHInX is natively supported by " *pyiron* ":, 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* ": . 
 If you miss your distribution of choice, please contact 
 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* ": . 

 h1. Features 

 As a library, SPHInX offers features in multiple areas: 

 h2. Charged defect corrections !>{width: 300px; }GaAs-vacGa-3-formEnergy.png! 

 * 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.": 

 h2. Geometry optimization 

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

 h2.    k&middot;p 

 Oliver Marquardt, Stefan Schulz, Christoph Freysoldt, Sixten Boeck, Tilmann Hickel, Eoin P. O’Reilly, Jörg Neugebauer 
 _A flexible, plane-wave based *k&middot;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 [[kpTutorial| *k&middot;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).": 
 * external structure optimizer ("sxextopt executable": "manual": 
 * 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).": 

 * 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).": 

 h2. "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.": 
     Max-Planck-Institut für Eisenforschung 
     Düsseldorf, Germany  

     * "DACS Labs":     
     Erkrath, Germany  

     * "Oliver Marquardt": 
     Berlin, Germany 

     * "Max Planck Computing and Data Facility (MPCDF)": 
     Garching, Germany