results
¶
Result containers for the charge-transport solve.
A 2D DEVSIM device is one cm deep, so extensive quantities (currents, charges, capacitances) are per cm of device depth. Coordinates are converted back to the gsim mesh unit (um).
Classes:
-
BiasPoint–Solved state of the device at one bias voltage.
-
BiasSweepResult–Ordered collection of solved bias points from a voltage sweep.
-
CarrierMap–Node-wise solution fields on the cross-section mesh.
BiasPoint
¶
Bases: BaseModel
Solved state of the device at one bias voltage.
Attributes:
-
bias_v(float) –Applied bias on the swept contact (V).
-
carriers(CarrierMap) –Node-wise carrier maps.
-
currents_a_per_cm(dict[str, float]) –Total terminal current per contact (electron + hole, A per cm of depth).
-
charge_c_per_cm(float) –Contact charge on the swept contact (C per cm of depth).
-
capacitance_f_per_cm(float) –Small-signal capacitance |dQ/dV| at this bias (F per cm of depth).
-
admittance_s_per_cm(complex) –Complex small-signal terminal admittance of the swept contact at :attr:
admittance_freq_hz(S per cm of depth). -
admittance_freq_hz(float) –Frequency the admittance's AC solve ran at (Hz) — above the quasi-static one, so the capacitive current dominates the junction leakage in
Re(Y); zero when no AC solve produced this point.
Methods:
-
junction_branch–Fit the series-RC junction branch to this point's admittance.
admittance_s_per_m
property
¶
admittance_s_per_m: complex
Small-signal admittance per meter of device length (S/m).
capacitance_f_per_m
property
¶
capacitance_f_per_m: float
Small-signal capacitance per meter of device length (F/m).
junction_branch
¶
junction_branch() -> JunctionBranch
Fit the series-RC junction branch to this point's admittance.
The lumped shunt model the standard loaded-line workflow inserts per unit length of the Traveling-wave electrode: the junction capacitance behind the series resistance of the doped slab.
Returns:
-
JunctionBranch–The fitted :class:
~gsim.common.junction.JunctionBranch, both -
JunctionBranch–fields floats.
Raises:
-
ValueError–When this point holds no small-signal admittance, or one a series RC cannot represent.
BiasSweepResult
¶
Bases: ScalarSweep[BiasPoint]
Ordered collection of solved bias points from a voltage sweep.
- API Guides TCAD guide
Methods:
-
junction_branch–The series-RC junction branch fitted at every Bias point.
Attributes:
-
admittance_s_per_cm(NDArray[complex128]) –Small-signal terminal admittance per cm of depth in sweep order.
-
capacitance_f_per_cm(NDArray[float64]) –Small-signal C(V) per cm of depth in sweep order.
-
capacitance_f_per_m(NDArray[float64]) –Small-signal C(V) per meter of device length in sweep order.
-
voltages(NDArray[float64]) –Applied biases (V) in sweep order.
admittance_s_per_cm
property
¶
Small-signal terminal admittance per cm of depth in sweep order.
capacitance_f_per_cm
property
¶
Small-signal C(V) per cm of depth in sweep order.
capacitance_f_per_m
property
¶
Small-signal C(V) per meter of device length in sweep order.
junction_branch
¶
junction_branch() -> JunctionBranch
The series-RC junction branch fitted at every Bias point.
Returns:
-
A(JunctionBranch) –class:
~gsim.common.junction.JunctionBranchof arrays in -
JunctionBranch–sweep order.
CarrierMap
¶
Bases: BaseModel
Node-wise solution fields on the cross-section mesh.
The concentrations are what every downstream consumer reads. The potential and the net doping are diagnostics the charge solve reports alongside them; a map built anywhere else — a canned sweep, a synthetic profile — leaves them out.
Attributes:
-
x_um(NDArray[float64]) –In-plane node coordinates (um).
-
y_um(NDArray[float64]) –Vertical node coordinates (um).
-
region(list[str]) –Per-node mesh region name.
-
electrons_cm3(NDArray[float64]) –Electron concentration n(x, y) (cm^-3).
-
holes_cm3(NDArray[float64]) –Hole concentration p(x, y) (cm^-3).
-
potential_v(NDArray[float64] | None) –Electrostatic potential (V), when the solve reported it.
-
net_doping_cm3(NDArray[float64] | None) –Net doping (donors - acceptors, cm^-3), when the solve reported it.