CarrierCapture.jl
CarrierCapture.jl: Anharmonic Carrier Capture - Published in JOSS (2020)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 26 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: arxiv.org, aps.org, iop.org, rsc.org, acs.org, joss.theoj.org, zenodo.org -
✓Committers with academic emails
4 of 14 committers (28.6%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Repository
Julia package to compute trap-assisted electron and hole capture in semiconductors
Basic Info
- Host: GitHub
- Owner: WMD-group
- License: mit
- Language: Jupyter Notebook
- Default Branch: master
- Homepage: https://wmd-group.github.io/CarrierCapture.jl/dev/
- Size: 115 MB
Statistics
- Stars: 56
- Watchers: 23
- Forks: 24
- Open Issues: 1
- Releases: 8
Topics
Metadata Files
README.md
A set of codes to compute carrier capture and non-radiative recombination rates associated with point defects in semiconducting compounds. Multiphonon process involving impurities has a rich history starting from the work by Huang and Rhys. Our implementation was inspired by the approach (and FORTRAN code) employed by Alkauskas and coworkers, but has been adapted to also describe anharmonic potential energy surfaces.
Installation
The codes are written in Julia, while the scripts and Jupyter Notebooks also contain Python and use pymatgen and pawpyseed, which are assumed to be installed. The Brooglie package is used to solve the time-independent Schrödinger equation.
Install the package by:
```julia julia> using Pkg
julia> Pkg.add(PackageSpec(url="https://github.com/WMD-group/CarrierCapture.jl.git")) ```
To run the unit tests for the package, use the Pkg.test function.
julia
julia> Pkg.test("CarrierCapture")
Development
The project is hosted on Github. Please use the issue tracker for feature requests, bug reports and more general questions. If you would like to contribute, please do so via a pull request.
Usage
A typical workflow consists of several steps, implemented in a series of programs, which may be run from the command line. Input for the calculations is provided in input.yaml.
Prepare a sequence of atomic structure models with displacements that interpolate between two defect configurations (e.g. a site vacancy in charge states q=0 and q=+1). Run single-point energy calculations on these structures, and extract the total energies. Scripts for preprocessing may be found in
script.Find a best fit for the energy calculations of the deformed structures (
potential) to generate potential energy surfaces (PES). Solve the 1D Schrödinger equation for each PES to obtain their phonon (nuclear) wavefunctions.Construct configuration coordinate (
conf_coord) to calculate the wavefunction overlap between each PES, which forms part of the temperature-dependent capture coefficient.

The command-line interface (GetPotential.jl and GetRate.jl) is depreciated.
Use Jupyter Notebook examples as a template.
User warning: The values produced by this type of analysis procedure are sensitive to the quality of the input. We expect that most input data will have been generated by DFT where the basis set, k-points, and ionic forces have been carefully converged. In addition, the alignment of energy surfaces for defects in different charge states requires appropriate finite-size corrections (e.g. see Freysoldt and coworkers and consider using the doped package).
Examples
The following examples are provided to illustrate some of the applications of these codes. The input data has been generated from density functional theory (DFT) using VASP, but the framework can easily be adapted to accept output from other electronic structure calculators.
SnZn in Cu2ZnSnS4: Harmonic approximation
DX-center in GaAs: Anharmonic fitting
Electron-phonon coupling: Electron-phonon coupling matrix element
Theory
The electronic matrix element frequently causes feelings of discomfort (Stoneham, 1981)
The capture of electrons or holes by point defects in a crystalline materials requires the consideration of a number of factors including the coupling between electronic and vibrational degrees of freedom. Many theories and approximations have been developed to describe the reaction kinetics.
The capture coefficient between an initial and final state for this computational set up is given by (eq. 22 in Alkauskas and coworkers):
Here, V is the volume of the supercell, Wif is the electron-phonon overlap and ξim and ξfn describe the wavefunctions of the mth and nth phonons in the initial i and final f states. The final delta-function term serves to conserve energy and in practice is replaced by a smearing Gaussian of finite width σ.
Citation
@article{kim2020carriercapture,
title={Carriercapture. jl: Anharmonic carrier capture},
author={Kim, Sunghyun and Hood, Samantha N and van Gerwen, Puck and Whalley, Lucy D and Walsh, Aron},
journal={Journal of Open Source Software},
volume={5},
number={47},
pages={2102},
year={2020},
doi={10.21105/joss.02102},
url={https://joss.theoj.org/papers/10.21105/joss.02102},
}
Extended Reading List
Theory Development
Henry and Lang, Nonradiative capture and recombination by multiphonon emission in GaAs and GaP (1977) Seminal contribution that introduces many important concepts
Huang, Adiabatic approximation theory and static coupling theory of nonradiative transition (1981) Context for the static approximation that we employ
Stoneham, Non-radiative transitions in semiconductors (1981) Review on theory and various models of recombination
Markvart, Determination of potential surfaces from multiphonon transition rates (1981) Discussion and treatment of anharmonicity
Markvart, Semiclassical theory of non-radiative transitions (1981) Semiclassical treatment of matrix elements following Landau and Holstein
Applications of CarrierCapture
Wang et al, Sulfur Vacancies Limit the Open-Circuit Voltage of Sb₂S₃ Solar Cells (2024)
Wang et al, Upper efficiency limit of Sb2Se3 solar cells (2024)
Kavanagh et al, Rapid recombination by cadmium vacancies in CdTe (2021)
Kim et al, Upper limit to the photovoltaic efficiency of imperfect crystals (2020)
Kim et al, Anharmonic lattice relaxation during non-radiative carrier capture (2019)
Kim et al, Lone-pair effect on carrier capture in Cu2ZnSnS4 solar cells (2019)
Kim et al, Identification of killer defects in kesterite thin-film solar cells (2018)
Owner
- Name: Materials Design Group
- Login: WMD-group
- Kind: organization
- Location: London
- Website: https://wmd-group.github.io
- Repositories: 57
- Profile: https://github.com/WMD-group
Research group in computational chemistry & physics led by @aronwalsh at @ImperialCollegeLondon
JOSS Publication
CarrierCapture.jl: Anharmonic Carrier Capture
Authors
Department of Materials, Imperial College London, London, UK
Tags
semiconductors solar cells materials designGitHub Events
Total
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 6
- Delete event: 1
- Member event: 1
- Issue comment event: 4
- Push event: 48
- Fork event: 2
Last Year
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 6
- Delete event: 1
- Member event: 1
- Issue comment event: 4
- Push event: 48
- Fork event: 2
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Sunghyun Kim | f****m@g****m | 100 |
| Aron Walsh | a****h@g****m | 57 |
| sam | s****d@g****m | 40 |
| Miguel Rivera | m****a@h****r | 32 |
| puckvg | 3****g | 22 |
| Xinwei | 6****w | 18 |
| Seán Kavanagh | 5****e | 14 |
| Miguel Rivera | m****l@d****e | 6 |
| Puck van Gerwen | p****8@i****k | 6 |
| Alex Ganose | a****e@g****m | 4 |
| Lucy Whalley | l****y@g****m | 3 |
| xw-w | xw@i****k | 2 |
| Daniel S. Katz | d****z@i****g | 1 |
| Sunghyun Kim | k****n@m****k | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 11
- Total pull requests: 10
- Average time to close issues: 4 months
- Average time to close pull requests: 15 days
- Total issue authors: 7
- Total pull request authors: 6
- Average comments per issue: 1.91
- Average comments per pull request: 0.4
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 1
- Average time to close issues: 2 months
- Average time to close pull requests: about 19 hours
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 4.0
- Average comments per pull request: 2.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- utf (4)
- kavanase (2)
- taylor-a-barnes (2)
- frssp (1)
- zhuhaoran-nku (1)
- zb3lyp (1)
- dianadahliah (1)
Pull Request Authors
- m-rivera (4)
- kavanase (3)
- PaleBlueSam (1)
- utf (1)
- lucydot (1)
- danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
