PyCDT: A Python toolkit for modeling point defects in semiconductors and insulators - Broberg, Danny; Medasani, Bharat; Zimmermann, Nils E.R.; Yu, Guodong; Canning, Andrew; Haranczyk, Maciej; Asta, Mark; Hautier, Geoffroy (Computer physics communications, 2018)
Point defects have a strong impact on the performance of semiconductor and insulator materials used in technological applications, spanning microelectronics to energy conversion and storage. The nature of the dominant defect types, how they vary with processing conditions, and their impact on materials properties are central aspects that determine the performance of a material in a certain application. This information is, however, difficult to access directly from experimental measurements. Consequently, computational methods, based on electronic density functional theory (DFT), have found widespread use in the calculation of point-defect properties. Here we have developed the Python Charged Defect Toolkit (PyCDT) to expedite the setup and post-processing of defect calculations with widely used DFT software. PyCDT has a user-friendly command-line interface and provides a direct interface with the Materials Project database. This allows for setting up many charged defect calculations for any material of interest, as well as post-processing and applying state-of-the-art electrostatic correction terms. Our paper serves as a documentation for PyCDT, and demonstrates its use in an application to the well-studied GaAs compound semiconductor. We anticipate that the PyCDT code will be useful as a framework for undertaking readily reproducible calculations of charged point-defect properties, and that it will provide a foundation for automated, high-throughput calculations. Program title: PyCDT Program Files doi:http://dx.doi.org/10.17632/7vzk5gxzh3.1 Licensing Provisions: MIT License. Programming language: Python External routines/libraries: NumPy [1], matplotlib [2], and Pymatgen [3], Nature of problem: Computing the formation energies and stable point defects with finite size supercell error corrections for charged defects in semiconductors and insulators. Solution method: Automated setup, and parsing of defect calculations, combined with local use of finite size supercell corrections. All combined into a code with a standard user-friendly command line interface that leverages a core set of tools with a wide range of applicability. Additional comments: This article describes version 1.0.0. Program obtainable from https://bitbucket.org/mbkumar/pycdt