Skip to main content

carrier-statistics-modeling

Apply appropriate statistical models (Boltzmann, Fermi-Dirac, Gaussian) to calculate carrier densities and current densities in semiconductor materials. Use when simulating charge transport in perovskite solar cells, modeling transport layers (ETL/HTL), or working with organic vs inorganic materials where non-Boltzmann statistics may be required.

Informations de source

Dépôt
ShaneLogic/SolarLab
Dernière activité de la source
20 mars 2026 à 07:55
Langue détectée de SKILL.md
anglais
Étoiles
5
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
2 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
carrier-statistics-modeling
description
Apply appropriate statistical models (Boltzmann, Fermi-Dirac, Gaussian) to calculate carrier densities and current densities in semiconductor materials. Use when simulating charge transport in perovskite solar cells, modeling transport layers (ETL/HTL), or working with organic vs inorganic materials where non-Boltzmann statistics may be required.
# Carrier Statistics Modeling Use this skill when calculating carrier densities (n, p) and current densities (j_n, j_p) in semiconductor devices, particularly when: - Simulating perovskite solar cells with organic transport layers - Material properties suggest Boltzmann approximation may be invalid - High doping concentrations or strong degeneracy conditions exist - Comparing ordered (crystalline) vs disordered (organic) materials ## General Carrier Density Calculation For any statistical model, calculate carrier density using the statistical integral: ``` n = g_c * S((E_fn - E_c) / k_B T) p = g_v * S((E_v - E_fp) / k_B T) ``` Where: - `S` is the statistical integral (model-dependent) - `g_c`, `g_v` are effective density of states - `E_fn`, `E_fp` are quasi-Fermi levels - `E_c`, `E_v` are band edge energies - Account for band bending: `E_c,v = const - q * φ` ## Select Statistical Model ### 1. Boltzmann Approximation (Default) - **When to use**: Low carrier densities, quasi-Fermi levels > 3kT from band edge - **Statistical integral**: `S(xi) = exp(xi)` - **Inverse**: `S^{-1}(y) = ln(y)` ### 2. Parabolic Band Model (Fermi-Dirac) - **When to use**: Ordered crystalline/inorganic semiconductors with high doping - **Statistical integral**: Fermi-Dirac integral `F_1/2(xi)` - **Formula**: `F(xi) = (2/√π) ∫₀^∞ √(η)/(1 + exp(η - xi)) dη` - **Boltzmann valid for**: `xi < -3` or `n < 2 * g_c` ### 3. Gaussian Band Model - **When to use**: Organic/disordered materials, transport layers with hopping transport - **Statistical integral**: Gauss-Fermi integral `G_s(xi)` - **Reference energies**: LUMO (E_L), HOMO (E_H) - no defined band edges - **Disorder parameter**: `s` (dimensionless), `σ = s * k_B T` - **Boltzmann form**: `S(xi) = exp(xi + s²/2)` ## Configure Non-Boltzmann Statistics When simulating with non-Boltzmann statistics, specify parameters in parameters.m: ```matlab % ETL parameters SE = 'F12'; % Statistical integral for ETL SEinv = 'F12inv'; % Inverse statistical integral % HTL parameters SH = 'G'; % Statistical integral for HTL SHinv = 'Ginv'; % Inverse statistical integral ``` **Default behavior**: If not specified, uses Boltzmann approximation (`exp`/`ln`) ## Calculate Current Density Use the generalized drift-diffusion equation: ``` j_n = μ_n * k_B T * d/dx[ n * S^{-1}(n/g_c) - (q/k_B T) * dφ/dx ] j_p = μ_p * k_B T * d/dx[ p * S^{-1}(p/g_v) + (q/k_B T) * dφ/dx ] ``` In Boltzmann limit, this reduces to standard form: ``` j_n = q * μ_n * n * E + k_B T * μ_n * dn/dx ``` ## Apply Transport Layer Boundary Conditions At ETL and HTL interfaces, apply continuity conditions with equilibrium ratios: ``` Carrier density continuity: n|_x=0- = n|_x=0+ Current density continuity: j_n|_x=0- = j_n|_x=0+ ``` Calculate equilibrium ratios to handle non-Boltzmann statistics across interfaces.
Voir sur GitHub