Skip to main content

Module nonlinear

Module nonlinear 

Expand description

Nonlinear WDF root elements: Diodes, JFETs, MOSFETs, Zener diodes, OTAs.

These elements sit at the tree root and use Newton-Raphson iteration to solve the implicit WDF constraint equation for the reflected wave.

Also includes the slew rate limiter (models op-amp bandwidth limiting), OTA (operational transconductance amplifier) for CA3080-based circuits, and delay line implementations (BBD and generic).

Modules§

diode
Diode WDF root elements: silicon, germanium, LED, zener.
solver
Shared Newton-Raphson solver and numerical utilities for nonlinear WDF roots.

Structs§

BbdDelayLine
BBD delay line processor.
BbdModel
BBD delay line model parameters.
BjtGummelPoonRoot
3-port R-type adaptor for Gummel-Poon BJT.
BjtRoot
BJT as a single-port WDF root (like TriodeRoot for tubes).
BjtTwoPort
2-port BJT for the multi-NL grouped solver.
DelayLine
Generic delay line: a ring buffer with WDF-compatible ports.
DiffPairRoot
Diff-pair macromodel for ladder filter stages (Moog/303/Korg).
DiodeModel
Diode model parameters derived from the Shockley equation.
DiodePairRoot
Anti-parallel diode pair at the tree root.
DiodeRoot
Single diode at the tree root (asymmetric clipping).
EbersMollTwoPort
Simplified Ebers-Moll BJT model for deterministic-cost NR evaluation.
ExplicitDiodePairRoot
Anti-parallel diode pair WDF root using the explicit Wright Omega solver.
ExplicitDiodeRoot
Single diode WDF root using the explicit Wright Omega solver.
FeedbackConfig
Configuration for a feedback pot in an op-amp gain stage.
GummelPoonModel
Gummel-Poon BJT model parameters.
JaCoreModel
JaMagnetizingRoot
JaState
JfetModel
JFET model parameters in standard SPICE Level 1 parameterization.
JfetRoot
JFET nonlinear root for WDF trees.
MosfetModel
Enhancement-mode MOSFET model parameters.
MosfetRoot
Enhancement-mode MOSFET nonlinear root for WDF trees.
OpAmpModel
Op-amp model parameters for WDF integration.
OpAmpRoot
Models op-amp behavior in two topologies:
OtaModel
CA3080 OTA model parameters.
OtaRoot
OTA nonlinear root for WDF trees.
PentodeModel
Pentode model parameters using a screen-referenced Koren equation.
PentodeRoot
Pentode nonlinear root for WDF trees.
PentodeThreePort
3-port Koren pentode for use with the grouped multi-port NR solver.
SlewRateLimiter
Models op-amp slew rate limiting for physically accurate WDF processing.
SolverStatsSnapshot
SolverTraceEntry
A single entry in the solver trace buffer, recorded per NR solve call.
SpringModel
Named spring-tank model parameters (Accutronics / RE-201 grounded).
SpringTank
Spring reverb tank: a sum of detuned dispersive [SpringLine]s with an output DC blocker and a per-instance dwell/drive input trim.
Tap
A read-only tap into a DelayLine.
TapeHeadVoltageRoot
TriodeModel
Triode model parameters using the Koren equation.
TriodeRoot
Triode nonlinear root for WDF trees.
TriodeThreePort
3-port Koren triode for use with the grouped multi-port NR solver.
VariMuModel
Variable-mu triode model parameters using the Raffensperger equation.
VariMuThreePort
3-port variable-mu triode for use with the grouped multi-port NR solver.
VariMuTriodeRoot
Variable-mu triode nonlinear root for WDF trees.
WdfJaMagnetizing
WdfTapeHeadVoltage
ZenerModel
Zener diode model parameters.
ZenerPairRoot
Anti-parallel zener pair at the tree root.
ZenerRoot
Zener diode at the tree root.
ZoneBoundary
A zone boundary along the virtual delay path.

Enums§

DiodeSolverMethod
Per-instance diode solver method selector.
Interpolation
Interpolation mode for delay line read pointer.
Medium
Physical storage medium model for the delay buffer.
MediumPreset
Pre-configured medium settings for common tape echo models.
OpAmpMode
Op-amp nonlinear root for WDF trees.

Functions§

bbd_soft_clip
BBD soft clipping characteristic.
disable_grouped_residual_log
Disable per-iteration residual logging and return the accumulated residuals.
disable_solver_trace
Disable per-solve tracing and return the accumulated trace entries. Returns an empty vec if tracing was not enabled.
enable_grouped_residual_log
Enable per-iteration residual logging for the grouped solver (std + test diagnostic). Each grouped-NR iteration appends its residual norm so callers can assert the Armijo line search produces a monotone non-increasing residual. Call disable_grouped_residual_log to retrieve the buffer.
enable_solver_trace
Enable per-solve tracing. Each NR solve will append a SolverTraceEntry to an internal buffer pre-allocated with capacity entries. Call disable_solver_trace() to retrieve and consume the buffer.
explicit_diode_pair
Explicit closed-form reflected wave for an anti-parallel diode pair.
explicit_single_diode
Explicit closed-form reflected wave for a single diode.
reset_solver_stats
solver_stats_snapshot
tape_saturation
Tape magnetic hysteresis saturation.
wright_omega
Compute the Wright Omega function ω(x), the real branch of the solution to ω + ln(ω) = x.