Benchmark scorecard
Compare PWMSim and LTspice using the same downloadable netlists, clear measurement steps, and stated tolerances.
Complete gallery-example LTspice coverage
This table includes every public example. For numerical rows, the browser circuit is exported and the exported file is run in LTspice. Other rows name the first PWMSim-only component that prevents an accurate export.
| gallery example | LTspice status | named measure PWMSim / LTspice | delta | declared gates |
|---|---|---|---|---|
| Buck Converter — CCM download LTspice measurement deck | NUMERICAL PASS | output mean 0.881479 V / 0.896857 V | 1.715% | 5/5 PASS |
| Measurement recipe: last 10 switching periods on a shared 4001-point grid. Boundary: Simplified fixed-gate power stage with analytic and LTspice evidence; not validation of closed-loop control, package parasitics, or hardware performance. | ||||
| Buck — CCM/DCM Load Boundary download LTspice measurement deck | NUMERICAL PASS | output mean 0.881479 V / 0.896857 V | 1.715% | 5/5 PASS |
| Measurement recipe: last 10 switching periods on a shared 4001-point grid. Boundary: The default 1 Ω point has catalog-level LTspice parity; the swept CCM/DCM transition points are not independently compared or promoted. | ||||
| Buck — Startup vs Periodic Steady State download LTspice measurement deck | NUMERICAL PASS | output mean 0.881483 V / 0.890425 V | 1.004% | 5/5 PASS |
| Measurement recipe: last 10 switching periods on a shared 4001-point grid. Boundary: The final transient operating point has catalog-level LTspice parity; startup waveform shape and the direct periodic-orbit method are not pointwise comparison claims. | ||||
| PI Buck — 5 V Regulation | NO FAITHFUL EXPORT | S1: sampled PI control has no faithful portable SPICE-card export | ||
| Boundary: Application example of the native sampled PI law; not an externally validated hardware design. | ||||
| PI Buck — Line and Load Steps | NO FAITHFUL EXPORT | S1: sampled PI control has no faithful portable SPICE-card export | ||
| Boundary: Application stress example reproduced from the native/Python controller cross-check; not hardware validation. | ||||
| Hysteretic Buck — Comparator Control | NO FAITHFUL EXPORT | A1: comparator is a native-only component and has no faithful portable SPICE-card export | ||
| Boundary: Demonstration of the native comparator and voltage-controlled switch models; not a reproduced corpus case or a validated design. | ||||
| Duty-Commanded Buck — Control-to-Output | NO FAITHFUL EXPORT | S1: duty-commanded PWM modulation has no faithful portable SPICE-card export | ||
| Boundary: Demonstration of the duty-modulated switch and the control-to-output sweep; not a reproduced corpus case or a validated design. | ||||
| Peak Current-Mode Buck | NO FAITHFUL EXPORT | S1: peak current-mode PWM has no faithful portable SPICE-card export | ||
| Boundary: Demonstration of the native peak-current-mode switch; not a reproduced corpus case or a validated design. | ||||
| Peak Current-Mode Buck — Command and Load | NO FAITHFUL EXPORT | S1: peak current-mode PWM has no faithful portable SPICE-card export | ||
| Boundary: Native peak-current-mode behavior example; no vendor controller, hardware loop, or LTspice comparison is claimed. | ||||
| Boost Converter — CCM download LTspice measurement deck | NUMERICAL PASS | output mean 3.2813 V / 3.28392 V | 0.080% | 5/5 PASS |
| Measurement recipe: last 10 switching periods on a shared 4001-point grid. Boundary: Simplified fixed-gate power stage with analytic and LTspice evidence; not validation of closed-loop control, package parasitics, or hardware performance. | ||||
| Boost — Duty and Load Sweeps download LTspice measurement deck | NUMERICAL PASS | output mean 3.2813 V / 3.28392 V | 0.080% | 5/5 PASS |
| Measurement recipe: last 10 switching periods on a shared 4001-point grid. Boundary: The default boost point has catalog-level LTspice parity; the suggested duty and load sweep points are not independently compared or promoted. | ||||
| Flyback Converter — CCM download LTspice measurement deck | NUMERICAL PASS | output mean 5.04873 V / 5.14409 V | 1.854% | 2/2 PASS |
| Measurement recipe: last 10 switching periods on a shared 4001-point grid. Current shape is diagnostic across ideal coupled-winding commutation. Boundary: Nominal 48 V fixed-command flyback-CCM power stage with unchanged-source shallow-CCM provenance, periodic PWMSim evidence, and matched LTspice output, mode, and volt-second gates. Not validation of source-controller behavior, load range, package parasitics, or hardware performance. Ripple and primary-current shape remain diagnostic. | ||||
| Flyback — Turns Ratio and Load download LTspice measurement deck | NUMERICAL PASS | output mean 5.04873 V / 5.14409 V | 1.854% | 2/2 PASS |
| Measurement recipe: last 10 switching periods on a shared 4001-point grid. Current shape is diagnostic across ideal coupled-winding commutation. Boundary: The default flyback point has bounded catalog-level LTspice output parity; altered turns-ratio and load points are not independently compared or promoted. | ||||
| Diode Reverse-Recovery Pulse download LTspice measurement deck | NUMERICAL PASS | reverse-current minimum -4.96928 A / -4.96967 A | 0.008% | 3/3 PASS |
| Measurement recipe: full-transient reverse-recovery landmarks. Boundary: Generic charge-control diode cell with LTspice parity for reverse-current minimum and timing; not a vendor model, datasheet fit, switching-loss, or hardware claim. | ||||
| IGBT Clamped Inductive Switching | NO FAITHFUL EXPORT | Z1: igbt is a native-only component and has no faithful portable SPICE-card export | ||
| Boundary: Demonstration of the native IGBT device model in a clamped inductive cell; not a reproduced corpus case, a switching-loss claim, or a datasheet comparison. | ||||
| Thyristor Latching Load Switch | NO FAITHFUL EXPORT | Y1: scr is a native-only component and has no faithful portable SPICE-card export | ||
| Boundary: Demonstration of the native SCR latching model; not a reproduced corpus case or a device-datasheet comparison. | ||||
| Saturable Inductor — Saturation Knee | NO FAITHFUL EXPORT | L1: satind is a native-only component and has no faithful portable SPICE-card export | ||
| Boundary: Demonstration of the native saturable-inductor model; not a reproduced corpus case or a core-datasheet comparison. | ||||
| DC Motor Start-Up | NO FAITHFUL EXPORT | A1: motor is a native-only component and has no faithful portable SPICE-card export | ||
| Boundary: Demonstration of the native DC machine model; not a reproduced corpus case or a motor-datasheet comparison. | ||||
Portable PWMSim / LTspice benchmarks
You can download and run every netlist in this section. PWMSim and LTspice use the same file and the listed measurement steps. The page does not use averaged or hand-picked results.
Each case is defined by the portable netlist in bench/cases/. Analytic result grades PWMSim against an equation or bounded expectation where one exists. LTspice parity is a separate, per-measure PWMSim/LTspice gate; it never means that unlisted converter behavior was tested. buck_rr_loss runs on PWMSim as the compiled co-simulation equivalent of its netlist.
LTspice columns were measured with LTspice 26.0.2. The recovery case uses matched Vp=0.65 modified charge control and a 5 ns LTspice maximum timestep. Converter operating-point rows use a 4001-point shared grid over the last 20 switching periods, with 2% mean/RMS, 5% extrema, and 10% peak-to-peak relative gates plus the declared absolute fallbacks.
rlc_step
Not tested: frequency-domain response and parameter sweeps
| metric | analytic reference | expected | PWMSim | analytic error | analytic result | LTspice | PWMSim↔LTspice delta | LTspice parity |
|---|---|---|---|---|---|---|---|---|
| v_C peak overshoot (V) | 1+exp(-zeta*pi/sqrt(1-zeta^2)), zeta=0.158 | 1.60468 | 1.6047 | 0.00% | PASS | 1.60473 | 0.00% (1% rel) | PASS |
| time to peak (after step) (us) | pi/wd, wd=w0*sqrt(1-zeta^2) | 100.611 | 100.87 | 0.26% | PASS | 100.053 | 0.82% (2% rel) | PASS |
| final value (V) | DC gain = 1 | 1 | 0.99996 | 0.00% | PASS | 0.99996 | 0.00% (0.2% rel) | PASS |
measurement recipes: v_C peak overshoot — MAX(V(b)) over the full .tran; time to peak (after step) — time of MAX(V(b)) minus 100us step time; final value — AVG(V(b)) over the last 0.1ms
buck_ccm
Not tested: edge-aligned waveform error, startup/load transients, losses, device stress, and timestep convergence
| metric | analytic reference | expected | PWMSim | analytic error | analytic result | LTspice | PWMSim↔LTspice delta | LTspice parity |
|---|---|---|---|---|---|---|---|---|
| output voltage mean (V) | Vout = D*Vin | 6 | 5.9978 | 0.04% | PASS | 6.00783 | 0.17% (2% rel) | PASS |
| output voltage RMS (V) | same-netlist operating-point measure | - | 5.9978 | - | NOT GATED | 6.00783 | 0.17% (2% rel) | PASS |
| output voltage minimum (V) | same-netlist operating-point measure | - | 5.9948 | - | NOT GATED | 6.00484 | 0.17% (5% rel) | PASS |
| output voltage maximum (V) | same-netlist operating-point measure | - | 6.0011 | - | NOT GATED | 6.01139 | 0.17% (5% rel) | PASS |
| output voltage peak-to-peak (V) | order: di/(8fswCo) | [0.00187432 .. 0.00937162] | 0.0063264 | in [0.00187432, 0.00937162] | PASS | 0.00655537 | 3.49% (10% rel or 0.05 V abs) | PASS |
| inductor current mean (A) | same-netlist operating-point measure | - | 1.5008 | - | NOT GATED | 1.50053 | 0.02% (2% rel) | PASS |
| inductor current RMS (A) | same-netlist operating-point measure | - | 1.5033 | - | NOT GATED | 1.50302 | 0.02% (2% rel) | PASS |
| inductor current minimum (A) | CCM requires I(L1) > 1 mA | [0.001 .. inf] | 1.3496 | in [0.001, inf] | PASS | 1.34997 | 0.03% (5% rel or 0.001 A abs) | PASS |
| inductor current maximum (A) | same-netlist operating-point measure | - | 1.6512 | - | NOT GATED | 1.65086 | 0.02% (5% rel) | PASS |
| inductor current peak-to-peak (A) | di = Vout(1-D)/(Lfsw) | 0.299892 | 0.30162 | 0.57% | PASS | 0.300896 | 0.24% (10% rel or 0.15 A abs) | PASS |
measurement recipes: output voltage mean — MEAN(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage RMS — RMS(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage minimum — MINIMUM(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage maximum — MAXIMUM(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage peak-to-peak — PEAK-TO-PEAK(V(out)) on a 4001-point uniform grid over the last 20 switching periods; inductor current mean — MEAN(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current RMS — RMS(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current minimum — MINIMUM(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current maximum — MAXIMUM(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current peak-to-peak — PEAK-TO-PEAK(I(L1)) on a 4001-point uniform grid over the last 20 switching periods
buck_dcm
Not tested: edge-aligned waveform error, startup/load transients, losses, device stress, and timestep convergence
| metric | analytic reference | expected | PWMSim | analytic error | analytic result | LTspice | PWMSim↔LTspice delta | LTspice parity |
|---|---|---|---|---|---|---|---|---|
| output voltage mean (V) | Erickson M=2/(1+sqrt(1+4K/D^2)), K=2L/(R*Ts) | 7.65703 | 7.6571 | 0.00% | PASS | 7.66884 | 0.15% (2% rel) | PASS |
| output voltage RMS (V) | same-netlist operating-point measure | - | 7.6571 | - | NOT GATED | 7.66884 | 0.15% (2% rel) | PASS |
| output voltage minimum (V) | same-netlist operating-point measure | - | 7.6527 | - | NOT GATED | 7.66404 | 0.15% (5% rel) | PASS |
| output voltage maximum (V) | same-netlist operating-point measure | - | 7.6616 | - | NOT GATED | 7.67396 | 0.16% (5% rel) | PASS |
| output voltage peak-to-peak (V) | same-netlist operating-point measure | - | 0.0088421 | - | NOT GATED | 0.00991976 | 10.86% (10% rel or 0.05 V abs) | PASS |
| inductor current mean (A) | same-netlist operating-point measure | - | 0.15324 | - | NOT GATED | 0.152866 | 0.25% (2% rel) | PASS |
| inductor current RMS (A) | same-netlist operating-point measure | - | 0.25809 | - | NOT GATED | 0.257511 | 0.23% (2% rel) | PASS |
| inductor current minimum (A) | DCM reaches the ±1 mA zero neighborhood | [-0.001 .. 0.001] | -3.3193e-06 | in [-0.001, 0.001] | PASS | 4.3264e-06 | 176.72% (5% rel or 0.001 A abs) | PASS |
| inductor current maximum (A) | same-netlist operating-point measure | - | 0.65181 | - | NOT GATED | 0.649938 | 0.29% (5% rel) | PASS |
| inductor current peak-to-peak (A) | same-netlist operating-point measure | - | 0.65181 | - | NOT GATED | 0.649934 | 0.29% (10% rel or 0.15 A abs) | PASS |
measurement recipes: output voltage mean — MEAN(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage RMS — RMS(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage minimum — MINIMUM(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage maximum — MAXIMUM(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage peak-to-peak — PEAK-TO-PEAK(V(out)) on a 4001-point uniform grid over the last 20 switching periods; inductor current mean — MEAN(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current RMS — RMS(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current minimum — MINIMUM(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current maximum — MAXIMUM(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current peak-to-peak — PEAK-TO-PEAK(I(L1)) on a 4001-point uniform grid over the last 20 switching periods
boost_ccm
Not tested: edge-aligned waveform error, startup/load transients, losses, device stress, and timestep convergence
| metric | analytic reference | expected | PWMSim | analytic error | analytic result | LTspice | PWMSim↔LTspice delta | LTspice parity |
|---|---|---|---|---|---|---|---|---|
| output voltage mean (V) | Vout = Vin/(1-D) | 24 | 23.996 | 0.02% | PASS | 24.0028 | 0.03% (2% rel) | PASS |
| output voltage RMS (V) | same-netlist operating-point measure | - | 23.996 | - | NOT GATED | 24.0028 | 0.03% (2% rel) | PASS |
| output voltage minimum (V) | same-netlist operating-point measure | - | 23.924 | - | NOT GATED | 23.9358 | 0.05% (5% rel) | PASS |
| output voltage maximum (V) | same-netlist operating-point measure | - | 24.062 | - | NOT GATED | 24.0648 | 0.01% (5% rel) | PASS |
| output voltage peak-to-peak (V) | same-netlist operating-point measure | - | 0.13794 | - | NOT GATED | 0.129018 | 6.92% (10% rel or 0.05 V abs) | PASS |
| inductor current mean (A) | same-netlist operating-point measure | - | 2.4043 | - | NOT GATED | 2.40136 | 0.12% (2% rel) | PASS |
| inductor current RMS (A) | same-netlist operating-point measure | - | 2.4105 | - | NOT GATED | 2.40757 | 0.12% (2% rel) | PASS |
| inductor current minimum (A) | CCM requires I(L1) > 1 mA | [0.001 .. inf] | 2.1013 | in [0.001, inf] | PASS | 2.09825 | 0.15% (5% rel or 0.001 A abs) | PASS |
| inductor current maximum (A) | same-netlist operating-point measure | - | 2.7051 | - | NOT GATED | 2.70307 | 0.07% (5% rel) | PASS |
| inductor current peak-to-peak (A) | same-netlist operating-point measure | - | 0.60376 | - | NOT GATED | 0.604815 | 0.17% (10% rel or 0.15 A abs) | PASS |
measurement recipes: output voltage mean — MEAN(V(out)) on a 4001-point uniform grid over the last 20 switching periods (the deck allows 12 ms settling; RC≈1 ms); output voltage RMS — RMS(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage minimum — MINIMUM(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage maximum — MAXIMUM(V(out)) on a 4001-point uniform grid over the last 20 switching periods; output voltage peak-to-peak — PEAK-TO-PEAK(V(out)) on a 4001-point uniform grid over the last 20 switching periods; inductor current mean — MEAN(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current RMS — RMS(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current minimum — MINIMUM(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current maximum — MAXIMUM(I(L1)) on a 4001-point uniform grid over the last 20 switching periods; inductor current peak-to-peak — PEAK-TO-PEAK(I(L1)) on a 4001-point uniform grid over the last 20 switching periods
rectifier_diode
Not tested: diode-current waveform, loss, temperature, and timestep convergence
| metric | analytic reference | expected | PWMSim | analytic error | analytic result | LTspice | PWMSim↔LTspice delta | LTspice parity |
|---|---|---|---|---|---|---|---|---|
| peak rectified Vout (V) | 5V peak minus exponential-junction drop under load | [3.6 .. 3.95] | 3.7771 | in [3.6, 3.95] | PASS | 3.77677 | 0.01% (2% rel) | PASS |
| mean Vout (t>2ms) (V) | peak minus RC droop (tau=R*C=10ms >> half-cycle) | [3 .. 3.7] | 3.4591 | in [3, 3.7] | PASS | 3.45885 | 0.01% (2% rel) | PASS |
measurement recipes: peak rectified Vout — MAX(V(out)); the diode uses .model Is=1e-14 N=1.2; mean Vout (t>2ms) — AVG(V(out)) from 2ms to 6ms
buck_rr_loss
Not tested: device-stress waveform parity, temperature, and hardware equivalence
| metric | analytic reference | expected | PWMSim | analytic error | analytic result | LTspice | PWMSim↔LTspice delta | LTspice parity |
|---|---|---|---|---|---|---|---|---|
| efficiency, TT=0 baseline (%) | PWMSim reference (validation Tier 24) | 95.94 | 95.944 | 0.00% | PASS | 95.4263 | 0.54% (2% rel) | PASS |
| efficiency, TT=100ns (%) | PWMSim reference (validation Tier 24) | 90.72 | 90.722 | 0.00% | PASS | 89.629 | 1.22% (2% rel) | PASS |
| recovery loss delta (mW) | loss(TT=100n) - loss(TT=0); ideal diode predicts 0 | 296.8 | 296.8 | 0.00% | PASS | 335.076 | 11.42% (15% rel) | PASS |
measurement recipes: efficiency, TT=0 baseline — Pout/Pin over last 30 periods; Pin=Vin*I(S1), Pout=V(out)^2/R; set diode TT=0 Cjo=50p; efficiency, TT=100ns — same, with the netlist's TT=100n diode model; recovery loss delta — difference of (Pin-Pout) between the two runs
Generated from the checked-in scorecard and validation records, which are the sources of truth. The records ship beside this page unedited, in the internal name the harness wrote them under.