pub enum SolverMethod {
NewtonRaphson,
WrightOmega,
EbersMoll,
GummelPoon,
}Expand description
Preferred nonlinear solver method for a component.
Components that support explicit (closed-form) solvers return
SolverMethod::WrightOmega from solver_hint(). The compiler build pass
uses this hint to select the appropriate root type.
NewtonRaphson is available as an explicit override for debugging or for
circuits where the explicit solver needs to be compared against the iterative
solver.
Variants§
NewtonRaphson
Newton-Raphson iterative solver (default for all nonlinear devices).
WrightOmega
Wright Omega explicit solver (closed-form, no outer NR loop). Faster than NR for diodes; equivalent audio quality.
EbersMoll
Simplified Ebers-Moll BJT model (fast alternative to Gummel-Poon).
Omits Early effect, high-injection knee currents, leakage, and parasitic resistances. Uses only IS, BF, BR, NF, NR from the model. Approximately 3× faster per NR iteration than GummelPoon.
Suitable for clean amplifier stages where GP advanced effects are negligible at the operating point.
GummelPoon
Full Gummel-Poon BJT model (default for BJTs).
Includes Early effect, high-injection, leakage, and parasitic resistances. More accurate but more expensive per NR iteration.
Trait Implementations§
Source§impl Clone for SolverMethod
impl Clone for SolverMethod
Source§fn clone(&self) -> SolverMethod
fn clone(&self) -> SolverMethod
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SolverMethod
Source§impl Debug for SolverMethod
impl Debug for SolverMethod
Source§impl Default for SolverMethod
impl Default for SolverMethod
Source§fn default() -> SolverMethod
fn default() -> SolverMethod
impl Eq for SolverMethod
Source§impl PartialEq for SolverMethod
impl PartialEq for SolverMethod
Source§fn eq(&self, other: &SolverMethod) -> bool
fn eq(&self, other: &SolverMethod) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SolverMethod
Auto Trait Implementations§
impl Freeze for SolverMethod
impl RefUnwindSafe for SolverMethod
impl Send for SolverMethod
impl Sync for SolverMethod
impl Unpin for SolverMethod
impl UnsafeUnpin for SolverMethod
impl UnwindSafe for SolverMethod
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
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
key and return true if they are equal.