Quantum Confinement Band Offset Engineering Quantum Well

# Quantum Confinement and Band Structure Engineering in Heterostructures

## 1. Introduction: Breaking the Bulk Bandgap Limit

In bulk semiconductors, the bandgap $E_g$ is a material property determined by the crystal structure. However, quantum confinement in nanostructures allows engineering the bandgap to values higher (more restrictive) than the bulk material. This opens a revolutionary design space: custom-engineered electronic and optical properties.

The physical mechanism is straightforward: when a charge carrier is confined to a region smaller than its de Broglie wavelength $\lambda = h/p$, the kinetic energy increases due to the uncertainty principle. A particle confined to length $L$ has minimum kinetic energy:

$$E_{ ext{kin,min}} \sim \frac{\hbar^2 \pi^2}{2mL^2}$$

For electron-hole pairs in a quantum well of width $L \sim 10$ nm, this confinement energy can reach several hundred meV—equivalent to shifting the bandgap by that amount.

## 2. Single Particle in a Potential Well: The Infinite Square Well Model

The simplest model for quantum confinement is a particle in an infinite square well with width $L$:

$$V(z) = \begin{cases} 0 & 0 < z < L \\ \infty & ext{otherwise} \end{cases}$$

The time-independent Schrödinger equation in the well:
$$-\frac{\hbar^2}{2m}\frac{d^2\psi}{dz^2} = E\psi$$

with boundary conditions $\psi(0) = \psi(L) = 0$ (particle cannot escape).

The eigenfunctions are standing waves:
$$\psi_n(z) = \sqrt{\frac{2}{L}} \sin\left(\frac{n\pi z}{L} ight), \quad n = 1, 2, 3, \ldots$$

The eigenvalues (energy levels):
$$E_n = \frac{\hbar^2 \pi^2 n^2}{2mL^2} = \frac{h^2 n^2}{8mL^2}$$

Key insight: Energy scales as $1/L^2$. Reducing the well width by half increases the ground-state energy by a factor of 4.

For an electron in a GaAs well ($m_e^* \approx 0.067 m_e$) with $L = 10$ nm:
$$E_1 = \frac{(1.055 imes 10^{-34})^2 \pi^2}{2 imes 0.067 imes 9.109 imes 10^{-31} imes (10 imes 10^{-9})^2} \approx 60 ext{ meV}$$

This confinement energy is substantial and directly observable in optical spectra.

## 3. Finite Potential Well and Band Offset Engineering

Real heterostructures have finite barriers (band offsets), not infinite walls. The band offset $\Delta E_c$ (or $\Delta E_v$ for holes) at a heterojunction is determined by the Anderson model:

$$\Delta E_c = E_{c,2}^{ ext{bulk}} - E_{c,1}^{ ext{bulk}} + (E_g^{(1)} - E_g^{(2)})$$

For example, at the GaAs/AlGaAs interface:
- $E_g( ext{AlGaAs}) > E_g( ext{GaAs})$ (larger bandgap)
- Electron confinement: $\Delta E_c \approx 60\%$ of bulk bandgap difference
- Hole confinement: $\Delta E_v \approx 40\%$ of bulk bandgap difference

The finite well depth modifies the energy levels compared to infinite well. Eigenvalues must satisfy:
$$ an\left(\frac{k_w L}{2} ight) = \frac{k_c}{k_w} \quad ext{(even parity)}$$
$$\cot\left(\frac{k_w L}{2} ight) = -\frac{k_w}{k_c} \quad ext{(odd parity)}$$

where $k_w = \sqrt{2mE}/\hbar$ is the wave vector inside the well and $k_c = \sqrt{2m(V_0 - E)}/\hbar$ is outside.

For shallow wells ($V_0 \lesssim 100$ meV), the ground state energy is slightly lower than in an infinite well, and the wavefunction penetrates significantly into the barriers.

## 4. Type-I and Type-II Band Alignments

Type-I alignment (straddling): Both conduction and valence band edges of the narrow-gap material lie within those of the wide-gap material:
$$E_c( ext{narrow}) > E_c( ext{wide}), \quad E_v( ext{narrow}) < E_v( ext{wide})$$

Example: GaAs (E_g = 1.42 eV) in AlGaAs (E_g = 2.3 eV) barrier. Both carriers are confined in the GaAs well.

Type-II alignment (staggered): Electrons are confined in one material, holes in the other:
$$E_c( ext{semi-metal}) < E_c( ext{wide-gap}), \quad E_v( ext{semi-metal}) > E_v( ext{wide-gap})$$

Example: InAs/GaSb interfaces. The spatially indirect transition reduces recombination but enables long-lived excitons—useful for infrared lasers and detectors.

