PN Junction Basics Lab
Objectives
- Understand diode equation parameters and SRH recombination impact.
- Run a vectorized IV sweep and interpret semilog plots.
Prerequisites
- Installed package and numpy basics. See Getting Started.
Tasks
- Instantiate
PNJunctionDiode
at 300 K with
doping_p = doping_n = 1e17
.
- Sweep
V
from 0 to 0.8 V and compute I
with and without SRH
(set n_conc
, p_conc
).
- Plot I–V (linear and semilog). Identify knee voltage and ideality
deviation.
Hints
- Use
numpy.linspace
and device.iv_characteristic(V, n_conc, p_conc)
.
- Use
matplotlib
or utils.plotting.apply_basic_style()
.
Solution (Reference)
import numpy as np
from semiconductor_sim.devices import PNJunctionDiode
V = np.linspace(0, 0.8, 81)
d = PNJunctionDiode(doping_p=1e17, doping_n=1e17, temperature=300)
I_no, _ = d.iv_characteristic(V)
I_srh = d.iv_characteristic(V, n_conc=1e16, p_conc=1e16)[0]
How to Run
- Use the
examples/example_pn_junction.py
script for a quick start.
- Or open this lab alongside a notebook to iterate on plots interactively.