Skip to main content

explicit_single_diode

Function explicit_single_diode 

pub fn explicit_single_diode(a: f64, rp: f64, is: f64, n_vt: f64) -> f64
Expand description

Explicit closed-form reflected wave for a single diode.

Solves v such that v + Rp·i(v) = a/2 (the WDF root equation in this codebase’s doubled-wave convention) with i(v) = Is·(exp(v/nVt) − 1).

No Newton-Raphson outer loop is used.

Algorithm:

  1. Derive a near-exact warm start via Wright Omega (closed form).
  2. Apply one Newton-Raphson correction for < 1e-10 accuracy.

Note: a in the wave convention used by this codebase is 2 × standard_WDF_a. The root solves v + Rp·i(v) = a/2.

Derivation of the WO warm start:

  α   = Rp·Is / nVt,  u = v/nVt,  a_eff = a/2
  u + α·eᵘ = a_eff/nVt + α
  w = α·eᵘ  →  w + ln w = a_eff/nVt + ln α + α
  w₀ = ω(a/(2·nVt) + ln α + α)
  v₀ = nVt·(ln w₀ − ln α)

§Arguments

  • a - Incident wave (2 × WDF wave variable, V)
  • rp - Port resistance (Ω)
  • is - Saturation current (A)
  • n_vt - Thermal voltage × ideality factor (V)