Triangular ripple
The unit test verifies the implemented Ipp / (8 f C) relationship.
Focused child case · power electronics · verified 28 July 2026
Two inspectable relationships estimate voltage ripple for an ideal triangular capacitor-current waveform and minimum capacitance for a defined constant-power energy pulse.
Engineering question
These are first-pass checks for exposing current, frequency, energy, bus-voltage, and allowable-drop assumptions before switching, lifetime, thermal, tolerance, and component studies.
Explanatory architecture
Source, capacitor, converter, and load define the boundary; waveform and voltage-window assumptions determine which relationship applies.
Open full-size figureEnergy-pulse relationship
The companion ripple relationship assumes a zero-mean triangular capacitor-current waveform: ΔVpp = Ipp / (8 f C).
| Parameter | Unit | Physical Domain | Constraint & Invariant |
|---|---|---|---|
| V₁ (Initial bus voltage) | V | V₁ > 0 | Must exceed minimum voltage: V₁ > V₂ |
| V₂ (Minimum post-pulse voltage) | V | 0 < V₂ < V₁ | V₂ = V₁ − ΔV; ΔV < V₁ required |
| E (Pulse energy) | J | E > 0 | E = P · Δt for constant power P and duration Δt |
| Cmin (Minimum capacitance) | F | Cmin > 0 | Invalid windows (ΔV ≥ V₁ or non-finite inputs) rejected |
For a 20 kW pulse of duration 20 ms on an 800 V bus with an allowed voltage drop of 80 V (V₂ = 720 V):
Verified result
The figure states 20 App at 10 kHz and a 20 kW, 20 ms pulse at 800 V. It is generated from the pinned Python relationships, not manually invented data.
mohammadrezwankhan/battery-power-models · commit 7d9f61f · src/dc_link.pyValidation and evidence
The unit test verifies the implemented Ipp / (8 f C) relationship.
A valid constant-power pulse produces positive capacitance from the exact capacitor-energy change.
The implementation rejects an allowed drop that equals or exceeds the initial bus voltage.
MATLAB equivalents are present. The automated six-test repository count comes from the Python suite across thermal and DC-link families.
Reproduction instructions
Clone the pinned model repository to execute the analytical functions and unit tests:
git clone https://github.com/mohammadrezwankhan/battery-power-models.git
cd battery-power-models
git checkout 7d9f61f1ebdca73f9facce5129f79805b1747ed0
python src/dc_link.py
python -m unittest discover -s tests -v
Prerequisites: Python 3.10+ (standard library only). Optional MATLAB parity script matlab/dc_link_ripple.m is provided for environments with a licensed MATLAB runtime.
The retained SVG, PNG, and CSV are downloadable. Rebuilding this site figure depends on a generator in the private portfolio repository; it has no established public license and is unavailable anonymously.
The public battery-power-models Python source remains runnable independently. Retaining these generated outputs does not mean the private website generator is publicly reproducible.
Inspect or download the retained dataset directly: Download dc-link-sizing.csv.
Engineering boundary
Parent and related context
Reviewed 2026-11-12; evidence records retain their own scope and dates.
7d9f61f1ebdca73f9facce5129f79805b1747ed031cad57f6224a6460e07a68c74df7c219549be61682d43c769e82c0fe0c8d6ed2a2934c9fad6be35 · inventory snapshot only