Wiki » History » Revision 72

Revision 71 (Christoph Freysoldt, 08/31/2020 11:13 AM) → Revision 72/86 (Christoph Freysoldt, 09/08/2020 05:57 PM)

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* ":, "*pyiron*":, an Integrated Development Environment for Computational Materials Science. !{height: 40px; }pyiron-logo.png! 

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

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

     * "Gemmantics IT-Consulting":     
     Erkrath, Germany  

     * "Photonics Theory Group":     
     Tyndall National Institute, 
     Cork, Ireland  

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