## 5. Kronig-Penney Model for Superlattices

When many thin wells are stacked periodically (superlattice), the band structure becomes miniband structure. The Kronig-Penney model describes electrons in a periodic potential:

$$V(z) = \begin{cases} 0 & 0 < z < a \\ V_0 & a < z < a+b \end{cases}$$

repeating with period $L = a + b$.

Bloch's theorem requires:
$$\psi(z + L) = e^{ikL}\psi(z)$$

where $k$ is the crystal wavevector. The dispersion relation (transcendental equation) yields allowed and forbidden bands.

Miniband formation: The discrete levels in isolated wells broaden into minibands when they interact through the barriers. The miniband width depends on the barrier thickness—thinner barriers → broader minibands.

The density of states in a miniband is approximately:
$$g(E) \propto \frac{1}{\sqrt{E_{ ext{top}} - E}}$$

showing characteristic Van Hove singularity at the band edge.

## 6. Quantum Cascade Lasers (QCL): Engineering Gain Through Confinement

Quantum cascade lasers exploit engineered band structure to achieve stimulated emission between confined states in the same band (unlike conventional lasers, which use band-to-band transitions).

The band structure design involves:
1. Injector region: Brings electrons from one cascade stage to the next via resonant tunneling
2. Active region: Pairs of levels with engineered energy difference matching the desired photon energy
3. Waveguide: Confines light to the active region for feedback

For a mid-infrared QCL (λ ≈ 5 μm, E ≈ 250 meV), the level spacing is engineered by the quantum well width:

$$\Delta E_{ij} = E_j - E_i \approx \frac{\hbar^2 \pi^2}{2m_e^*} \left(\frac{j^2 - i^2}{L^2} ight)$$

For two-level lasing ($i=1 o j=2$):
$$E_{21} = \frac{hc}{\lambda} = 250 ext{ meV}$$

This requires $L \approx 40$ nm with specific Al fraction in AlGaAs to achieve the right confinement energy.

## 7. Python Implementation: Energy Levels in Finite Quantum Well

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import fsolve
from scipy.integrate import solve_bvp

def finite_well_energy_even(k_w, L, V0, m_star):
    """
    Transcendental equation for even-parity states in finite well.
    tan(k_w * L/2) = k_c / k_w
    """
    hbar = 1.055e-34
    m_e = 9.109e-31
    m = m_star * m_e
    
    k_c_sq = 2*m*V0 / hbar**2 - k_w**2
    if k_c_sq < 0:
        return np.inf
    k_c = np.sqrt(k_c_sq)
    
    lhs = np.tan(k_w * L / 2)
    rhs = k_c / k_w
    return lhs - rhs

def finite_well_energy_odd(k_w, L, V0, m_star):
    """
    Transcendental equation for odd-parity states: cot(k_w*L/2) = -k_w/k_c
    """
    hbar = 1.055e-34
    m_e = 9.109e-31
    m = m_star * m_e
    
    k_c_sq = 2*m*V0 / hbar**2 - k_w**2
    if k_c_sq < 0:
        return np.inf
    k_c = np.sqrt(k_c_sq)
    
    lhs = 1.0 / np.tan(k_w * L / 2) if np.abs(np.sin(k_w * L / 2)) > 1e-10 else np.inf
    rhs = -k_w / k_c
    return lhs - rhs

def find_well_eigenenergies(L, V0, m_star, num_levels=5):
    """
    Find eigenvalues for finite quantum well.
    
    Parameters:
    -----------
    L : float (m)
        Well width
    V0 : float (eV)
        Barrier height
    m_star : float
        Effective mass (in units of m_e)
    num_levels : int
        Number of levels to find
    
    Returns:
    --------
    energies : array (eV)
        Energy eigenvalues (relative to well bottom)
    parities : array
        Parity of each state ('even' or 'odd')
    """
    
    hbar = 1.055e-34
    m_e = 9.109e-31
    m = m_star * m_e
    
    V0_J = V0 * 1.6e-19  # Convert eV to Joules
    
    energies = []
    parities = []
    
    # Maximum k_w value (for infinite well limit)
    k_w_max = np.pi / L * 5
    
    # Search for even-parity states
    for n in range(1, num_levels+1):
        k_w_guess = n * np.pi / L
        try:
            k_w_sol = fsolve(lambda kw: finite_well_energy_even(kw, L, V0_J, m_star), k_w_guess)[0]
            if k_w_sol > 0 and k_w_sol < k_w_max:
                E_J = hbar**2 * k_w_sol**2 / (2*m)
                E_eV = E_J / 1.6e-19
                if E_eV < V0:
                    energies.append(E_eV)
                    parities.append('even')
        except:
            pass
    
    # Search for odd-parity states
    for n in range(1, num_levels+1):
        k_w_guess = (n + 0.5) * np.pi / L
        try:
            k_w_sol = fsolve(lambda kw: finite_well_energy_odd(kw, L, V0_J, m_star), k_w_guess)[0]
            if k_w_sol > 0 and k_w_sol < k_w_max:
                E_J = hbar**2 * k_w_sol**2 / (2*m)
                E_eV = E_J / 1.6e-19
                if E_eV < V0:
                    energies.append(E_eV)
                    parities.append('odd')
        except:
            pass
    
    # Sort by energy
    sorted_indices = np.argsort(energies)
    energies = [energies[i] for i in sorted_indices]
    parities = [parities[i] for i in sorted_indices]
    
    return energies, parities

