pub enum EdgeKind {
Linear,
Reactive,
Nonlinear,
Vccs,
Vcvs,
Behavioral,
}Expand description
Classification of a circuit edge by electrical behavior.
The planner uses edge kinds to group components into stages:
- Linear + Reactive = passive WDF tree
- Nonlinear seeds NR solver stages
- Vccs needs MNA off-diagonal stamps
- Behavioral breaks the graph (separate stages on each side)
Variants§
Linear
Purely resistive: R, pot sub-R, tempco, switched-R, photocoupler LDR, JFET Vr.
Reactive
Has state, must be a WDF port: C, L, switched-C, switched-L.
Nonlinear
Needs Newton-Raphson solver: diode, BJT, JFET amplifier, triode, MOSFET, OTA.
Vccs
Voltage-controlled current source: OTA in linear mode (future).
Vcvs
Voltage-controlled voltage source: op-amp nullor (neg→out edge, pos resolved via stamp_mna_multi). Forces R-node in SPQR.
Behavioral
Handled outside WDF/MNA: BBD, delay line.
Trait Implementations§
impl Copy for EdgeKind
impl Eq for EdgeKind
impl StructuralPartialEq for EdgeKind
Auto Trait Implementations§
impl Freeze for EdgeKind
impl RefUnwindSafe for EdgeKind
impl Send for EdgeKind
impl Sync for EdgeKind
impl Unpin for EdgeKind
impl UnsafeUnpin for EdgeKind
impl UnwindSafe for EdgeKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.