Struct DiodePairRoot
pub struct DiodePairRoot {
pub model: DiodeModel,
/* private fields */
}Expand description
Anti-parallel diode pair at the tree root.
Solves for the reflected wave b given the incident wave a and
port resistance Rp using Newton-Raphson on the implicit equation
derived from the Shockley model of two anti-parallel diodes.
Max iterations capped for real-time safety.
Fields§
§model: DiodeModelImplementations§
§impl DiodePairRoot
impl DiodePairRoot
pub fn new(model: DiodeModel) -> DiodePairRoot
Trait Implementations§
§impl Clone for DiodePairRoot
impl Clone for DiodePairRoot
§fn clone(&self) -> DiodePairRoot
fn clone(&self) -> DiodePairRoot
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DiodePairRoot
§impl Debug for DiodePairRoot
impl Debug for DiodePairRoot
§impl NlDeviceIv for DiodePairRoot
impl NlDeviceIv for DiodePairRoot
§impl WdfRoot for DiodePairRoot
impl WdfRoot for DiodePairRoot
§fn process(&mut self, a: f64, rp: f64) -> f64
fn process(&mut self, a: f64, rp: f64) -> f64
Compute reflected wave from incident wave a and port resistance rp.
Anti-parallel diode pair with series resistance:
- Junction current:
i(v_j) = Is*(exp(v_j/nVt) - exp(-v_j/nVt)) - Total voltage:
v = v_j + i*Rs(each diode has Rs)
We solve for junction voltage v_j using effective port resistance (Rp + Rs). The solver returns b_eff = 2v_j - a, then we correct for Rs: b = b_eff + 2i*Rs
Auto Trait Implementations§
impl Freeze for DiodePairRoot
impl RefUnwindSafe for DiodePairRoot
impl Send for DiodePairRoot
impl Sync for DiodePairRoot
impl Unpin for DiodePairRoot
impl UnsafeUnpin for DiodePairRoot
impl UnwindSafe for DiodePairRoot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more