def infinite_well_levels(L, m_star, num_levels=5):
    """
    Energy levels in infinite square well for comparison.
    """
    hbar = 1.055e-34
    m_e = 9.109e-31
    m = m_star * m_e
    
    energies = []
    for n in range(1, num_levels+1):
        E = hbar**2 * (n*np.pi)**2 / (2*m*L**2)
        energies.append(E / 1.6e-19)  # Convert to eV
    
    return energies

# Simulation: GaAs quantum well in AlGaAs barriers
L_well = 10e-9  # 10 nm well width
m_star_GaAs = 0.067  # Electron effective mass in GaAs
V0_barrier = 0.30  # 300 meV barrier height (rough AlGaAs/GaAs offset)

# Calculate eigenvalues
E_finite, par = find_well_eigenenergies(L_well, V0_barrier, m_star_GaAs, num_levels=5)
E_infinite = infinite_well_levels(L_well, m_star_GaAs, num_levels=5)

# Wavefunction visualization
z = np.linspace(0, L_well, 1000)

# Plot 1: Energy level diagram
fig, axes = plt.subplots(1, 3, figsize=(15, 5))

axes[0].axhline(y=0, color='k', linestyle='-', linewidth=2)
axes[0].axhline(y=V0_barrier, color='gray', linestyle='--', linewidth=2, label='Barrier')

for i, E_f in enumerate(E_finite[:5]):
    axes[0].axhline(y=E_f, color='blue', linestyle='-', linewidth=1.5, alpha=0.7)
    axes[0].text(-0.15, E_f, f'n={i+1}', fontsize=9)

axes[0].set_xlim([-0.2, 0.2])
axes[0].set_ylim([-0.05, V0_barrier*1.2])
axes[0].set_ylabel('Energy (eV)', fontsize=11)
axes[0].set_title('Finite Well Energy Levels', fontsize=12, fontweight='bold')
axes[0].grid(True, alpha=0.3)
axes[0].set_xticks([])

# Plot 2: Comparison of finite vs infinite well
n_vals = np.arange(1, 6)
axes[1].plot(n_vals, E_finite[:5], 'bo-', linewidth=2, markersize=8, label='Finite well')
axes[1].plot(n_vals, E_infinite[:5], 'r^--', linewidth=2, markersize=8, label='Infinite well')
axes[1].set_xlabel('Level index n', fontsize=11)
axes[1].set_ylabel('Energy (eV)', fontsize=11)
axes[1].set_title('Finite vs. Infinite Well Comparison', fontsize=12, fontweight='bold')
axes[1].legend(fontsize=10)
axes[1].grid(True, alpha=0.3)

# Plot 3: Potential well and confinement energy gain
L_array = np.linspace(5e-9, 50e-9, 100)
E1_finite_array = []
E1_infinite_array = []

for L_test in L_array:
    E_f, _ = find_well_eigenenergies(L_test, V0_barrier, m_star_GaAs, num_levels=1)
    E_inf = infinite_well_levels(L_test, m_star_GaAs, num_levels=1)
    E1_finite_array.append(E_f[0] if len(E_f) > 0 else np.nan)
    E1_infinite_array.append(E_inf[0])

axes[2].plot(L_array*1e9, E1_finite_array, 'b-', linewidth=2, label='Finite well (V₀=300 meV)')
axes[2].plot(L_array*1e9, E1_infinite_array, 'r--', linewidth=2, label='Infinite well')
axes[2].set_xlabel('Well width L (nm)', fontsize=11)
axes[2].set_ylabel('Ground state energy (eV)', fontsize=11)
axes[2].set_title('Confinement Energy vs. Well Width', fontsize=12, fontweight='bold')
axes[2].legend(fontsize=10)
axes[2].grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('quantum_well_confinement.png', dpi=150, bbox_inches='tight')
plt.show()

