pub struct PnJunction {
pub band: BandStructure,
pub nd: f64,
pub na: f64,
pub temperature_k: f64,
pub area: f64,
}Expand description
P-N junction model.
Models the electrostatics and I-V characteristics of an abrupt p-n junction.
Fields§
§band: BandStructureBand structure.
nd: f64Donor concentration (n-side) in cm^-3.
na: f64Acceptor concentration (p-side) in cm^-3.
temperature_k: f64Temperature in K.
area: f64Junction area in cm^2.
Implementations§
Source§impl PnJunction
impl PnJunction
Sourcepub fn new(
band: BandStructure,
nd: f64,
na: f64,
temperature_k: f64,
area: f64,
) -> Self
pub fn new( band: BandStructure, nd: f64, na: f64, temperature_k: f64, area: f64, ) -> Self
Create a new p-n junction.
Sourcepub fn built_in_potential(&self) -> f64
pub fn built_in_potential(&self) -> f64
Built-in potential Vbi in V.
Vbi = (k_B T / q) * ln(Na * Nd / ni^2)
Sourcepub fn depletion_width(&self, applied_voltage: f64) -> f64
pub fn depletion_width(&self, applied_voltage: f64) -> f64
Depletion width W in cm.
W = sqrt(2 * epsilon * (Vbi - V) * (1/Na + 1/Nd) / q)
Sourcepub fn junction_capacitance(&self, applied_voltage: f64) -> f64
pub fn junction_capacitance(&self, applied_voltage: f64) -> f64
Junction capacitance per unit area in F/cm^2.
C_j = epsilon / W
Sourcepub fn total_capacitance(&self, applied_voltage: f64) -> f64
pub fn total_capacitance(&self, applied_voltage: f64) -> f64
Total junction capacitance in F.
Sourcepub fn max_electric_field(&self, applied_voltage: f64) -> f64
pub fn max_electric_field(&self, applied_voltage: f64) -> f64
Maximum electric field in V/cm.
Sourcepub fn saturation_current(&self, dn: f64, dp: f64, ln: f64, lp: f64) -> f64
pub fn saturation_current(&self, dn: f64, dp: f64, ln: f64, lp: f64) -> f64
Reverse saturation current I0 in A.
Uses the Shockley diode equation parameters.
Sourcepub fn shockley_current(
&self,
voltage: f64,
i0: f64,
ideality_factor: f64,
) -> f64
pub fn shockley_current( &self, voltage: f64, i0: f64, ideality_factor: f64, ) -> f64
Current through the junction using Shockley diode equation.
I = I0 * (exp(V / (n * V_T)) - 1)
Sourcepub fn breakdown_voltage(&self) -> f64
pub fn breakdown_voltage(&self) -> f64
Breakdown voltage estimate (empirical, for silicon).
V_br ≈ 60 * (Eg / 1.1)^{3/2} * (Nb / 10^16)^{-3/4}
Trait Implementations§
Source§impl Clone for PnJunction
impl Clone for PnJunction
Source§fn clone(&self) -> PnJunction
fn clone(&self) -> PnJunction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more