.claude/skills/carrier-statistics-modeling/SKILL.md
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.
npx skillsauth add ShaneLogic/SolarLab carrier-statistics-modelingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when calculating carrier densities (n, p) and current densities (j_n, j_p) in semiconductor devices, particularly when:
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 statesE_fn, E_fp are quasi-Fermi levelsE_c, E_v are band edge energiesE_c,v = const - q * φS(xi) = exp(xi)S^{-1}(y) = ln(y)F_1/2(xi)F(xi) = (2/√π) ∫₀^∞ √(η)/(1 + exp(η - xi)) dηxi < -3 or n < 2 * g_cG_s(xi)s (dimensionless), σ = s * k_B TS(xi) = exp(xi + s²/2)When simulating with non-Boltzmann statistics, specify parameters in parameters.m:
% 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)
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
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.
development
Understand and comply with Driftfusion software licensing terms, including the open-source AGPL v3.0 frontend and proprietary MATLAB pdepe solver backend. Use when using, modifying, or distributing Driftfusion code.
development
Initialize the Driftfusion simulation environment and create parameter objects. Use this skill when starting a new MATLAB session or setting up device properties for simulation.
development
Define device layer structure, configure spatial and time meshes, and build device structures with interface grading. Use this skill when setting up the physical geometry and discretization of a simulation device.
research
Analyze simulation solutions, calculate physical quantities, and generate plots. Use this skill when processing completed simulations, extracting currents/densities, or visualizing results.