PyCDT: A Python toolkit for modeling point defects in semiconductors and insulators
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 summary: 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
- Research Organization:
- Pacific Northwest National Laboratory (PNNL), Richland, WA (United States); Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC), Basic Energy Sciences (BES)
- Grant/Contract Number:
- AC02-05-CH11231; FWP 56909; AC02-05CH11231; 56909; AC05-76RL01830
- OSTI ID:
- 1634156
- Alternate ID(s):
- OSTI ID: 1420872; OSTI ID: 1465458
- Report Number(s):
- PNNL-SA-133200; S0010465518300079; PII: S0010465518300079
- Journal Information:
- Computer Physics Communications, Journal Name: Computer Physics Communications Vol. 226 Journal Issue: C; ISSN 0010-4655
- Publisher:
- ElsevierCopyright Statement
- Country of Publication:
- Netherlands
- Language:
- English
Web of Science
Similar Records
Python Materials Genomics (pymatgen): A robust, open-source python library for materials analysis
Genarris 2.0: A Random Structure Generator for Molecular Crystals