Quasi-Fermi Levels and Non-Equilibrium Statistical Thermodynamics in Semiconductors: Electrochemical Potential, Carrier Transport, and Device Physics
Executive Summary
Under non-equilibrium conditions—whether driven by optical illumination, electrical injection, or thermal gradients—a semiconductor cannot be described by a single Fermi level. Instead, separate quasi-Fermi levels (or electrochemical potentials) emerge for electrons and holes: $E_{Fn}$ and $E_{Fp}$, respectively. These quasi-Fermi levels are central to understanding carrier dynamics in photovoltaic cells, light-emitting diodes (LEDs), laser diodes, transistors, and thermal-to-electric converters. This article provides rigorous derivations from non-equilibrium statistical mechanics, establishes the connection to applied voltage and photocurrent in devices, derives expressions for recombination and injection rates, and demonstrates practical applications ranging from bandgap engineering to efficiency limits of photonic devices.
Table of Contents
1. Equilibrium vs. Non-Equilibrium: The Need for Quasi-Fermi Levels 2. Thermodynamic Foundations: Chemical Potentials & Electrochemical Potentials 3. Formal Definition of Quasi-Fermi Levels 4. Relationship Between Quasi-Fermi Levels and Applied Voltage 5. Carrier Concentrations Under Non-Equilibrium: Modified Fermi–Dirac Distribution 6. Recombination Rates and Quasi-Fermi Level Splitting 7. Optical Generation: Photovoltages and Photocurrents 8. Non-Equilibrium Thermodynamics: Free Energy and Driving Forces 9. Exciton Formation and Quasi-Fermi Level Engineering 10. Device Applications: Lasers, LEDs, Solar Cells, and Transistors 11. Numerical Calculations and Simulations 12. Experimental Measurement Techniques 13. References & Further Reading
1. Equilibrium vs. Non-Equilibrium: The Need for Quasi-Fermi Levels
1.1 Equilibrium Condition: Single Fermi Level
At thermal equilibrium with no applied fields or optical excitation, the entire system reaches a uniform temperature $T$ and a single electrochemical potential (Fermi level) $E_F$. Both electrons in the conduction band and holes in the valence band are described by the same Fermi–Dirac distribution:
The populations are:
with $n_0 p_0 = n_i^2$ (law of mass action).
1.2 Non-Equilibrium Conditions: When $n \neq n_0$ and $p \neq p_0$
When the system is driven away from equilibrium by:
- Optical excitation (photons create electron–hole pairs)
- Electrical injection (forward bias or reverse bias)
- Thermal gradients (Seebeck effect in solar cells)
- Impact ionization (high-field avalanche multiplication)
...the electron and hole populations are no longer balanced. Electrons and holes can reach local equilibrium (thermal distribution at the same temperature) while maintaining $n \neq n_0$ and $p \neq p_0$.
In this regime, separate Fermi levels $E_{Fn}$ and $E_{Fp}$ must be defined for electrons and holes, respectively. These are called quasi-Fermi levels or quasi-chemical potentials.
2. Thermodynamic Foundations: Chemical Potentials & Electrochemical Potentials
2.1 Chemical Potential in Statistical Mechanics
For a system at temperature $T$ with fixed number of particles $N$, the chemical potential $\mu$ is defined as:
where $G$ is Gibbs free energy and $F$ is Helmholtz free energy.
For an ideal quantum gas with Fermi–Dirac statistics, the chemical potential equals the Fermi energy $E_F$ at $T = 0$. At finite temperature, $\mu(T)$ shifts slightly from $E_F(0)$.
2.2 Electrochemical Potential
In the presence of an electric potential $\Phi(\mathbf{r})$, the total energy of an electron at position $\mathbf{r}$ includes the electrostatic term:
where $E_n$ is the band edge energy (Conduction band edge $E_c$ for electrons) and $-e\Phi$ is the electrostatic potential energy for an electron (charge $-e$).
The electrochemical potential for electrons is:
In equilibrium, $\tilde{\mu}_n$ is spatially uniform throughout the sample (otherwise charge would flow).
For holes (charge $+e$), the electrochemical potential is:
2.3 The Fermi Level in Semiconductor Heterojunctions
At a heterojunction interface where two semiconductors meet (e.g., AlGaAs/GaAs), the conduction and valence band edges shift due to band offsets. The electrochemical potential must be continuous across the interface (no charge accumulation at interfaces at equilibrium). This is the physical basis for band bending and the built-in potential.
3. Formal Definition of Quasi-Fermi Levels
3.1 Quasi-Fermi Level for Electrons
When a semiconductor is under illumination or forward bias, electrons are not in true equilibrium. However, if intraband thermalization is fast compared to interband recombination (typical in most semiconductors), electrons form a quasi-equilibrium population characterized by a single quasi-Fermi level $E_{Fn}$.
The occupation of electronic states near a given energy $E$ is described by a local Fermi–Dirac distribution:
where $E_{Fn}(\mathbf{r})$ is the quasi-Fermi level for electrons and may vary spatially.
The electron concentration at position $\mathbf{r}$ is then:
3.2 Quasi-Fermi Level for Holes
Similarly, holes are described by a quasi-Fermi level $E_{Fp}(\mathbf{r})$, with hole concentration:
3.3 Splitting of Quasi-Fermi Levels
The quasi-Fermi level splitting (or imref, "inverse of the metal-referenced Fermi level") is:
At equilibrium: $\Delta E_F = 0$ (single Fermi level everywhere).
Under excitation or forward bias: $\Delta E_F > 0$ (electrons and holes are separated in energy space).
Physical meaning: $\Delta E_F$ is the maximum electrical work that can be extracted from the non-equilibrium carrier population.
4. Relationship Between Quasi-Fermi Levels and Applied Voltage
4.1 Forward-Biased Diode: The PN Junction
For a forward-biased p-n junction with applied voltage $V_a$, the electrochemical potentials on either side of the junction must differ by the applied voltage:
At the p-side interface: $\tilde{\mu}_p^- = \mu_p + E_v^- + e\Phi^-$
At the n-side interface: $\tilde{\mu}_n^+ = \mu_n + E_c^+ - e\Phi^+$
At equilibrium (zero bias), $\tilde{\mu}^- = \tilde{\mu}^+$ everywhere.
Under forward bias $V_a > 0$, the electrochemical potential of the metal contact on the p-side is raised by $-e V_a$ (conventional sign), creating a gradient.
The result is that the electrochemical potentials of electrons and holes are separated by:
where $q = e$ is the elementary charge and $V_a$ is the applied voltage.
Important: This is not the same as the bandgap! The quasi-Fermi level splitting equals the applied voltage at the contacts.
4.2 Spatial Distribution of Quasi-Fermi Levels
Within the device, the quasi-Fermi levels vary spatially due to: 1. Drift of carriers in the electric field (carried by the built-in potential gradient) 2. Diffusion of carriers down concentration gradients 3. Recombination removing excess carriers
Under steady-state conditions, the continuity equations for electrons and holes must be satisfied:
where $G$ is generation rate and $R$ is recombination rate.
The current density is given by the drift-diffusion equation:
where $\mu_n$ is the electron mobility and $D_n$ is the diffusion coefficient (related by Einstein relation: $D_n = \frac{k_B T}{e} \mu_n$).
In terms of the quasi-Fermi level, this becomes:
Similarly for holes:
5. Carrier Concentrations Under Non-Equilibrium: Modified Fermi–Dirac Distribution
5.1 Generalized Fermi–Dirac Distributions
Under non-equilibrium with quasi-Fermi levels $E_{Fn}$ and $E_{Fp}$:
5.2 Modified Law of Mass Action
The product of electron and hole concentrations under non-equilibrium is:
where $n_i^2 = N_c N_v e^{-E_g/k_B T}$.
Rearranging:
where $\Delta E_F = E_{Fn} - E_{Fp}$ is the quasi-Fermi level splitting.
Physical interpretation:
- At equilibrium ($\Delta E_F = 0$): $np = n_i^2$ (mass action law).
- Under excitation ($\Delta E_F > 0$): $np > n_i^2$ (excess carrier population).
- The excess carriers are $\Delta n = n - n_0$ and $\Delta p = p - p_0$, where $n_0$ and $p_0$ are equilibrium values.
5.3 Excess Carrier Generation
Under photonic excitation with photon flux $\Phi$ and collection efficiency $\eta_c$:
where $\Phi(x)$ decays exponentially: $\Phi(x) = \Phi_0 e^{-\alpha x}$ with absorption coefficient $\alpha$.
The excess carriers generated per unit time per unit volume must be balanced by recombination at steady state:
6. Recombination Rates and Quasi-Fermi Level Splitting
6.1 Shockley–Read–Hall (SRH) Recombination
SRH recombination involves non-radiative recombination through deep-level traps. The recombination rate is:
where $\tau_n$ and $\tau_p$ are the electron and hole lifetimes, and $n_1, p_1$ are related to trap density and position.
Using the modified mass action law $np = n_i^2 e^{\Delta E_F / k_B T}$:
In the limit of high injection ($n, p \gg n_i$):
6.2 Radiative Recombination
Direct (radiative) recombination emits a photon:
where $B$ is the radiative recombination coefficient.
Using the modified mass action law:
At room temperature ($k_B T \approx 26$ meV):
- If $\Delta E_F = 100$ meV, then $e^{\Delta E_F / k_B T} \approx e^{3.8} \approx 45$.
- Radiative recombination increases exponentially with $\Delta E_F$.
6.3 Connection to Open-Circuit Voltage
For a photovoltaic cell under steady-state illumination:
At open circuit ($I = 0$), all photogenerated current is lost to recombination:
This leads to the open-circuit voltage:
where $J_L$ is the light-generated current and $J_0$ is the dark saturation current (set by SRH recombination).
Equivalently, at open circuit:
7. Optical Generation: Photovoltages and Photocurrents
7.1 Photon Absorption and Excess Carrier Generation
When light of wavelength $\lambda < \lambda_g$ (where $E_g = hc/\lambda_g$) is incident on the semiconductor, photons are absorbed and create electron–hole pairs:
The generation rate in a thin film or at depth $x$ is:
where $\alpha$ is the absorption coefficient and $G_0 = \frac{\Phi_0}{hc/\lambda}$ is the generation rate at the surface.
7.2 Photogenerated Current and Quasi-Fermi Level Splitting
In a solar cell, the photocurrent density is:
where $W$ is the depletion width.
The photocurrent drives the quasi-Fermi levels apart. At a given quasi-Fermi level splitting $\Delta E_F$, the recombination current is:
The net current is:
At open circuit ($J = 0$):
7.3 The Shockley–Queisser Limit
The Shockley–Queisser (S–Q) limit is the theoretical maximum efficiency of a single-junction solar cell, determined by thermodynamic arguments related to the quasi-Fermi level splitting under illumination.
The S–Q limit depends on: 1. Bandgap ($E_g$): Determines which photons are absorbed. 2. Carrier temperature ($T_e \approx T_h$): Usually assumed equal to lattice temperature. 3. Quasi-Fermi level splitting at open circuit ($\Delta E_F^{\text{oc}}$).
For a given bandgap at 1-sun illumination (1000 W/m²), the maximum efficiency is:
where $V_{oc} \sim 0.7-0.9$ V, independent of bandgap (surprisingly), but $J_{sc}$ decreases with increasing $E_g$. The S–Q limit is maximized at $E_g \approx 1.3-1.4$ eV, yielding $\eta \approx 33\%$.
8. Non-Equilibrium Thermodynamics: Free Energy and Driving Forces
8.1 Non-Equilibrium Free Energy
Under non-equilibrium with populations $n \neq n_0$ and $p \neq p_0$, the free energy of excess carriers can be written as:
The quasi-Fermi level splitting $\Delta E_F = E_{Fn} - E_{Fp}$ represents the thermodynamic driving force for current flow and recombination.
8.2 Electrochemical Potential Gradients as Driving Force
The drift of electrons down a concentration gradient is driven by the gradient of the electrochemical potential:
The second term, $-k_B T \nabla \ln n$, is the diffusion force arising from the entropy change.
Using $n = N_c \exp(-(E_c - E_{Fn})/k_B T)$:
For steady-state current to flow, $\mathbf{F}_n$ must be non-zero, requiring $E_{Fn}$ to have a spatial gradient.
8.3 Thermodynamic Efficiency: The Carnot Limit and Beyond
The fundamental efficiency limit of any energy conversion device is set by the Carnot efficiency:
For solar cells, carriers are generated at the photon energy (effective temperature $T_{\text{photon}} \sim 5800$ K) and cooled to lattice temperature $T = 300$ K before extraction. The theoretical limit is lower than Carnot because of entropy production.
9. Exciton Formation and Quasi-Fermi Level Engineering
9.1 Excitons and Quasi-Fermi Level Splitting
When $\Delta E_F > E_{\text{bind}}$ (binding energy of excitons, typically 10–100 meV), the quasi-Fermi level splitting exceeds the exciton binding energy. Excitons are ionized into free electrons and holes.
Conversely, for $\Delta E_F < E_{\text{bind}}$, a significant fraction of photogenerated carriers form bound excitons, reducing the photocurrent.
9.2 Optical Gain and Lasing Threshold
For stimulated emission (laser operation), optical gain is achieved when:
where $N_2$ and $N_1$ are populations of upper and lower laser levels, and $\alpha_{\text{abs}}$ is the absorption coefficient.
In terms of quasi-Fermi levels, population inversion (gain $> 0$) occurs when the quasi-Fermi level splitting exceeds the laser transition energy:
9.3 Bandgap Engineering: Type I, Type II, and Broken-Gap Alignments
In heterostructures (e.g., AlGaAs/GaAs), the band alignment at the interface is engineered to confine carriers or facilitate carrier flow.
- Type I (straddling): Conduction and valence band edges of the narrow-gap material lie within those of the wide-gap material. → Exciton confinement.
- Type II (staggered): Electrons are confined in one material, holes in the other. → Spatially indirect transitions (weaker oscillator strength).
- Broken gap: Valence band of one material lies above the conduction band of the other. → Unusual transport and optical properties.
The quasi-Fermi levels must bend at interfaces to maintain continuity of electrochemical potential, creating band bending.
10. Device Applications: Lasers, LEDs, Solar Cells, and Transistors
10.1 Light-Emitting Diodes (LEDs)
In a forward-biased LED junction:
- Quasi-Fermi level splitting is $\Delta E_F \approx q V_f$, where $V_f \approx 2-3$ V is the forward voltage.
- Photon emission rate is $\propto e^{\Delta E_F / k_B T}$, exponential in the quasi-Fermi level splitting.
- Emission wavelength is $\lambda \approx hc / \Delta E_F$ (approximately equal to applied voltage).
The external quantum efficiency (photons out / electrons in) is limited by:
- Internal quantum efficiency (limited by Auger recombination at high current).
- Light extraction efficiency (many photons are trapped by total internal reflection).
10.2 Laser Diodes
Laser diodes operate under forward bias with very high injection current. The quasi-Fermi level splitting reaches $\Delta E_F \sim E_g + E_{\text{bind}}$, creating population inversion.
Threshold current density is:
where $\Delta E_{F,\text{th}} \sim E_g$ is the quasi-Fermi level splitting needed for gain $>$ loss.
10.3 Solar Cells
In a solar cell:
- Short-circuit current ($J_{sc}$): Limited by absorption (how many photons are absorbed and contribute to $J_L$).
- Open-circuit voltage ($V_{oc}$): Determined by quasi-Fermi level splitting: $V_{oc} \approx \frac{k_B T}{q} \ln(J_L / J_0)$.
- Fill factor (FF): Shape of the I-V curve, typically 70–85%.
Maximum power point occurs when $J \times V$ is maximized, usually at $V \sim 0.7 V_{oc}$ and $J \sim 0.85 J_{sc}$.
10.4 Transistors
In a field-effect transistor (FET):
- Gate voltage modulates the quasi-Fermi level of the channel.
- Higher gate voltage → larger $\Delta E_F$ → more carriers (electrons or holes) in the channel.
- Channel conductance $\propto$ carrier concentration $\propto e^{\Delta E_F / k_B T}$, giving exponential control.
In a bipolar junction transistor (BJT):
- Base current injects carriers, creating a large quasi-Fermi level splitting.
- Collector current is proportional to the injected minority carrier population (exponential in base–emitter voltage).
11. Numerical Calculations and Simulations
11.1 Python: Quasi-Fermi Level Calculation in a Forward-Biased Diode
import numpy as np
import matplotlib.pyplot as plt
from scipy import constants as const
from scipy.integrate import odeint
# Physical constants
k_B = 1.381e-23 # J/K (Boltzmann constant)
e = 1.602e-19 # C (elementary charge)
hbar = 1.055e-34 # J·s
# Parameters
T = 300 # Temperature in K
N_c = 2.8e25 # Conduction band DOS (m^-3) for GaAs
N_v = 1.04e25 # Valence band DOS (m^-3) for GaAs
E_g = 1.519 * e # Bandgap energy (J) for GaAs
tau_n = 1e-9 # Electron lifetime (s)
tau_p = 1e-9 # Hole lifetime (s)
# Compute intrinsic carrier concentration
n_i = np.sqrt(N_c * N_v) * np.exp(-E_g / (2 * k_B * T))
print(f"Intrinsic carrier concentration n_i: {n_i:.3e} cm^-3 ({n_i/1e6:.3e} m^-3)")
# Applied voltage
V_a = np.linspace(0, 1.0, 100) # V
# Quasi-Fermi level splitting equals applied voltage (approximately)
Delta_E_F = V_a * e # J
# Modified law of mass action: np = n_i^2 * exp(Delta_E_F / k_B T)
np_product = n_i**2 * np.exp(Delta_E_F / (k_B * T))
# For a symmetric junction, n = p under forward bias
n_exc = np.sqrt(np_product)
p_exc = n_exc
# Excess carriers
delta_n = n_exc - n_i
delta_p = p_exc - n_i
# Recombination current (Shockley diode equation)
J_0 = q * n_i**2 * (1/tau_p/N_a + 1/tau_n/N_d) # Simplified
# For simplicity, use empirical J_0
J_0_empirical = 1e-12 * e # A/cm^2 converted to A/m^2
J_0_empirical = 1e-6 # A/m^2
# Current as function of voltage
J_diode = J_0_empirical * (np.exp(V_a * e / (k_B * T)) - 1)
# Plot
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))
# Left: Quasi-Fermi levels
ax1.plot(V_a, (Delta_E_F / e) * 1000, 'r-', linewidth=2, label='$\\Delta E_F = q V_a$')
ax1.axhline(E_g / e * 1000, color='k', linestyle='--', alpha=0.5, label='$E_g$')
ax1.set_xlabel('Applied Voltage (V)')
ax1.set_ylabel('Quasi-Fermi Level Splitting (meV)')
ax1.set_title('Forward-Biased Diode: QFL Splitting vs. Applied Voltage')
ax1.legend()
ax1.grid(alpha=0.3)
# Right: Diode I-V characteristic
ax2.semilogy(V_a, np.abs(J_diode) + 1e-10, 'b-', linewidth=2)
ax2.set_xlabel('Applied Voltage (V)')
ax2.set_ylabel('Current Density (A/m$^2$, log scale)')
ax2.set_title('Shockley Diode Equation: I(V) Characteristic')
ax2.grid(alpha=0.3, which='both')
plt.tight_layout()
plt.savefig('qfl_forward_bias.png', dpi=150, bbox_inches='tight')
plt.show()
print(f"\nFor forward bias V_a = 0.6 V:")
V_test = 0.6
J_test = J_0_empirical * (np.exp(V_test * e / (k_B * T)) - 1)
print(f" Current density: {J_test:.3e} A/m^2")
print(f" Modified mass action: n*p = {n_i**2 * np.exp(V_test * e / (k_B * T)):.3e} m^-6")
11.2 Python: Solar Cell with Photocurrent and Quasi-Fermi Levels
def solar_cell_simulation(V_bias, J_L, J_0, k_B=1.381e-23, T=300, e=1.602e-19):
"""
Solar cell I-V curve: J = J_L - J_0(exp(qV/kT) - 1)
Args:
V_bias: Applied bias voltage (V)
J_L: Light-generated current density (A/m^2)
J_0: Saturation current density (A/m^2)
k_B, T, e: Physical constants
Returns:
J_net: Net current density
V_oc: Open-circuit voltage
P: Power density (W/m^2)
"""
J_net = J_L - J_0 * (np.exp(e * V_bias / (k_B * T)) - 1)
# Open-circuit voltage (J = 0)
if J_L > 0:
V_oc = (k_B * T / e) * np.log(J_L / J_0 + 1)
else:
V_oc = 0
# Power density
P = -J_net * V_bias # Power delivered (negative current convention)
return J_net, V_oc, P
# Solar cell parameters
J_L = 40e3 # A/m^2 (realistic for good Si or GaAs cell)
J_0 = 0.1 # A/m^2
# Bias voltage sweep
V_sweep = np.linspace(0, 0.8, 200)
J_sweep, V_oc, P_sweep = solar_cell_simulation(V_sweep, J_L, J_0)
# Find maximum power point
idx_max_P = np.argmax(P_sweep)
V_mp = V_sweep[idx_max_P]
P_max = P_sweep[idx_max_P]
J_mp = J_sweep[idx_max_P]
# Fill factor and efficiency
FF = (V_mp * np.abs(J_mp)) / (V_oc * J_L)
eta = P_max / (1000 * 1000) # 1000 W/m^2 incident power
print(f"Solar Cell Characteristics:")
print(f" J_sc (short-circuit current): {J_L:.3e} A/m^2")
print(f" V_oc (open-circuit voltage): {V_oc:.3f} V")
print(f" V_mp (max power point voltage): {V_mp:.3f} V")
print(f" J_mp (max power point current): {np.abs(J_mp):.3e} A/m^2")
print(f" P_max (max power): {P_max:.3e} W/m^2")
print(f" Fill Factor: {FF:.1%}")
print(f" Efficiency (1000 W/m^2): {eta:.1%}")
# Quasi-Fermi level splitting at V_oc
Delta_E_F_oc = e * V_oc
print(f" $\\Delta E_F$ at V_oc: {Delta_E_F_oc/e*1000:.1f} meV")
# Plot
fig, ax = plt.subplots(figsize=(10, 6))
ax.fill_between(V_sweep, J_sweep*1e-3, alpha=0.3, label='I-V curve')
ax.plot(V_sweep, J_sweep*1e-3, 'b-', linewidth=2)
ax.plot(V_mp, J_mp*1e-3, 'ro', markersize=10, label=f'MPP ({V_mp:.2f} V, {J_mp*1e-3:.1f} A/m$^2$)')
ax.axhline(0, color='k', linestyle='-', alpha=0.2)
ax.axvline(0, color='k', linestyle='-', alpha=0.2)
ax.axvline(V_oc, color='g', linestyle='--', alpha=0.5, label=f'V$_{{oc}}$ = {V_oc:.3f} V')
ax.set_xlabel('Applied Voltage (V)')
ax.set_ylabel('Current Density (kA/m$^2$)')
ax.set_title(f'Solar Cell I-V Curve: $\\eta$ = {eta:.1%}, FF = {FF:.1%}')
ax.legend(loc='lower left')
ax.grid(alpha=0.3)
plt.tight_layout()
plt.savefig('qfl_solar_cell.png', dpi=150, bbox_inches='tight')
plt.show()
11.3 Python: Quasi-Fermi Level Profiles in a Heterojunction
def quasiFermiProfile_heterojunction(x, V_a, N_d, N_a, E_g_wide, E_g_narrow, BC_wide, BC_narrow):
"""
Solve for quasi-Fermi level profiles in a wide-gap / narrow-gap heterojunction.
Simplified 1D model: AlGaAs(wide) | GaAs(narrow) junction
"""
# Simplified: assume linear drop across depletion region
# Full solution requires solving Poisson + continuity equations
E_c_wide = 0 # Reference
E_v_wide = -E_g_wide
# Band offset (example: 0.3 eV for AlGaAs/GaAs)
band_offset_c = 0.3 # eV
band_offset_v = E_g_wide - band_offset_c - E_g_narrow
E_c_narrow = band_offset_c # eV
E_v_narrow = E_c_narrow - E_g_narrow
# Contact voltage constraint
V_contact = V_a # Applied voltage
# Quasi-Fermi levels (simplified linear profile)
if x < 0.5e-6: # Wide-gap side
E_Fn_x = -0.5 * V_contact + (0.5 * V_contact) * (x / 0.5e-6)
E_Fp_x = 0.5 * V_contact + (-0.5 * V_contact) * (x / 0.5e-6)
else: # Narrow-gap side
E_Fn_x = -0.5 * V_contact + (0.5 * V_contact) * ((x - 0.5e-6) / 0.5e-6)
E_Fp_x = 0.5 * V_contact + (-0.5 * V_contact) * ((x - 0.5e-6) / 0.5e-6)
return E_Fn_x, E_Fp_x, E_c_wide if x < 0.5e-6 else E_c_narrow
# Position and bias
x_array = np.linspace(-1, 1, 200) * 1e-6 # -1 to +1 μm
V_bias = 0.6 # V
E_Fn_array = []
E_Fp_array = []
Delta_EF_array = []
for x in x_array:
E_Fn, E_Fp, _ = quasiFermiProfile_heterojunction(x, V_bias, None, None, 1.8, 1.4, None, None)
E_Fn_array.append(E_Fn)
E_Fp_array.append(E_Fp)
Delta_EF_array.append(E_Fn - E_Fp)
# Plot
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))
# Left: Band structure with QFLs
ax1.plot(x_array*1e6, E_Fn_array, 'r-', linewidth=2, label='$E_{Fn}$')
ax1.plot(x_array*1e6, E_Fp_array, 'b-', linewidth=2, label='$E_{Fp}$')
ax1.axvline(0, color='k', linestyle='--', alpha=0.3, label='AlGaAs|GaAs interface')
ax1.fill_between([-1, 0], -0.5, 1.5, alpha=0.1, color='gray', label='AlGaAs (wide gap)')
ax1.fill_between([0, 1], -0.5, 1.5, alpha=0.1, color='yellow', label='GaAs (narrow gap)')
ax1.set_xlabel('Position (μm)')
ax1.set_ylabel('Energy (eV)')
ax1.set_title(f'Heterojunction Quasi-Fermi Levels (V$_a$ = {V_bias} V)')
ax1.legend(loc='upper left', fontsize=9)
ax1.grid(alpha=0.3)
ax1.set_ylim([-0.5, 1.0])
# Right: QFL splitting
ax2.plot(x_array*1e6, Delta_EF_array, 'g-', linewidth=2)
ax2.axvline(0, color='k', linestyle='--', alpha=0.3)
ax2.axhline(V_bias, color='r', linestyle='--', alpha=0.5, label='Applied voltage')
ax2.set_xlabel('Position (μm)')
ax2.set_ylabel('$\\Delta E_F = E_{Fn} - E_{Fp}$ (V)')
ax2.set_title('Quasi-Fermi Level Splitting Across Heterojunction')
ax2.legend()
ax2.grid(alpha=0.3)
plt.tight_layout()
plt.savefig('qfl_heterojunction.png', dpi=150, bbox_inches='tight')
plt.show()
12. Experimental Measurement Techniques
12.1 Photoluminescence (PL) Spectroscopy
Photoluminescence directly measures the quasi-Fermi level splitting. Under excitation, the PL intensity is proportional to the recombination rate:
The PL peak energy is approximately:
for low-injection conditions (when $\Delta E_F \ll E_g$).
By measuring PL intensity vs. excitation power, one can extract $\Delta E_F(G)$ and infer recombination mechanisms.
12.2 Electroluminescence (EL)
EL measures the emission from a forward-biased junction. The EL intensity is:
EL spectroscopy is used to diagnose defects and recombination in LEDs and solar cells.
12.3 Electroabsorption Spectroscopy
The absorption coefficient $\alpha(\omega)$ depends on the joint DOS weighted by the Fermi–Dirac distributions. Under forward bias, the absorption edge shifts and broadens due to band filling (increasing $\Delta E_F$).
This effect is exploited in electroabsorption modulators, where a changing electric field (voltage) directly modulates the optical absorption.
13. References & Further Reading
1. Shockley, W. (1949). "The Theory of p-n Junctions in Semiconductors and p-n Junction Transistors." Bell System Technical Journal, 28, 435–489. 2. Sah, C. T. (1991). Fundamentals of Solid-State Electronics. World Scientific. 3. Sze, S. M., & Ng, K. K. (2006). Physics of Semiconductor Devices (3rd ed.). Wiley-Interscience. 4. Kittel, C. (2005). Introduction to Solid State Physics (8th ed.). Wiley. 5. Nelson, J. (2003). The Physics of Solar Cells. Imperial College Press. 6. Bastard, G. (1988). Wave Mechanics Applied to Semiconductors. Les Éditions de Physique. 7. Chuang, S. L. (2009). Physics of Photonic Devices (2nd ed.). Wiley. 8. Green, M. A. (2003). Third Generation Photovoltaics: Advanced Solar Energy Conversion. Springer. 9. Shur, M. (1990). Physics of Semiconductor Devices. Prentice Hall.
Word Count: ~20,000 bytes | Keywords: Quasi-Fermi Levels, Non-Equilibrium Thermodynamics, Electrochemical Potential, Solar Cells, LEDs, Laser Diodes, Recombination, Band Bending, Shockley–Queisser Limit, Photovoltaic Efficiency
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.