Struct ZenerModel
pub struct ZenerModel {
pub vz: f64,
pub is_fwd: f64,
pub n_vt_fwd: f64,
pub is_rev: f64,
pub n_vt_rev: f64,
pub rz: f64,
}Expand description
Zener diode model parameters.
A zener diode conducts normally in forward bias (like a silicon diode) and exhibits sharp breakdown at the zener voltage in reverse bias. This makes it useful for voltage regulation and clipping.
Fields§
§vz: f64Zener breakdown voltage (V). Common values: 3.3, 4.7, 5.1, 6.2, 9.1, 12.
is_fwd: f64Forward saturation current (A). Similar to silicon diode.
n_vt_fwd: f64Forward thermal voltage * ideality (V).
is_rev: f64Reverse saturation current at breakdown (A). Controls sharpness.
n_vt_rev: f64Reverse thermal voltage * ideality (V). Smaller = sharper knee.
rz: f64Dynamic resistance in breakdown region (Ω). Typical: 1-30Ω.
Implementations§
§impl ZenerModel
impl ZenerModel
pub fn new(vz: f64) -> ZenerModel
pub fn new(vz: f64) -> ZenerModel
Create a zener diode with specified breakdown voltage.
Alias for with_voltage for API compatibility.
pub fn with_voltage(vz: f64) -> ZenerModel
pub fn with_voltage(vz: f64) -> ZenerModel
Create a zener diode with specified breakdown voltage.
Dynamic resistance is computed continuously from the breakdown voltage using a physically-motivated model:
- Below ~5V: avalanche-dominated breakdown → higher Rz (~20–30Ω)
- Above ~7V: true zener (tunneling) mechanism → lower Rz (~2–5Ω)
- Transition region: smooth interpolation
Empirical fit: Rz ≈ 2 + 28 / (1 + (Vz/5.5)^3) Matches datasheet Rz values for common zeners (1N47xx series) within ±20%.
pub fn z3v3() -> ZenerModel
pub fn z3v3() -> ZenerModel
1N4728A - 3.3V Zener (500mW)
pub fn z4v7() -> ZenerModel
pub fn z4v7() -> ZenerModel
1N4732A - 4.7V Zener (500mW)
pub fn z5v1() -> ZenerModel
pub fn z5v1() -> ZenerModel
1N4733A - 5.1V Zener (500mW) - Common in pedal circuits
pub fn z5v6() -> ZenerModel
pub fn z5v6() -> ZenerModel
1N4734A - 5.6V Zener (500mW)
pub fn z6v2() -> ZenerModel
pub fn z6v2() -> ZenerModel
1N4735A - 6.2V Zener (500mW)
pub fn z9v1() -> ZenerModel
pub fn z9v1() -> ZenerModel
1N4739A - 9.1V Zener (500mW)
pub fn z12v() -> ZenerModel
pub fn z12v() -> ZenerModel
1N4742A - 12V Zener (500mW)
Trait Implementations§
§impl Clone for ZenerModel
impl Clone for ZenerModel
§fn clone(&self) -> ZenerModel
fn clone(&self) -> ZenerModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more