print("=== Quantum Confinement Analysis Complete ===")
print(f"Well width: {L_well*1e9:.1f} nm")
print(f"Barrier height: {V0_barrier*1000:.0f} meV")
print(f"
Finite well eigenvalues (eV):")
for i, E in enumerate(E_finite[:5]):
    print(f"  E_{i+1}: {E*1000:.2f} meV ({par[i]} parity)")
print(f"
Infinite well eigenvalues (eV):")
for i, E in enumerate(E_infinite[:5]):
    print(f"  E_{i+1}: {E*1000:.2f} meV")

## 8. Superlattice Band Structure and Miniband Formation

In superlattices, the periodic structure creates a band diagram with minibands and minigaps. The miniband width:

$$W_{ ext{mini}} \approx 4E_1 \exp\left(-2\kappa b ight)$$

where $\kappa = \sqrt{2m(V_0 - E_1)}/\hbar$ is the decay constant in the barrier and $b$ is barrier thickness.

For $b = 5$ nm, $V_0 = 300$ meV, the exponential factor is $e^{-2\kappa b} \sim 10^{-3}$, making minibands extremely narrow—useful for engineering electronic properties.

## 9. Exciton Binding Energy in Quantum Wells

In bulk semiconductors, the exciton binding energy $E_B^{ ext{bulk}} \sim 5-15$ meV (depending on material). In quantum wells, the reduced dimensionality and increased effective Coulomb coupling increase $E_B$:

$$E_B^{ ext{well}} \approx E_B^{ ext{bulk}} \left(\frac{E_c^{ ext{well}} + E_v^{ ext{well}}}{E_c^{ ext{well}} + E_v^{ ext{well}} - E_B^{ ext{bulk}}} ight)^2$$

For a 10 nm GaAs well, exciton binding energy can reach 30-40 meV—a significant fraction of the thermal energy at room temperature, leading to strong excitonic enhancement of optical absorption.

## 10. Density of States in Quantum Structures

  • Bulk (3D): $g(E) \propto \sqrt{E}$
  • Quantum well (2D): $g(E) = ext{const}$ (step function)
  • Quantum wire (1D): $g(E) \propto 1/\sqrt{E}$
  • Quantum dot (0D): $g(E) = \delta(E - E_n)$ (delta functions)

The reduced dimensionality dramatically changes optical properties: lower-dimensional systems have sharper spectral features due to the modified DOS.

## 11. Modulation-Doped Heterostructures and Two-Dimensional Electron Gas (2DEG)

Modulation doping places dopants in a wide-bandgap layer separate from the channel, reducing impurity scattering. The transfer of electrons creates a 2DEG at the heterointerface with high mobility—enabling ballistic transport in short channels.

The 2DEG density:
$$n_s = \frac{\epsilon \epsilon_0 (V_{ ext{gate}} - V_{ ext{th}})}{et_d}$$

where $t_d$ is the doping layer thickness. Ultra-thin doping layers ($t_d < 10$ nm) enable strong electroststatic control—crucial for sub-3nm GAA devices.

## 12. Strain Effects in Heterostructures

Lattice mismatch between materials creates biaxial strain, which:
- Modifies band alignment through deformation potential coupling
- Splits degenerate bands (valence band splitting in strained Si)
- Changes effective masses
- Tunes exciton energy

The band shift due to hydrostatic strain:
$$\Delta E_c = a_c \cdot ext{Tr}(\epsilon)$$

where $a_c$ is the hydrostatic deformation potential (~5.8 eV for Si conduction band).

## 13. Resonant Tunneling and Negative Differential Resistance

When energy levels in adjacent wells align, electrons tunnel efficiently through the barrier (resonant condition). Off-resonance, tunneling is suppressed exponentially. This creates the characteristic peak-to-valley current ratio (PVCR) in resonant tunneling diodes.

## 14. Advanced Concepts: Type-III and Broken-Gap Alignments

Type-III (broken-gap): Valence band maximum of one material exceeds conduction band minimum of another. Electron-hole pairs at the interface have net binding energy (electron on one side, hole on the other). Example: InSb/Al₀.₈Sb provides semimetallic behavior useful for tunnel transistors.

## 15. Applications and Future Directions

  • Quantum cascade lasers: Engineered level spacing for mid-IR and THz
  • Resonant tunneling diodes: Negative resistance for oscillators
  • Tunnel field-effect transistors (TFET): Band-to-band tunneling for steep subthreshold swing
  • Graphene heterostructures: van der Waals engineering of new materials
  • Topological superlattices: Band engineering to create edge states

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account