Perovskite Band Structure (8-band k·p) — Cubic CsPbX3, MAPbX3 and Mixed-Halide Alloys
1. Introduction
Calculating the band structure and charge carrier mobility of metal halide perovskites is important for understanding their performance in solar cells, LEDs and lasers. Materials such as CsPbI3, CsPbBr3 and MAPbI3 (MA = methylammonium) have unusual electronic structures, illustrated in ??. Unlike conventional III–V semiconductors such as GaAs, their valence band is predominantly s-like and their conduction bands p-like. Strong spin–orbit coupling splits the conduction bands by approximately 1.4–1.5 eV, with the lowest split-off conduction band forming the fundamental band gap at the R point of the Brillouin zone in the cubic phase.
These electronic bands determine important properties including effective mass, carrier statistics, optical gain and mobility. Although first-principles density functional theory (DFT) can calculate the electronic structure, evaluating dense wavevector grids for transport calculations can be expensive. The eight-band k·p method provides an efficient alternative using a compact Hamiltonian parameterised against DFT. Here we use the model of Gawarecki et al., Physical Review Applied 22, 014058 (2024) (DOI; arXiv), which describes six cubic and pseudocubic lead halide perovskites.
This tutorial explains how to calculate the electronic band structure of CsPbCl3, CsPbBr3, CsPbI3, MAPbCl3, MAPbBr3, MAPbI3 and mixed-halide alloys using OghmaNano. Starting with the published k·p parameters, we calculate the band dispersion and then use the resulting electronic states to evaluate Fröhlich electron–phonon scattering, relaxation times and phonon-limited carrier mobility. We also examine carrier statistics and the Fermi level as a function of carrier density.
2. Making a New Simulation
To begin calculating the band structure and carrier mobility of a perovskite, click New simulation in the OghmaNano toolbar to open the simulation-type dialog (see ??). Double-click Bulk scattering to display the available eight-band k·p perovskite examples (see ??).
Examples are provided for CsPbCl3, CsPbBr3, CsPbI3, MAPbCl3, MAPbBr3, MAPbI3 and several mixed-halide alloys. Any of these can be used with this tutorial, but we will start with CsPbCl3. Double-click the corresponding 8-Band k·p Scattering example, choose a directory and save the new simulation.
Once saved, OghmaNano opens the main simulation window (see ??), showing a single CsPbCl3 active layer. As this is a bulk material calculation, the layer is simply used to define the material being studied; its physical thickness does not affect the calculated bulk band structure. The simulation is now ready for us to examine the material parameters and eight-band k·p model.
3. Exploring the Simulation and Material Parameters
Before running the band structure calculation, it is worth taking
a moment to understand how the simulation is configured. Open the
Layer editor
(see ??).
You will see a single 40 nm CsPbCl3 layer with the
optical material set to Generic/n/2.0.
This is simply a placeholder: because we are calculating the
electronic properties of a bulk material, neither the layer
thickness nor its optical constants are used in the band
structure or mobility calculations. There is therefore no
need to change anything in the Layer editor.
Instead, open Electrical parameters from the Device structure tab (see ??). You will notice that the usual material parameters, including mobility, band gap, effective density of states and permittivity, are greyed out and display See script for value. This is intentional. Rather than entering individual values through the graphical interface, this simulation uses a Lua material script to define its physical properties.
Click the Code editor tab to view the material
script, CsPbCl3.lua
(see ??).
The beginning of the file contains information about the
material, its crystal structure, parameter sources and unit
conventions. The material properties are defined further down
the file and can, where appropriate, depend on temperature
or composition.
Scroll towards the bottom of the script (see ??). Here you will find the numerical parameters used to calculate the electronic band structure, including the band gap, spin–orbit splitting and several parameters that control the shape of the bands. Each value is accompanied by a literature reference, making it possible to trace the calculation back to the original research.
CsPbCl3.lua and its parameter sources.
Understanding the Parameters Used to Calculate the Band Structure
The band structure calculation uses a set of material parameters taken from Gawarecki et al. (2024). These describe the energy and shape of the electronic bands close to the band gap. The values for all six supported perovskites are given in ??. The upper part of the table contains the parameters used directly in the calculation, while the lower part lists additional values derived from them.
| Parameter | CsPbCl3 | CsPbBr3 | CsPbI3 | MAPbCl3 | MAPbBr3 | MAPbI3 |
|---|---|---|---|---|---|---|
| Eg (eV) | 2.744 | 2.073 | 1.416 | 3.007 | 2.277 | 1.549 |
| Δc (eV) | 1.444 | 1.476 | 1.494 | 1.506 | 1.508 | 1.500 |
| δ (eV) | 0 | 0 | 0 | 0.045 | 0.057 | 0.075 |
| ζ (eV) | 0 | 0 | 0 | 0.016 | 0.030 | 0.045 |
| P∥ (eV·Å) | 9.233 | 8.948 | 8.601 | 8.878 | 8.623 | 8.097 |
| Pz (eV·Å) | 9.233 | 8.948 | 8.601 | 9.896 | 9.302 | 9.058 |
| γ′1 | 1.643 | 2.183 | 2.997 | 1.581 | 2.144 | 2.967 |
| γ′2 | 0.190 | 0.394 | 0.683 | 0.140 | 0.190 | 0.286 |
| γ′3 | −0.691 | −1.081 | −1.169 | −0.599 | −1.060 | −1.150 |
What Do the Parameters Mean?
The main parameters used in the band structure calculation are explained below. You do not need to change these values to follow the tutorial, but understanding what they represent will help when comparing different perovskite materials.
- aexp and aDFT — Crystal size: The size of the crystal unit cell, obtained from experiment and DFT calculations respectively. Both are given in ångströms (Å).
- Eg — Band gap: The energy difference between the top of the valence band and the bottom of the lowest conduction band. This is one of the most important properties of a semiconductor, particularly for solar cells and light-emitting devices.
- Δc — Spin–orbit splitting: Describes the energy separation between the lowest conduction band and the higher conduction bands. This splitting is particularly large in lead halide perovskites because of the presence of heavy lead atoms.
- δ — Additional band splitting: Accounts for a small additional separation between the higher conduction bands when the crystal structure is not perfectly cubic.
- ζ — Spin-dependent splitting: Describes an additional splitting of the electronic bands that can occur in materials with reduced crystal symmetry. This effect is also known as Rashba splitting.
- P∥ and Pz — Band coupling: Describe how strongly the valence and conduction bands interact. These values influence the shape and curvature of the calculated bands and consequently the effective masses of charge carriers. Separate values describe different crystal directions.
- γ′1, γ′2 and γ′3 — Band shape parameters: Help determine how the electronic bands curve and change with direction through the crystal. These are important when calculating effective masses and carrier mobility.
- mv — Valence-band effective mass: Describes how a hole responds to an applied force within the material. It is related to the curvature of the valence band and is expressed relative to the mass of a free electron (m0).
- γ1, γ2 and γ3 — Derived parameters: Additional values calculated from the model and included in the original publication for reference. The band structure calculation uses the primed values listed above, rather than these derived quantities.
All these parameters are already included in the OghmaNano material files, so there is no need to enter them manually. When a different material is selected, its corresponding parameters are loaded automatically. In the next section, we will look at how to switch between perovskites and explore different material compositions.
4. Changing the Material Parameters
In these bulk band structure calculations, the material is defined entirely by its Lua material script. The simulation is effectively a zero-dimensional (0D) electrical calculation, meaning that the physical dimensions shown in the Layer editor are not used. Instead, all the material properties required to calculate the band structure, scattering and mobility are obtained directly from the script.
There are two ways to change the material parameters. You can edit the existing script directly, for example if you find alternative values in the scientific literature or want to investigate how changing a particular parameter affects the results. Alternatively, you can load a completely different perovskite from the OghmaNano materials database.
To import a new material, click the small arrow next to
the Script button in the electrical parameter
editor and select Import material script
(see ??).
This opens the materials library at
materials/Perovskites/
(see ??).
The library contains material definitions for
CsPbCl3, CsPbBr3, CsPbI3,
MAPbCl3, MAPbBr3,
MAPbI3 and mixed-halide perovskites.
Double-clicking a material script imports its complete
set of parameters into the current simulation.
The imported script is copied into the simulation directory,
where it can be viewed or modified using the Code editor.
For example, importing CsPbBr3.lua replaces
the original CsPbCl3 parameters with those
for CsPbBr3. The new values will be used
the next time the simulation is run.
If you edit any values manually, it is good practice to update the accompanying literature references so that the source of each parameter remains clear. Remember that, for these bulk calculations, changing the Lua script is what changes the material; there is no need to modify the Layer editor.
5. Running the Simulation and Calculating the Band Structure
We are now ready to calculate the electronic band structure of our perovskite. Click Run simulation in the main OghmaNano window. The Terminal tab displays the material parameters being used, followed by the progress of the band structure and scattering calculations (see ??). It is worth checking these values, particularly if you have changed the material script or selected a mixed-halide composition.
In this example, we are calculating the properties of CsPb(I0.5Br0.25Cl0.25)3. The parameters printed in the Terminal can be checked against the values in ?? using the linear interpolation method described in the previous section. For example, the spin–orbit splitting is calculated as:
\[ \Delta_c = 0.5(1.494) + 0.25(1.476) + 0.25(1.444) = 1.477\ \mathrm{eV}. \]This is the value printed by the solver. The remaining band structure parameters are calculated in the same way, providing a useful check that the selected alloy composition has been loaded correctly.
Once the simulation has finished, open the
Output tab
(see ??).
OghmaNano saves the calculated results as CSV files,
which can be plotted directly within the software or
exported for further analysis. The individual electronic
bands are saved in the bands directory,
while three additional files provide convenient ways
of viewing the results:
-
Ec.csv— the calculated conduction bands. -
Ev.csv— the calculated valence bands. -
Ec_Ev.csv— the combined conduction and valence band structure.
Double-click Ec_Ev.csv to display the
calculated perovskite band structure,
as shown in
??.
This plot shows how the energy of the available electronic
states changes with wavevector (k). In simple terms,
it shows the shape of the electronic bands, from which
important properties such as the band gap and effective
masses can be determined.
To understand the results, first look at the centre of the plot, where k = 0 corresponds to the R point of the Brillouin zone. The top of the valence band is used as the energy reference and is therefore set to 0 eV. Reading upwards from the bottom of the graph, three main features can be identified:
- The valence band (red): The highest valence band curves downwards from 0 eV. Its curvature is related to the effective mass of holes in the material.
- The lowest conduction band (cyan): This begins at approximately 1.91 eV, giving the fundamental band gap of the mixed-halide perovskite. This agrees with the value calculated by interpolating the band gaps of the three pure compounds in the previous section (1.912 eV).
- The higher conduction bands: These begin at approximately 3.39 eV, around 1.477 eV above the lowest conduction band. This separation arises from the strong spin–orbit coupling in lead halide perovskites. The bands separate as the wavevector increases because they have different curvatures.
An important feature of the band structure is the curvature of the bands. Bands that curve more strongly generally correspond to charge carriers with smaller effective masses, whereas flatter bands correspond to heavier carriers. This becomes particularly important when calculating charge carrier mobility, as the band structure determines how electrons and holes respond to an applied electric field.
Finally, it is worth remembering that this model describes the electronic structure close to the band gap, rather than across the entire Brillouin zone. The wavevector range shown here extends to approximately 109 m−1 (0.1 Å−1), comparable to the range over which Gawarecki et al. demonstrate good agreement with DFT calculations (their Fig. 3). Predictions much further from the R point should therefore be treated with caution.
6. Calculating the Band Structure of Mixed-Halide Perovskites
Mixed-halide perovskites offer a convenient way to tune the electronic properties of a material by changing the relative amounts of iodine, bromine and chlorine. For example, replacing some of the iodine in CsPbI3 with bromine generally increases the band gap, allowing the optical and electronic properties to be adjusted for different applications. In practice, experimental researchers often work with compositions that lie somewhere between the three pure halide compounds.
OghmaNano allows the band structure of arbitrary mixed-halide compositions to be estimated without requiring a separate set of published band structure parameters for every possible mixture. This is particularly useful when studying materials prepared in the laboratory: by entering the composition of a sample, you can calculate its predicted band structure, examine how the band gap changes with composition, and subsequently explore its scattering and charge carrier mobility. It also makes it possible to investigate how gradually replacing one halide with another affects the electronic properties of the material.
Two mixed-halide material scripts are provided: CsPb(I1−x−yBrxCly)3 and its methylammonium (MA) equivalent. Here, x is the bromide fraction, y is the chloride fraction, and the remaining 1 − x − y represents the iodide fraction. The fractions must satisfy x ≥ 0, y ≥ 0 and x + y ≤ 1, so that the total halide composition always adds up to 100%.
To calculate the properties of an alloy, first import the appropriate mixed-halide material script using the method described in the previous section. Next, open the Electrical ribbon and click Gradients/Strain (see ??). This opens the material composition editor (see ??), where the bromide and chloride fractions can be entered.
The editor allows the composition to be specified at the beginning (x0, y0, z0) and end (x1, y1, z1) of the layer. Since we are performing a bulk calculation, the composition should be uniform, so enter the same values at both ends. For example, setting x0 = x1 = 0.25 and y0 = y1 = 0.25 gives CsPb(I0.5Br0.25Cl0.25)3, containing 50% iodide, 25% bromide and 25% chloride. This is illustrated in ??. The z values are not used by these material scripts.
To estimate the electronic properties of an alloy, OghmaNano uses linear interpolation between the parameters of the three pure compounds. These are the same published material parameters listed in ??. Rather than interpolating the finished band structure, the software first calculates a new set of material parameters for the chosen composition and then uses these to perform the band structure calculation.
For example, the band gap, spin–orbit splitting and parameters controlling the shape of the electronic bands are each calculated as a weighted average of the iodide, bromide and chloride values. The general expression is:
\[ p(x,y) = (1-x-y)\,p_{\mathrm{I}} + x\,p_{\mathrm{Br}} + y\,p_{\mathrm{Cl}}, \]where p represents a particular material parameter, and pI, pBr and pCl are the corresponding values for the three pure compounds. For the example above, the calculation uses 50% of the iodide value, 25% of the bromide value and 25% of the chloride value.
As an example, using the band gaps from the parameter table, the estimated band gap of CsPb(I0.5Br0.25Cl0.25)3 becomes:
\[ E_g = 0.5(1.416) + 0.25(2.073) + 0.25(2.744) = 1.912\ \mathrm{eV}. \]The same interpolation approach is applied to the other numerical properties in the material script, including the relative permittivity shown in ??. Where a property depends on temperature, its corresponding coefficients are interpolated. This makes it possible to generate a consistent set of parameters for any chosen mixed-halide composition and then use them to calculate the electronic band structure and subsequent transport properties.
Linear interpolation is a useful starting point for exploring material compositions, particularly when experimental data are limited. However, real mixed-halide perovskites do not always behave linearly. The band gap, for example, may exhibit band-gap bowing, where the measured value differs from that predicted by simple interpolation. The model also does not explicitly account for local alloy disorder and retains the crystal-phase assumptions of the original parameters. For quantitative comparisons with a particular laboratory sample, the calculated properties should therefore be checked against experimental measurements, with the Lua material script adjusted where necessary.
6. Calculating Charge Carrier Mobility and Scattering in Perovskites
Having calculated the electronic band structure, OghmaNano can now use these results to determine how easily electrons and holes move through the perovskite. This requires us to consider not only the shape of the electronic bands, but also how charge carriers interact with vibrations of the crystal lattice, known as phonons. These interactions scatter the carriers, limiting their mobility.
In lead halide perovskites, an important source of scattering is the interaction between charge carriers and longitudinal optical (LO) phonons, known as Fröhlich electron–phonon scattering. The strength of this interaction depends on the phonon energy and dielectric properties of the material. OghmaNano uses the calculated electronic bands, together with the phonon parameters defined in the Lua material script, to evaluate these scattering processes and estimate the resulting carrier mobility. A more detailed explanation of the underlying physics can be found in our guide to Fröhlich electron–phonon scattering.
The phonon parameters are obtained from separate literature sources cited in the material scripts; they are not part of the original Gawarecki et al. band structure parameter set. The mobilities calculated here are therefore Fröhlich-limited mobilities, describing charge transport when this scattering mechanism is considered.
Once the simulation has finished, open the
Output tab
(see ??).
Alongside the band structure files discussed previously,
you will find two important directories:
scattering and mobility.
These contain the calculated scattering rates, relaxation
times, carrier statistics and mobility results.
Opening the scattering directory
(see ??)
reveals a series of CSV files describing Fröhlich scattering
for the different electronic bands. Files containing
frohlich_rate give the scattering rate,
while those containing frohlich_tau
provide the corresponding relaxation time.
A larger scattering rate generally means that carriers
undergo scattering more frequently, resulting in a
shorter relaxation time.
Next, open the mobility directory
(see ??).
This contains the calculated electron and hole mobilities,
effective scattering rates, relaxation times and Fermi
levels as functions of carrier density. These files allow
us to investigate how the transport properties change
as more charge carriers are introduced into the material.
scattering and
mobility directories.
To examine the results, double-click
kp8_perovskite_electron_fermi_level.csv,
kp8_perovskite_electron_mobility.csv and
kp8_perovskite_hole_mobility.csv.
The resulting plots are shown below for
CsPb(I0.5Br0.25Cl0.25)3.
The first plot (see ??) shows how the electron Fermi level changes with carrier density. The Fermi level describes how electrons are distributed among the available electronic states. As more electrons are introduced into the material, the lower-energy states become increasingly occupied and the Fermi level moves upwards. For this alloy, the lowest conduction band begins at approximately 1.91 eV. As the Fermi level approaches and enters this band, the distribution of electrons changes, which can also affect the calculated transport properties.
The remaining two plots show the corresponding electron and hole mobilities. Interestingly, mobility does not remain constant as the carrier density increases. In this example, the electron mobility initially decreases slightly, before increasing at higher densities (see ??). The calculated hole mobility increases over most of the same density range (see ??).
The calculated mobility can either increase or decrease with carrier density, depending on the material. This behaviour arises from two main factors:
- Band structure: As carrier density increases, higher-energy electronic states become occupied. These states can have different band curvatures and carrier velocities, changing how easily charge moves through the material.
- Scattering: The rate at which carriers interact with optical phonons also depends on their energy. If carriers increasingly occupy states with lower momentum scattering rates, mobility can rise. Conversely, stronger scattering can lead to a reduction in mobility.
For the mixed-halide perovskite considered here, the calculated electron mobility initially falls slightly before increasing, while the hole mobility increases over most of the plotted density range. Other perovskite compositions may show different trends because their band structures and scattering rates differ. These calculations therefore allow us to explore how changing the material composition affects charge carrier transport.
7. Scope and Limitations of the Model
The approach presented in this tutorial provides a physics-based calculation of the electronic band structure and charge carrier mobility of three-dimensional metal halide perovskites. Fröhlich electron–phonon scattering is widely recognised as a major intrinsic mechanism limiting charge carrier mobility in these materials, particularly at room temperature. Including this interaction therefore provides a physically meaningful way to investigate charge transport and compare different perovskite compositions.
The model combines the calculated electronic band structure with polar optical phonon scattering to determine energy-dependent scattering rates, relaxation times and carrier mobility. The main assumptions are:
- Scattering mechanisms: The current implementation considers Fröhlich scattering, but does not yet include acoustic phonon scattering, defect scattering or ionised impurity scattering. The results therefore represent Fröhlich-limited mobility rather than the combined effects of all scattering mechanisms.
- Ideal bulk material: The calculation describes a homogeneous, three-dimensional crystal. Effects associated with grain boundaries, surfaces, interfaces and quantum confinement are not explicitly included.
- Crystal structure and band structure: The calculations use the cubic and pseudo-cubic structures considered by Gawarecki et al. and describe the electronic bands close to the R point of the Brillouin zone. Other crystal phases and structural phase transitions are not automatically considered.
- Mixed-halide alloys: The properties of mixed-halide compositions are estimated by linear interpolation between the pure compounds. This allows arbitrary compositions to be explored, although effects such as band-gap bowing and local alloy disorder are not explicitly included.
By combining a detailed electronic band structure with one of the principal intrinsic scattering mechanisms in metal halide perovskites, OghmaNano provides a useful and computationally efficient approach to calculating phonon-limited mobility. It is particularly suited to exploring material trends, comparing halide compositions and understanding how changes in electronic structure influence charge transport.
8. Further Exploration
Now that you can calculate perovskite band structures, scattering rates and charge carrier mobility, try changing the material parameters to explore how different compositions influence the results. The following are three useful starting points:
These examples are intended as starting points. You can also edit individual parameters in the Lua material scripts to investigate materials reported in the literature or compositions prepared in your own laboratory.