Skip to main content

Python project for the extraction of defect parameters from lifetime measurements

Project description

Defect Parameter extraction through Machine Learning

Package containing python source code for machine learning extraction of defect parameters from experimental files. Follow instructions from python files in example folder on how to use the package. More information about the process can be found in the following paper: https://www.nature.com/articles/s41524-020-00410-7

Abstract - The performance of high-efficiency silicon solar cells is limited by the presence of bulk defects. Identification of these defects has the potential to improve cell performance and reliability. The impact of bulk defects on minority carrier lifetime is commonly measured using temperature- and injection-dependent lifetime spectroscopy and the defect parameters, such as its energy level and capture cross-section ratio, are usually extracted by fitting the Shockley-Read-Hall equation. We propose an alternative extraction approach by using machine learning trained on more than a million simulated lifetime curves, achieving coefficient of determinations between the true and predicted values of the defect parameters above 99%. In particular, random forest regressors, show that defect energy levels can be predicted with a high precision of ±0.02 eV, 87% of the time. The traditional approach of fitting to the Shockley-Read-Hall equation usually yields two sets of defect parameters, one in each half bandgap. The machine learning model is trained to predict the half bandgap location of the energy level, and successfully overcome the traditional approach’s limitation. The proposed approach is validated using experimental measurements, where the machine learning predicts defect energy level and capture cross-section ratio within the uncertainty range of the traditional fitting method. The successful application of machine learning in the context of bulk defect parameter extraction paves the way to more complex data-driven physical models which have the potential to overcome the limitation of traditional approaches and can be applied to other materials such as perovskite and thin film.

Figure data from the paper can be found in NPJ Comput. Mater. Data folder

Cite as : Buratti, Y., Le Gia, Q. T., Dick, J., Zhu, Y. & Hameiri, Z. Extracting bulk defect parameters in silicon wafers using machine learning models. npj Computational Materials 6, 1–8 (2020)

Related work: Buratti, Y., Dick, J., Gia, Q. L. & Hameiri, Z. A machine learning approach to defect parameters extraction: using random forests to inverse the Shockley-Read-Hall equation. in 46th IEEE Photovoltaic Specialist Conference 4 (2019)

Installation

1/ Have Python 3.6+ installed (https://www.python.org/downloads/)

2/ Download the semiconductor package (https://github.com/MK8J/semiconductor)

3/ Move the semiconductor package in your Python\Python3X\Lib\site-packages\ (where you installed python)

4/ Open a command terminal and type : pip install DPML

This sill install all the other packages needed:

  • numpy
  • pandas
  • matplotlib
  • scipy
  • sklearn
  • pickle
  • ruamel_yaml

5/ Download examples files from this repo, or write your own!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DPML-1.0.3.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

DPML-1.0.3-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file DPML-1.0.3.tar.gz.

File metadata

  • Download URL: DPML-1.0.3.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.6

File hashes

Hashes for DPML-1.0.3.tar.gz
Algorithm Hash digest
SHA256 61ff7f2e6e3504be1dc031192ec0c3eb25ca8a3f11df629b99be64a440680ace
MD5 3fa8ff43b6642c95464e0c16103d80b5
BLAKE2b-256 9bf8af72311fbdff80a14768de2df250760fe9762b87fed527207b512fdf3dbe

See more details on using hashes here.

File details

Details for the file DPML-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: DPML-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.6

File hashes

Hashes for DPML-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3a59894c4999560503237f60b55439c18e4180787c4be782eb001f6af4ae0973
MD5 0501efc5ae61cb504242038e47f8d970
BLAKE2b-256 2fc9fb2646cba86cd0780661925aec8e62685c6b94e04d8592b5a65e282615fe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page