power-electronics-ai999x — offline, verified power electronics solver with step-by-step answers

Desktop app & command line · Compute in your browser · Install (Python) · Guides · Evaluation · AI999X on Hugging Face · Website · Support: Buy Me a Coffee

License: Apache-2.0 · Author: Ibnul Jaif Farabi (creator and engineer) · Organization: AI999X · Version 1.0.0

Field: Engineering · Tasks: Question Answering, Sentence Similarity, Feature Extraction

power-electronics-ai999x is an offline, deterministic Python solver that answers power electronics questions with verified results from 79 certified capabilities, gives 482 documented answers identically on Windows and Linux, and refuses rather than guesses when an answer cannot be verified.

power-electronics-ai999x is a compact, deterministic power electronics engine for Python. It reads a question in plain English (or a typed call), picks a certified power electronics capability, computes the answer exactly, checks it, and returns the result with its steps, units, LaTeX and assumptions — or an honest refusal that says what is missing. It runs fully offline on any CPU, needs no GPU, no API key and no internet, and is built to give zero wrong answers: when it is not sure, it refuses instead of guessing.

Buy me a coffee License Python Offline Rust

Run it your way. power-electronics-ai999x comes as the AI999X desktop app and as the command-line program power-electronics for Windows and Linux, runs in your browser as WebAssembly, and installs as a Python package. The desktop app, the command line and the browser run the same compiled Rust program on your own device: offline, no Python needed.

Get it

Way to run it For Get it
AI999X Power Electronics desktop app 1.2.0 Windows, Linux — this model in its own app: search, ask in words, forms, live figures, explanations, offline Windows (x86-64) · Linux (x86-64)
AI999X desktop app 1.2.0 Windows, Linux — every AI999X model in one app: search, ask in words, forms, live figures, explanations, offline Windows (x86-64) · Linux (x86-64)
Command line (power-electronics) Windows, Linux — one program per model, offline, no Python Windows (x86-64) · Linux (x86-64)
In your browser any device — nothing to install Compute on the model page
Python Python 3.10+ pip install power-electronics-ai999x

Checksums: SHA256SUMS · every version: https://www.ai999x.com/downloads/desktop/latest/ · install guide: desktop & command line

Rust versions

Power Electronics also comes as native programs compiled from Rust, version 1.2.0 of the AI999X desktop app and command line: they run offline on your computer and need no Python. Each file is in this repository's rust/ folder, on the GitHub release v1.0.0 and on the website.

Program System File Size Download Use
Desktop app (Power Electronics) Windows x86-64 ai999x-power-electronics-1.2.0-windows-x86_64.zip 7.1 MB Hub · GitHub · website unzip, then double-click ai999x-power-electronics.exe (no installer)
Desktop app (Power Electronics) Linux x86-64 ai999x-power-electronics-1.2.0-linux-x86_64.tar.gz 8.0 MB Hub · GitHub · website extract, then run ./ai999x-power-electronics (X11 or Wayland desktop)
Command line (power-electronics) Windows x86-64 ai999x-power-electronics-cli-1.2.0-windows-x86_64.zip 2.9 MB Hub · GitHub · website (all models) unzip, then power-electronics.exe ask "<question>" or power-electronics.exe solve <capability> name=value
Command line (power-electronics) Linux x86-64 ai999x-power-electronics-cli-1.2.0-linux-x86_64.tar.gz 2.9 MB Hub · GitHub · website (all models) extract, then ./power-electronics ask "<question>" or ./power-electronics solve <capability> name=value

The command-line archive holds power-electronics with a README of its commands and examples, the licence and the notice. Checksums: rust/SHA256SUMS (sha256sum -c SHA256SUMS).

Quick start

Desktop app

Download AI999X Power Electronics for your system (above), unpack it and start it; type a question in words or pick a capability, fill in the form and press Compute. Figures and an explanation of the answer appear beside it. The AI999X desktop app has the same, with Power Electronics among all AI999X models.

Linux, from a terminal:

curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/ai999x-power-electronics-1.2.0-linux-x86_64.tar.gz
curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
tar xzf ai999x-power-electronics-1.2.0-linux-x86_64.tar.gz
./ai999x-power-electronics-1.2.0-linux-x86_64/ai999x-power-electronics

Command line

Linux:

curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/ai999x-cli-1.2.0-linux-x86_64.tar.gz
curl -LO https://www.ai999x.com/downloads/desktop/1.2.0/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
mkdir -p ~/.local/share && tar xzf ai999x-cli-1.2.0-linux-x86_64.tar.gz -C ~/.local/share
echo 'export PATH="$HOME/.local/share/ai999x-cli-1.2.0-linux-x86_64:$PATH"' >> ~/.bashrc && source ~/.bashrc
power-electronics --version

Windows (PowerShell):

$F = "ai999x-cli-1.2.0-windows-x86_64.zip"
Invoke-WebRequest "https://www.ai999x.com/downloads/desktop/1.2.0/$F" -OutFile $F
Invoke-WebRequest "https://www.ai999x.com/downloads/desktop/1.2.0/SHA256SUMS" -OutFile SHA256SUMS
(Get-FileHash $F -Algorithm SHA256).Hash.ToLower() -eq ((Select-String -SimpleMatch $F SHA256SUMS).Line -split ' ')[0]
Expand-Archive $F -DestinationPath "$env:LOCALAPPDATA\AI999X" -Force
$D = "$env:LOCALAPPDATA\AI999X\ai999x-cli-1.2.0-windows-x86_64"; $env:Path += ";$D"
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$D", "User")
power-electronics --version

Every command below was run as shown; the text under it is what the program printed.

Ask in words — Write the question as you would say it: the program reads the quantities and their units, picks the capability and answers.

$ power-electronics ask "Buck converter in CCM: Vin = 24 V, Vout = 5 V, L = 22 uH, fs = 200 kHz, Io = 3 A"
Read as: Buck converter in continuous conduction
D = 0.2083333333
dIL = 0.8996212121 A
IL_max = 3.449810606 A
IL_min = 2.550189394 A
ripple_ratio = 0.2998737374
Iin = 0.625 A
  by: Buck converter in continuous conduction  (D = Vout/Vin; dIL = (Vin - Vout) D/(L fs); IL = Io; IL_max,min = Io +- dIL/2; Iin = D Io)
  Io = 3 A
  L = 2.2e-05 H
  Vin = 24 V
  Vout = 5 V
  fs = 200000 Hz
  assumes: 0 < Vout < Vin; continuous conduction (IL_min > 0)

What a capability needs — The equation or method, every input and output with its SI unit. Read this before solve: it tells you the input names.

$ power-electronics info pe_buck_ccm
Buck converter in continuous conduction
  D = Vout/Vin; dIL = (Vin - Vout) D/(L fs); IL = Io; IL_max,min = Io +- dIL/2; Iin = D Io
  in   Vin      input voltage [V]
  in   Vout     output voltage [V]
  in   L        inductance [H]
  in   fs       switching frequency [Hz]
  in   Io       load (output) current [A]
  out  D        duty cycle [1]
  out  dIL      peak-to-peak inductor ripple [A]
  out  IL_max   peak inductor current [A]
  out  IL_min   valley inductor current [A]
  out  ripple_ratio ripple ratio dIL/Io [1]
  out  Iin      average input current [A]

Solve — Inputs as name=value, each with any unit of the right kind. The answer lists every output, the method used, each input converted to SI, and the conditions the answer assumes.

$ power-electronics solve pe_buck_ccm "Vin=24 V" "Vout=5 V" "L=22 uH" "fs=200 kHz" "Io=3 A"
D = 0.2083333333
dIL = 0.8996212121 A
IL_max = 3.449810606 A
IL_min = 2.550189394 A
ripple_ratio = 0.2998737374
Iin = 0.625 A
  by: Buck converter in continuous conduction  (D = Vout/Vin; dIL = (Vin - Vout) D/(L fs); IL = Io; IL_max,min = Io +- dIL/2; Iin = D Io)
  Vin = 24 V
  Vout = 5 V
  L = 2.2e-05 H
  fs = 200000 Hz
  Io = 3 A
  assumes: 0 < Vout < Vin; continuous conduction (IL_min > 0)

Many questions at once — One JSON request per line in, one JSON answer per line out, in order: for scripts, notebooks and agents (the program starts once). In PowerShell: Get-Content cases.jsonl | power-electronics batch

cases.jsonl:

{"key": "pe_buck_ccm", "inputs": {"Vin": "24 V", "Vout": "5 V", "L": "22 uH", "fs": "200 kHz", "Io": "3 A"}}
{"key": "pe_three_phase_controlled_rectifier", "inputs": {"VLL": "415 V", "alpha": "45 deg", "Id": "50 A"}}
$ power-electronics batch < cases.jsonl
{"outcome":"SOLVED","message":"","value":0.899621212121,"unit":"A","solved_for":"dIL","si":[["Vin",24.0],["Vout",5.0],["L",0.000022],["fs",200000.0],["Io",3.0]],"values":[["D",0.208333333333,""],["dIL",0.899621212121,"A"],["IL_max",3.44981060606,"A"],["IL_min",2.55018939394,"A"],["ripple_ratio",0.299873737374,""],["Iin",0.625,"A"]],"target":"dIL","phrase":"duty cycle","assumptions":["0 < Vout < Vin","continuous conduction (IL_min > 0)"],"name":"Buck converter in continuous conduction","equation":"D = Vout/Vin; dIL = (Vin - Vout) D/(L fs); IL = Io; IL_max,min = Io +- dIL/2; Iin = D Io"}
{"outcome":"SOLVED","message":"","value":396.295808299,"unit":"V","solved_for":"Vdc","si":[["VLL",415.0],["alpha",0.7853981633974483],["Id",50.0]],"values":[["Vdc",396.295808299,"V"],["Vrms",415.0,"V"],["P",19814.7904149,"W"],["I_thy_avg",16.6666666667,"A"],["I_thy_rms",28.8675134595,"A"],["Is_rms",40.8248290464,"A"],["mode","rectifying",""]],"target":"Vdc","phrase":"average output voltage","assumptions":["0 <= alpha < 180 degrees","continuous constant current, no source inductance"],"name":"Three-phase fully controlled thyristor bridge","equation":"Vdc = 3 sqrt(2) VLL cos(alpha)/pi; Vrms = Vm sqrt(1/2 + 3 sqrt(3) cos(2 alpha)/(4 pi)); I_thy = Id/3 (avg), Id/sqrt(3) (rms)"}

In your browser

Open Power Electronics on ai999x.com, choose a capability and press Compute: the model runs on your own device as WebAssembly; nothing is sent anywhere. Change any input (any unit of the right kind) and the answer, its explanation and the figures follow.

In your own page: power_electronics_ai999x.wasm and the loader ax-wasm.js (https://www.ai999x.com/compute/rust/ax-wasm.js).

Python

pip install power-electronics-ai999x

Worked examples in every form

The same worked example from the command line, from Python and in the browser. Each command-line output is what the program printed.

Control-to-output transfer function of a DC-DC converter

The control-to-output (duty-to-voltage) transfer function features of an ideal buck, boost or buck-boost converter in continuous conduction: dc gain, double-pole frequency, quality factor and right-half-plane zero.

Command line:

$ power-electronics solve pe_converter_small_signal topology=boost "Vin=12 V" D=0.5 "L=50 uH" "C=100 uF" "R=10 ohm"
Gvd0 = 48 V
f0 = 1125.395395 Hz
Q = 7.071067812
f_rhpz = 7957.747155 Hz
rhp_zero = present
  by: Control-to-output transfer function of a DC-DC converter  (buck: Gvd0 = Vin, w0 = 1/sqrt(LC), Q = R sqrt(C/L); boost: Gvd0 = Vin/D'^2, w0 = D'/sqrt(LC), Q = D' R sqrt(C/L), wz = D'^2 R/L; buck-boost: wz = D'^2 R/(D L))
  Vin = 12 V
  D = 0.5
  L = 5e-05 H
  C = 0.0001 F
  R = 10 ohm
  topology = boost
  assumes: ideal converter in continuous conduction, no ESR

Python:

import power_electronics_ai999x as m

a = m.solve("pe_converter_small_signal", topology="boost", Vin="12 V", D="0.5", L="50 uH", C="100 uF", R="10 ohm")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

Peak current mode: subharmonic stability and slope compensation

The inductor current slopes, the period-to-period perturbation factor, the stability verdict and the smallest and the deadbeat compensation ramp slopes of a peak-current-mode buck converter.

Command line:

$ power-electronics solve pe_peak_current_mode_slope "Vin=12 V" "Vout=8 V" "L=10 uH" "fs=300 kHz" "ma=0.3 A/us"
D = 0.6666666667
m1 = 400000 A/s
m2 = 800000 A/s
alpha = -0.7142857143
stable = stable
ma_min = 200000 A/s
ma_deadbeat = 800000 A/s
  by: Peak current mode: subharmonic stability and slope compensation  (m1 = (Vin - Vo)/L, m2 = Vo/L; alpha = -(m2 - ma)/(m1 + ma); stable when |alpha| < 1; ma,min = (m2 - m1)/2)
  Vin = 12 V
  Vout = 8 V
  L = 1e-05 H
  fs = 300000 Hz
  ma = 300000 A/s
  assumes: 0 < Vout < Vin; continuous conduction

Python:

import power_electronics_ai999x as m

a = m.solve("pe_peak_current_mode_slope", Vin="12 V", Vout="8 V", L="10 uH", fs="300 kHz", ma="0.3 A/us")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

Boost converter in continuous conduction

The duty cycle, average inductor (input) current, inductor ripple, peak and valley currents and switch voltage stress of an ideal boost (step-up) converter in continuous conduction.

Command line:

$ power-electronics solve pe_boost_ccm "Vin=12 V" "Vout=48 V" "L=100 uH" "fs=100 kHz" "Io=1 A"
D = 0.75
IL = 4 A
dIL = 0.9 A
IL_max = 4.45 A
IL_min = 3.55 A
V_switch = 48 V
  by: Boost converter in continuous conduction  (D = 1 - Vin/Vout; IL = Io/(1 - D); dIL = Vin D/(L fs))
  Vin = 12 V
  Vout = 48 V
  L = 0.0001 H
  fs = 100000 Hz
  Io = 1 A
  assumes: Vout > Vin > 0; continuous conduction (IL_min > 0)

Python:

import power_electronics_ai999x as m

a = m.solve("pe_boost_ccm", Vin="12 V", Vout="48 V", L="100 uH", fs="100 kHz", Io="1 A")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

Boost converter in discontinuous conduction

The conversion ratio, output voltage, diode conduction interval D2, peak inductor current and load current of an ideal boost converter in discontinuous conduction.

Command line:

$ power-electronics solve pe_boost_dcm "Vin=12 V" "L=10 uH" "fs=100 kHz" "R=100 ohm" D=0.4
K = 0.02
M = 3.372281323
Vout = 40.46737588 V
D2 = 0.1686140662
I_pk = 4.8 A
Io = 0.4046737588 A
  by: Boost converter in discontinuous conduction  (M = (1 + sqrt(1 + 4 D^2/K))/2; D2 = D/(M - 1); I_pk = Vin D Ts/L)
  Vin = 12 V
  L = 1e-05 H
  fs = 100000 Hz
  R = 100 ohm
  D = 0.4
  assumes: K < D (1 - D)^2 (discontinuous conduction)

Python:

import power_electronics_ai999x as m

a = m.solve("pe_boost_dcm", Vin="12 V", L="10 uH", fs="100 kHz", R="100 ohm", D="0.4")
print(a.values or (a.value, a.unit))

Browser: open this capability on the model page and press Compute in your browser.

Documentation

Highlights

  • Verified, not generated. Every answer is computed by a certified power electronics capability and checked (substituted back, dimension-checked or compared with an independent computation) before it is returned.
  • Zero wrong answers by design. Seven explicit outcomes — SOLVED, NEEDS_INPUT, AMBIGUOUS, INVALID_INPUT, OUT_OF_SCOPE, UNRECOGNIZED_FORMAT, INTERNAL_ERROR — never a silent guess. Every one of its 482 documented answers is reproduced exactly on every tested platform.
  • Plain-English questions and a guaranteed typed interface. ask() reads documented question forms; solve(capability_id, **inputs) always solves a supported task with valid inputs.
  • Explains itself. Steps, formulas in LaTeX, units, assumptions and the model used, ready for notebooks, tutoring apps and homework checkers.
  • Native and in the browser. Every capability also computes natively in Rust: the desktop app and the power-electronics command line for Windows and Linux, and WebAssembly on the model page — no Python, no network.
  • Small and portable. Pure Python (sympy, mpmath); identical answers on Windows and Linux (Python 3.10, 3.11, 3.12, 3.13, 3.14).
  • Coverage: DC-DC converters, rectifiers, inverters and PWM, motor drives, device losses, thermal and magnetic design, resonant converters.

Model overview

Property Value
Package power-electronics-ai999x 1.0.0 (import power_electronics_ai999x)
Type Deterministic neuro-symbolic power electronics engine (rule-based reading + certified symbolic capabilities)
Capabilities 79 certified procedures
Knowledge pack version 1.0.0
Golden answers 482 documented answers, identical on every tested platform
Platforms tested Windows (Python 3.13), Linux x86-64 (Python 3.10, 3.11, 3.12, 3.13, 3.14)
Runtime CPU only, offline; no GPU, no network, no API key
License Apache-2.0
Creator / engineer Ibnul Jaif Farabi
Organization AI999X

Python quick start

pip install power-electronics-ai999x
# or straight from this repository:
pip install https://huggingface.co/AI999X/power-electronics-ai999x/resolve/main/dist/power_electronics_ai999x-1.0.0-py3-none-any.whl
import power_electronics_ai999x as power_electronics

power_electronics.ask("Buck converter in CCM: Vin = 24 V, Vout = 5 V, L = 22 uH, fs = 200 kHz, Io = 3 A").show()
# -> SOLVED — D = 0.208333, dIL = 0.899621, IL_max = 3.44981, IL_min = 2.55019  (pe_buck_ccm)
power_electronics.ask("Three-phase controlled rectifier: VLL = 415 V, alpha = 45 deg, Id = 50 A").show()
# -> SOLVED — Vdc = 396.296, Vrms = 415, P = 19814.8, I_thy_avg = 16.6667  (pe_three_phase_controlled_rectifier)
power_electronics.ask("Space vector dwell times: Vref = 200 V, theta = 25 deg, Vdc = 600 V, fs = 10 kHz").show()
# -> SOLVED — sector = 1, T1 = 3.31155e-05, T2 = 2.43999e-05, T0 = 4.24847e-05  (pe_space_vector_times)
power_electronics.solve("pe_flyback_ccm", Vin=48.0, Vout=12.0, n=2.0, Lm=0.0002, fs=100000.0, Io=2.0).show()
# -> SOLVED — D = 0.333333, Im = 1.5, dIm = 0.8, Ipk_primary = 1.9  (pe_flyback_ccm)
power_electronics.ask("Steinmetz core loss: k = 3.2, alpha = 1.4, beta = 2.5, f = 100 kHz, Bpk = 100 mT, Vc = 5 cm^3").show()
# -> SOLVED — Pv = 101193, Pv_mW_cm3 = 101.193, P = 0.505964  (pe_steinmetz_core_loss)
power_electronics.ask("Who created you?").message
# -> power-electronics-ai999x was created and engineered by Ibnul Jaif Farabi at AI999X.

The Python package also installs a Python command, power-electronics-ai999x "<question>"; for the native program use power-electronics (above). The outputs above were produced by running this exact code on power-electronics-ai999x 1.0.0.

How every answer is verified

  1. Reading — the question is turned into typed quantities (value, unit, kind, role) and one asked quantity; every stated number must be used or the question is refused.
  2. Planning — only certified capabilities may answer; a capability applies only under the conditions the wording states (for example a pendulum, a liquid at rest, boiling).
  3. Computing — exact symbolic or high-precision numeric evaluation.
  4. Checking — dimensions, substitution back into the defining equation, and agreement between independent readings; any disagreement becomes a refusal, never a number.

Capabilities are certified before they ship: each must reproduce hand-worked reference cases, reject a deliberately wrong variant (a control), and leave every benchmark answer unchanged.

Python worked examples, with their steps

Each question was put to power-electronics-ai999x; the answer is the one it returned, with the steps it took.

Buck converter in continuous conduction · DC-DC converters

Buck converter in CCM: Vin = 24 V, Vout = 5 V, L = 22 uH, fs = 200 kHz, Io = 3 A

→ D = 0.2083333333, dIL = 0.8996212121 A, IL_max = 3.449810606 A, IL_min = 2.550189394 A, ripple_ratio = 0.2998737374, Iin = 0.625 A

Steps
  • Buck converter in continuous conduction: Vin = 24 V, Vout = 5 V, L = 22 uH, fs = 200 kHz, Io = 3 A → D = 0.2083333333 A, dIL = 0.8996212121 A, IL_max = 3.449810606 A, IL_min = 2.550189394 A, ripple_ratio = 0.2998737374 A, Iin = 0.625 A

Three-phase fully controlled thyristor bridge · Rectifiers

Three-phase controlled rectifier: VLL = 415 V, alpha = 45 deg, Id = 50 A

→ Vdc = 396.2958083 V, Vrms = 415 V, P = 19814.79041 W, I_thy_avg = 16.66666667 A, I_thy_rms = 28.86751346 A, Is_rms = 40.82482905 A, mode = rectifying

Steps
  • Three-phase fully controlled thyristor bridge: VLL = 415 V, alpha = 45 deg, Id = 50 A → Vdc = 396.2958083 V, Vrms = 415 V, P = 19814.79041 W, I_thy_avg = 16.66666667 A, I_thy_rms = 28.86751346 A, Is_rms = 40.82482905 A, mode = rectifying V

Space-vector modulation dwell times · Inverters

Space vector dwell times: Vref = 200 V, theta = 25 deg, Vdc = 600 V, fs = 10 kHz

→ sector = 1, T1 = 3.311545099e-05 s, T2 = 2.439987672e-05 s, T0 = 4.248467229e-05 s, m = 0.5773502692

Steps
  • Space-vector modulation dwell times: Vref = 200 V, theta = 25 deg, Vdc = 600 V, fs = 10 kHz → sector = 1 s, T1 = 3.311545099e-05 s, T2 = 2.439987672e-05 s, T0 = 4.248467229e-05 s, m = 0.5773502692 s

Flyback converter in continuous conduction · Isolated converters

m.solve("pe_flyback_ccm", Vin=48.0, Vout=12.0, n=2.0, Lm=0.0002, fs=100000.0, Io=2.0)

→ D = 0.3333333333, Im = 1.5 A, dIm = 0.8 A, Ipk_primary = 1.9 A, Ipk_secondary = 3.8 A, V_switch = 72 V, V_diode = 36 V

Steps
  • Flyback converter in continuous conduction: Vin = 48 V, Vout = 12 V, n = 2, Lm = 0.0002 H, fs = 100000 Hz, Io = 2 A → D = 0.3333333333, Im = 1.5 A, dIm = 0.8 A, Ipk_primary = 1.9 A, Ipk_secondary = 3.8 A, V_switch = 72 V, V_diode = 36 V

Core loss by the Steinmetz equation · Magnetics

Steinmetz core loss: k = 3.2, alpha = 1.4, beta = 2.5, f = 100 kHz, Bpk = 100 mT, Vc = 5 cm^3

→ Pv = 101192.8851 W/m^3, Pv_mW_cm3 = 101.1928851, P = 0.5059644256 W

Steps
  • Core loss by the Steinmetz equation: k = 3.2, alpha = 1.4, beta = 2.5, f = 100 kHz, Bpk = 100 mT, Vc = 5 cm^3 → Pv = 101192.8851 W/m^3, Pv_mW_cm3 = 101.1928851 W/m^3, P = 0.5059644256 W

Control-to-output transfer function of a DC-DC converter · Control

Converter small-signal model: topology = boost, Vin = 12 V, D = 0.5, L = 50 uH, C = 100 uF, R = 10 ohm

→ Gvd0 = 48 V, f0 = 1125.395395 Hz, Q = 7.071067812, f_rhpz = 7957.747155 Hz, rhp_zero = present

Steps
  • Control-to-output transfer function of a DC-DC converter: topology = boost, Vin = 12 V, D = 0.5, L = 50 uH, C = 100 uF, R = 10 ohm → Gvd0 = 48 V, f0 = 1125.395395 Hz, Q = 7.071067812 Hz, f_rhpz = 7957.747155 Hz, rhp_zero = present Hz

Figures

Every point was computed by power-electronics-ai999x.

Buck converter in continuous conduction

Buck converter in continuous conduction — computed by power-electronics-ai999x

dIL (peak-to-peak inductor ripple) against Vin (input voltage), with Io = 3 A, L = 2.20e-5 H, Vout = 5 V, fs = 2.00e5 Hz. 31 points computed by power-electronics-ai999x; marked: Vin = 24, dIL = 0.899621 A.

Boost power-factor-correction stage

Boost power-factor-correction stage — computed by power-electronics-ai999x

dI_max (largest inductor ripple over the line cycle) against Vac (RMS line voltage), with C = 3.30e-4 F, L = 5.00e-4 H, Po = 500 W, Vo = 400 V, eff = 0.95, f_line = 50 Hz, fs = 65000 Hz. 22 points computed by power-electronics-ai999x; marked: Vac = 230, dI_max = 3.07692 A.

Flyback converter in continuous conduction

Flyback converter in continuous conduction — computed by power-electronics-ai999x

D (duty cycle) against Vin (input voltage), with Io = 2 A, Lm = 2.00e-4 H, Vout = 12 V, fs = 1.00e5 Hz, n = 2. 31 points computed by power-electronics-ai999x; marked: Vin = 48, D = 0.333333.

Peak current mode: subharmonic stability and slope compensation

Peak current mode: subharmonic stability and slope compensation — computed by power-electronics-ai999x

alpha (perturbation factor per switching period) against Vin (input voltage), with L = 1.00e-5 H, Vout = 8 V, fs = 3.00e5 Hz, ma = 3.00e5 A/s. 25 points computed by power-electronics-ai999x; marked: Vin = 12, alpha = -0.714286.

Capabilities

79 certified procedures. A few of them:

  • Procedures: Armature current ripple of a chopper-fed DC motor; Average and RMS of a rectangular pulse train; BLDC motor with six-step (120 degree) drive; Boost converter in continuous conduction; Boost converter in discontinuous conduction; Boost converter output voltage ripple; Boost converter with inductor resistance: gain and efficiency; Boost power-factor-correction stage; Bootstrap capacitor for a high-side gate driver; Buck converter efficiency with conduction and switching losses; Buck converter in continuous conduction; Buck converter in discontinuous conduction; Buck converter inductor and capacitor design; Buck converter output voltage ripple; Buck converter switch, diode, inductor and input-capacitor currents; Buck-boost converter in continuous conduction; Buck-boost converter in discontinuous conduction; Capacitor-input rectifier filter: exact ripple and peak diode current; Chopper-fed separately excited DC motor: speed and torque; Commutation overlap in a single-phase thyristor bridge; Commutation overlap in a three-phase thyristor bridge; Control-to-output transfer function of a DC-DC converter; Core loss by the Steinmetz equation; Core loss under triangular flux (iGSE) …

power_electronics_ai999x.templates() lists every question form ask() reads; the capability guide (PDF, every example executed) is included in this repository.

All 79 formulas

Show every formula, by topic

DC-DC converters / Cuk

Cuk converter in continuous conduction

D=VoVin+Vo, VC1=Vin+Vo, ΔiL1=VinDL1fs, ΔvC1=IoDC1fs D = \frac{V_o}{V_{in}+V_o},\ V_{C1} = V_{in}+V_o,\ \Delta i_{L1} = \frac{V_{in}D}{L_1 f_s},\ \Delta v_{C1} = \frac{I_o D}{C_1 f_s}

DC-DC converters / SEPIC

SEPIC converter in continuous conduction

D=VoVin+Vo, VC1=Vin, ΔiL1,2=VinDL1,2fs, ΔvC1=IoDC1fs D = \frac{V_o}{V_{in}+V_o},\ V_{C1} = V_{in},\ \Delta i_{L1,2} = \frac{V_{in}D}{L_{1,2} f_s},\ \Delta v_{C1} = \frac{I_o D}{C_1 f_s}

DC-DC converters / boost

Boost converter in continuous conduction

D=1−VinVo,IL=Io1−D,ΔiL=VinDLfs D = 1-\frac{V_{in}}{V_o},\quad I_L = \frac{I_o}{1-D},\quad \Delta i_L = \frac{V_{in}D}{L f_s}

Boost converter output voltage ripple

Δvo=IoDCfs \Delta v_o = \frac{I_o D}{C f_s}

DC-DC converters / buck

Buck converter in continuous conduction

D=VoVin,ΔiL=(Vin−Vo)DLfs,IL,max⁡/min⁡=Io±ΔiL2 D = \frac{V_o}{V_{in}},\quad \Delta i_L = \frac{(V_{in}-V_o)D}{L f_s},\quad I_{L,\max/\min} = I_o \pm \tfrac{\Delta i_L}{2}

Buck converter output voltage ripple

Δvo=ΔiL8Cfs=(1−D)Vo8LCfs2 \Delta v_o = \frac{\Delta i_L}{8 C f_s} = \frac{(1-D)V_o}{8 L C f_s^2}

DC-DC converters / buck-boost

Buck-boost converter in continuous conduction

D=∣Vo∣Vin+∣Vo∣,IL=Io1−D,ΔiL=VinDLfs D = \frac{\vert V_o\vert }{V_{in}+\vert V_o\vert },\quad I_L = \frac{I_o}{1-D},\quad \Delta i_L = \frac{V_{in}D}{L f_s}

DC-DC converters / component stresses

Buck converter switch, diode, inductor and input-capacitor currents

Isw,rms=D(Io2+ΔiL212),ICin,rms=Isw,rms2−(DIo)2 I_{sw,rms} = \sqrt{D\left(I_o^2 + \tfrac{\Delta i_L^2}{12}\right)},\quad I_{C_{in},rms} = \sqrt{I_{sw,rms}^2 - (D I_o)^2}

DC-DC converters / conduction boundary

Critical inductance at the CCM/DCM boundary

Lc,buck=(1−D)R2fs, Lc,boost=D(1−D)2R2fs, Lc,buck-boost=(1−D)2R2fs L_{c,buck} = \frac{(1-D)R}{2f_s},\ L_{c,boost} = \frac{D(1-D)^2R}{2f_s},\ L_{c,buck\text{-}boost} = \frac{(1-D)^2R}{2f_s}

DC-DC converters / conversion ratio

Ideal DC-DC conversion ratio from the duty cycle

Mbuck=D,Mboost=11−D,Mbuck-boost, Cuk, SEPIC=D1−D M_{buck} = D,\quad M_{boost} = \frac{1}{1-D},\quad M_{buck\text{-}boost,\,Cuk,\,SEPIC} = \frac{D}{1-D}

DC-DC converters / discontinuous conduction

Boost converter in discontinuous conduction

M=1+1+4D2/K2,D2=DM−1 M = \frac{1+\sqrt{1+4D^2/K}}{2},\quad D_2 = \frac{D}{M-1}

Buck converter in discontinuous conduction

M=21+1+4K/D2,K=2LRTs M = \frac{2}{1+\sqrt{1+4K/D^2}},\quad K = \frac{2L}{R T_s}

Buck-boost converter in discontinuous conduction

M=DK,D2=K M = \frac{D}{\sqrt{K}},\quad D_2 = \sqrt{K}

DC-DC converters / filter design

Buck converter inductor and capacitor design

L=(Vin−Vo)DrIofs,C=rIo8fsΔvo L = \frac{(V_{in}-V_o)D}{r I_o f_s},\quad C = \frac{r I_o}{8 f_s \Delta v_o}

DC-DC converters / interleaving

Interleaved multiphase buck: output current ripple cancellation

ΔitotΔiph=N(D−mN)(m+1N−D)D(1−D), m=⌊ND⌋ \frac{\Delta i_{tot}}{\Delta i_{ph}} = \frac{N\left(D-\frac{m}{N}\right)\left(\frac{m+1}{N}-D\right)}{D(1-D)},\ m = \lfloor ND\rfloor

Control / averaged small-signal model

Control-to-output transfer function of a DC-DC converter

Gvd(s)=Gd01−s/ωz1+s/(Qω0)+(s/ω0)2,ωz,boost=D′2RL G_{vd}(s) = G_{d0}\frac{1 - s/\omega_z}{1 + s/(Q\omega_0) + (s/\omega_0)^2},\quad \omega_{z,boost} = \frac{D'^2R}{L}

Control / current mode

Peak current mode: subharmonic stability and slope compensation

α=−m2−mam1+ma,∣α∣<1⇐ma>m2−m12 \alpha = -\frac{m_2 - m_a}{m_1 + m_a},\quad \vert \alpha\vert < 1 \Leftarrow m_a > \frac{m_2-m_1}{2}

Devices / conduction loss

MOSFET conduction loss at junction temperature

Rds(Tj)=Rds,25(1+α(Tj−25∘C)),P=Irms2Rds(Tj) R_{ds}(T_j) = R_{ds,25}\left(1+\alpha(T_j-25^\circ\mathrm{C})\right),\quad P = I_{rms}^2R_{ds}(T_j)

Devices / gate drive

Bootstrap capacitor for a high-side gate driver

Cboot≥Qg+IlkDmax/fsΔV C_{boot} \ge \frac{Q_g + I_{lk}D_{max}/f_s}{\Delta V}

Gate-drive power and currents

PG=QgVdrvfs,IG,pk=VdrvRg P_{G} = Q_gV_{drv}f_s,\quad I_{G,pk} = \frac{V_{drv}}{R_g}

Devices / paralleling

Current sharing between paralleled MOSFETs

Ik=I1/Rk∑j1/Rj,Pk=Ik2Rk I_k = I\frac{1/R_k}{\sum_j 1/R_j},\quad P_k = I_k^2R_k

Devices / reverse recovery

Diode reverse-recovery charge and losses

Qrr=12Irmtrr,ED=VrIrmtb6,Esw=VrIrm(ta2+tb3) Q_{rr} = \tfrac12I_{rm}t_{rr},\quad E_D = \frac{V_rI_{rm}t_b}{6},\quad E_{sw} = V_rI_{rm}\left(\frac{t_a}{2}+\frac{t_b}{3}\right)

Devices / snubbers

RC snubber from measured ringing frequencies

Cp=Cadd(f0/f1)2−1,Lp=1(2πf0)2Cp,Rs=Lp/Cp C_p = \frac{C_{add}}{(f_0/f_1)^2-1},\quad L_p = \frac{1}{(2\pi f_0)^2C_p},\quad R_s = \sqrt{L_p/C_p}

RCD turn-off snubber design

Cs=Itf2V,Esw=I2tf224Cs=VItf12,ER=12CsV2 C_s = \frac{I t_f}{2V},\quad E_{sw} = \frac{I^2t_f^2}{24C_s} = \frac{VIt_f}{12},\quad E_R = \tfrac12C_sV^2

Devices / soft switching

Zero-voltage switching: resonant transition of a switch node

v(t)=I0Zsin⁡ωt,Z=L/C,tzvs=1ωsin⁡−1VinI0Z v(t) = I_0Z\sin\omega t,\quad Z = \sqrt{L/C},\quad t_{zvs} = \frac{1}{\omega}\sin^{-1}\frac{V_{in}}{I_0Z}

Devices / switching loss

Hard-switching loss of a power transistor

Psw=12VI (tr+tf) fs,Poss=12CossV2fs P_{sw} = \tfrac12 V I\,(t_r + t_f)\,f_s,\quad P_{oss} = \tfrac12C_{oss}V^2f_s

Front ends / energy storage

Hold-up (bulk) capacitor

C=2PotholdV12−V22 C = \frac{2P_ot_{hold}}{V_1^2 - V_2^2}

Front ends / power factor correction

Boost power-factor-correction stage

ΔiL(v)=v (1−v/Vo)Lfs,ΔiL,max=Vo4Lfs,ΔVo=Po2πflineCVo \Delta i_L(v) = \frac{v\,(1-v/V_o)}{Lf_s},\quad \Delta i_{L,max} = \frac{V_o}{4Lf_s},\quad \Delta V_o = \frac{P_o}{2\pi f_{line}CV_o}

Inverters / dead time

Inverter dead-time voltage error

ΔV=tdfsVdc,ΔV^1=4πtdfsVdc \Delta V = t_d f_s V_{dc},\quad \Delta\hat V_1 = \frac{4}{\pi}t_d f_s V_{dc}

Inverters / load current

Square-wave inverter with an RL load: current

Imax=VdcR 1−e−T/2τ1+e−T/2τ,τ=LR I_{max} = \frac{V_{dc}}{R}\,\frac{1-e^{-T/2\tau}}{1+e^{-T/2\tau}},\quad \tau = \frac{L}{R}

Inverters / quasi-square-wave

Quasi-square-wave (phase-shifted) full-bridge inverter

Vn,rms=4Vdcnπ2cos⁡(nα),Vrms=Vdc1−2απ V_{n,rms} = \frac{4V_{dc}}{n\pi\sqrt2}\cos(n\alpha),\quad V_{rms} = V_{dc}\sqrt{1-\frac{2\alpha}{\pi}}

Inverters / sinusoidal PWM

Sinusoidal PWM: fundamental output voltage

V^1,leg=maVdc2,VLL1,rms=322maVdc,fc=mff1 \hat V_{1,leg} = m_a\frac{V_{dc}}{2},\quad V_{LL1,rms} = \frac{\sqrt3}{2\sqrt2}m_aV_{dc},\quad f_c = m_f f_1

Inverters / space-vector PWM

Space-vector modulation dwell times

T1=3TsVrefVdcsin⁡ ⁣(π3−θ′),T2=3TsVrefVdcsin⁡θ′,T0=Ts−T1−T2 T_1 = \frac{\sqrt3 T_s V_{ref}}{V_{dc}}\sin\!\left(\tfrac{\pi}{3}-\theta'\right),\quad T_2 = \frac{\sqrt3 T_s V_{ref}}{V_{dc}}\sin\theta',\quad T_0 = T_s - T_1 - T_2

Inverters / square-wave

Square-wave inverter output and harmonics

Vn,rms=4Anπ2,THD=π28−1 V_{n,rms} = \frac{4A}{n\pi\sqrt2},\quad THD = \sqrt{\frac{\pi^2}{8}-1}

Inverters / three-phase

Three-phase six-step (square-wave) inverter

VLL1=6πVdc,VLL=23Vdc,VLL,h=VLL1h V_{LL1} = \frac{\sqrt6}{\pi}V_{dc},\quad V_{LL} = \sqrt{\tfrac23}V_{dc},\quad V_{LL,h} = \frac{V_{LL1}}{h}

Isolated converters / bridge

Push-pull, half-bridge and full-bridge converters

Vo=2DVinn (push-pull, full-bridge),Vo=DVinn (half-bridge) V_o = \frac{2 D V_{in}}{n}\ (\text{push-pull, full-bridge}),\quad V_o = \frac{D V_{in}}{n}\ (\text{half-bridge})

Isolated converters / flyback

Flyback converter in continuous conduction

VoVin=1nD1−D,Im=Ion(1−D),Δim=VinDLmfs \frac{V_o}{V_{in}} = \frac{1}{n}\frac{D}{1-D},\quad I_m = \frac{I_o}{n(1-D)},\quad \Delta i_m = \frac{V_{in}D}{L_m f_s}

Isolated converters / flyback design

Flyback magnetizing inductance for discontinuous conduction

Lm=(VinD)22Pinfs,Ipk=VinDLmfs,Irms=IpkD/3 L_m = \frac{(V_{in}D)^2}{2 P_{in} f_s},\quad I_{pk} = \frac{V_{in}D}{L_m f_s},\quad I_{rms} = I_{pk}\sqrt{D/3}

Isolated converters / forward

Forward converter with reset winding

Vo=VinDn,Dmax=11+Nr/Np,Vsw=Vin(1+NpNr) V_o = \frac{V_{in} D}{n},\quad D_{max} = \frac{1}{1+N_r/N_p},\quad V_{sw} = V_{in}\left(1+\frac{N_p}{N_r}\right)

Losses / efficiency

Buck converter efficiency with conduction and switching losses

D=Vo+VF+IoRLVin−IoRds+VF,Psw=12VinIotswfs,η=PoPo+∑P D = \frac{V_o+V_F+I_oR_L}{V_{in}-I_oR_{ds}+V_F},\quad P_{sw} = \tfrac12 V_{in}I_o t_{sw} f_s,\quad \eta = \frac{P_o}{P_o+\sum P}

Losses / inverter devices

IGBT and diode conduction losses in a sinusoidal PWM inverter

PT=Vce0I^(12π+Mcos⁡ϕ8)+rceI^2(18+Mcos⁡ϕ3π) P_T = V_{ce0}\hat I\left(\frac{1}{2\pi}+\frac{M\cos\phi}{8}\right) + r_{ce}\hat I^2\left(\frac18+\frac{M\cos\phi}{3\pi}\right)

Losses / non-ideal converters

Boost converter with inductor resistance: gain and efficiency

M=11−D 11+RL(1−D)2R,η=11+RL(1−D)2R M = \frac{1}{1-D}\,\frac{1}{1+\frac{R_L}{(1-D)^2R}},\quad \eta = \frac{1}{1+\frac{R_L}{(1-D)^2R}}

Magnetics / core loss

Core loss by the Steinmetz equation

Pv=kfαB^β P_v = k f^{\alpha} \hat B^{\beta}

Core loss under triangular flux (iGSE)

Pv=ki(ΔB)βfα(D1−α+(1−D)1−α), ki=k(2π)α−1∫02π∣cos⁡θ∣α2β−αdθ P_v = k_i(\Delta B)^{\beta}f^{\alpha}\left(D^{1-\alpha}+(1-D)^{1-\alpha}\right),\ k_i = \frac{k}{(2\pi)^{\alpha-1}\int_0^{2\pi}\vert \cos\theta\vert ^{\alpha}2^{\beta-\alpha}d\theta}

Magnetics / core selection

Inductor core area product

Ap=AcWa=L IpkIrmsBmaxJKu A_p = A_cW_a = \frac{L\,I_{pk}I_{rms}}{B_{max}JK_u}

Transformer core area product

Ap=PtKfKuBmfJ,Pt=Po(1+1η) A_p = \frac{P_t}{K_fK_uB_mfJ},\quad P_t = P_o\left(1+\frac{1}{\eta}\right)

Magnetics / inductors

Gapped-core inductor: turns and air gap

N=LIpkBmaxAc,lg=μ0N2AcL N = \frac{LI_{pk}}{B_{max}A_c},\quad l_g = \frac{\mu_0N^2A_c}{L}

Magnetics / transformers

Transformer turns from Faraday's law

Np=VKffBmaxAc,Kf=2π (sine), 4 (square) N_p = \frac{V}{K_f f B_{max}A_c},\quad K_f = \sqrt2\pi\ (\text{sine}),\ 4\ (\text{square})

Magnetics / winding losses

Skin effect in a round wire

δ=ρπfμ0,RacRdc=Re[kr2J0(kr)J1(kr)], k=1−jδ \delta = \sqrt{\frac{\rho}{\pi f\mu_0}},\quad \frac{R_{ac}}{R_{dc}} = \mathrm{Re}\left[\frac{kr}{2}\frac{J_0(kr)}{J_1(kr)}\right],\ k = \frac{1-j}{\delta}

Winding AC resistance factor (Dowell)

FR=Δ[sinh⁡2Δ+sin⁡2Δcosh⁡2Δ−cos⁡2Δ+2(m2−1)3sinh⁡Δ−sin⁡Δcosh⁡Δ+cos⁡Δ] F_R = \Delta\left[\frac{\sinh2\Delta+\sin2\Delta}{\cosh2\Delta-\cos2\Delta} + \frac{2(m^2-1)}{3}\frac{\sinh\Delta-\sin\Delta}{\cosh\Delta+\cos\Delta}\right]

Motor drives / BLDC

BLDC motor with six-step (120 degree) drive

DVdc=2RphI+2Ke,phω,T=2Ke,phI DV_{dc} = 2R_{ph}I + 2K_{e,ph}\omega,\quad T = 2K_{e,ph}I

Motor drives / DC motor

Chopper-fed separately excited DC motor: speed and torque

Va=DVs,Ia=TLK,ω=Va−IaRaK V_a = DV_s,\quad I_a = \frac{T_L}{K},\quad \omega = \frac{V_a - I_aR_a}{K}

Phase-controlled rectifier DC motor drive

Va=22Vsπcos⁡α (1ϕ), 32VLLπcos⁡α (3ϕ),ω=Va−IaRaK V_a = \frac{2\sqrt2V_s}{\pi}\cos\alpha\ (1\phi),\ \frac{3\sqrt2V_{LL}}{\pi}\cos\alpha\ (3\phi),\quad \omega = \frac{V_a - I_aR_a}{K}

Motor drives / PMSM

PMSM steady state in the dq frame: voltages and torque

vd=Rsid−ωeLqiq, vq=Rsiq+ωe(Ldid+ψf), Te=32p(ψfiq+(Ld−Lq)idiq) v_d = R_si_d - \omega_eL_qi_q,\ v_q = R_si_q + \omega_e(L_di_d+\psi_f),\ T_e = \tfrac32p\left(\psi_fi_q + (L_d-L_q)i_di_q\right)

Motor drives / PMSM control

Maximum torque per ampere (MTPA) of an interior PMSM

id=ψf−ψf2+8(Lq−Ld)2Is24(Lq−Ld),iq=Is2−id2 i_d = \frac{\psi_f - \sqrt{\psi_f^2 + 8(L_q-L_d)^2 I_s^2}}{4(L_q-L_d)},\quad i_q = \sqrt{I_s^2 - i_d^2}

Motor drives / current ripple

Armature current ripple of a chopper-fed DC motor

Imax=VsRa1−e−DT/τ1−e−T/τ−EaRa, Imin=VsRaeDT/τ−1eT/τ−1−EaRa I_{max} = \frac{V_s}{R_a}\frac{1-e^{-DT/\tau}}{1-e^{-T/\tau}} - \frac{E_a}{R_a},\ I_{min} = \frac{V_s}{R_a}\frac{e^{DT/\tau}-1}{e^{T/\tau}-1} - \frac{E_a}{R_a}

Motor drives / field weakening

Surface PMSM field weakening: base speed, maximum speed and torque

ωb=Vmaxpψf2+(LsImax)2, ωmax=Vmaxp(ψf−LsImax), id=(Vmax/pω)2−ψf2−Ls2Imax22ψfLs \omega_b = \frac{V_{max}}{p\sqrt{\psi_f^2 + (L_sI_{max})^2}},\ \omega_{max} = \frac{V_{max}}{p(\psi_f - L_sI_{max})},\ i_d = \frac{(V_{max}/p\omega)^2 - \psi_f^2 - L_s^2I_{max}^2}{2\psi_fL_s}

Motor drives / induction motor

Induction motor constant V/f speed control

Vf=const,n=120fP−(ns,r−nr)TTr \frac{V}{f} = \text{const},\quad n = \frac{120f}{P} - \left(n_{s,r} - n_r\right)\frac{T}{T_r}

Motor drives / regenerative braking

Regenerative braking of a DC motor with a chopper

Ia=Kω−(1−D)VsRa,Pregen=(1−D)VsIa I_a = \frac{K\omega - (1-D)V_s}{R_a},\quad P_{regen} = (1-D)V_sI_a

Power quality / THD

Total harmonic distortion from harmonic values

THD=∑h≥2Vh2V1,Vrms=V11+THD2 THD = \frac{\sqrt{\sum_{h\ge2} V_h^2}}{V_1},\quad V_{rms} = V_1\sqrt{1+THD^2}

Power quality / power factor

Power factor with harmonic distortion

PF=cos⁡ϕ11+THDi2 PF = \frac{\cos\phi_1}{\sqrt{1+THD_i^2}}

Power quality / waveform values

Average and RMS of a rectangular pulse train

Vavg=DA,Vrms=D A,RF=1D−1 V_{avg} = DA,\quad V_{rms} = \sqrt{D}\,A,\quad RF = \sqrt{\tfrac1D - 1}

Rectifiers / AC voltage control

Single-phase AC voltage controller (resistive load)

Vo=Vs1−απ+sin⁡2α2π,PF=VoVs V_{o} = V_s\sqrt{1-\frac{\alpha}{\pi}+\frac{\sin2\alpha}{2\pi}},\quad PF = \frac{V_o}{V_s}

Rectifiers / RL load

Half-wave diode rectifier with an RL load

sin⁡(β−θ)+sin⁡θ e−β/ωτ=0,Vavg=Vm(1−cos⁡β)2π \sin(\beta-\theta)+\sin\theta\,e^{-\beta/\omega\tau} = 0,\quad V_{avg} = \frac{V_m(1-\cos\beta)}{2\pi}

Rectifiers / capacitor filter

Capacitor-input rectifier filter: exact ripple and peak diode current

θ=π−tan⁡−1(ωRC), sin⁡α=sin⁡θ e−(P+α−θ)/ωRC, ID,pk=Vp(ωCcos⁡α+sin⁡αR) \theta = \pi - \tan^{-1}(\omega RC),\ \sin\alpha = \sin\theta\,e^{-(P+\alpha-\theta)/\omega RC},\ I_{D,pk} = V_p\left(\omega C\cos\alpha+\frac{\sin\alpha}{R}\right)

Rectifiers / commutation

Commutation overlap in a single-phase thyristor bridge

cos⁡(α+u)=cos⁡α−2ωLsIdVm,Vdc=2Vmπcos⁡α−2ωLsIdπ \cos(\alpha+u) = \cos\alpha - \frac{2\omega L_s I_d}{V_m},\quad V_{dc} = \frac{2V_m}{\pi}\cos\alpha - \frac{2\omega L_sI_d}{\pi}

Commutation overlap in a three-phase thyristor bridge

cos⁡(α+u)=cos⁡α−2ωLsId2VLL,Vdc=32VLLπcos⁡α−3ωLsIdπ \cos(\alpha+u) = \cos\alpha - \frac{2\omega L_sI_d}{\sqrt2 V_{LL}},\quad V_{dc} = \frac{3\sqrt2V_{LL}}{\pi}\cos\alpha - \frac{3\omega L_sI_d}{\pi}

Rectifiers / phase-controlled

Single-phase phase-controlled thyristor rectifier

Vdc,HW=Vm(1+cos⁡α)2π, Vdc,FB=2Vmcos⁡απ, Vdc,semi=Vm(1+cos⁡α)π V_{dc,HW} = \frac{V_m(1+\cos\alpha)}{2\pi},\ V_{dc,FB} = \frac{2V_m\cos\alpha}{\pi},\ V_{dc,semi} = \frac{V_m(1+\cos\alpha)}{\pi}

Three-phase fully controlled thyristor bridge

Vdc=32VLLπcos⁡α,Is,rms=23 Id V_{dc} = \frac{3\sqrt2 V_{LL}}{\pi}\cos\alpha,\quad I_{s,rms} = \sqrt{\tfrac23}\,I_d

Rectifiers / power quality

Rectifier line current: THD, displacement and power factor

PF=Is1Iscos⁡α,Is1Is=22π (1ϕ), 3π (3ϕ) PF = \frac{I_{s1}}{I_s}\cos\alpha,\quad \frac{I_{s1}}{I_s} = \frac{2\sqrt2}{\pi}\ (1\phi),\ \frac{3}{\pi}\ (3\phi)

Rectifier line-current harmonic spectrum

Ih=I1h,h=6k±1 (3ϕ), h odd (1ϕ) I_h = \frac{I_1}{h},\quad h = 6k\pm1\ (3\phi),\ h\ \text{odd}\ (1\phi)

Rectifiers / three-phase uncontrolled

Three-phase diode bridge rectifier with resistive load

Vdc=32 VLLπ,Vrms=2VLL12+334π V_{dc} = \frac{3\sqrt2\,V_{LL}}{\pi},\quad V_{rms} = \sqrt2 V_{LL}\sqrt{\tfrac12+\tfrac{3\sqrt3}{4\pi}}

Three-phase half-wave (three-pulse) diode rectifier

Vdc=33 Vm2π,Vrms=Vm12+338π,PIV=3Vm V_{dc} = \frac{3\sqrt3\,V_m}{2\pi},\quad V_{rms} = V_m\sqrt{\tfrac12+\tfrac{3\sqrt3}{8\pi}},\quad PIV = \sqrt3 V_m

Resonant converters / LLC

LLC resonant converter: tank gain (first harmonic)

M=∣jωLm∥RacjωLr+1jωCr+jωLm∥Rac∣,Rac=8n2Rπ2 M = \left\vert \frac{j\omega L_m\parallel R_{ac}}{j\omega L_r + \frac{1}{j\omega C_r} + j\omega L_m\parallel R_{ac}}\right\vert ,\quad R_{ac} = \frac{8n^2R}{\pi^2}

Resonant converters / dual active bridge

Dual active bridge: power transfer and inductor current

P=nV1V2 ϕ(π−ϕ)2π2fsL,Pmax=nV1V28fsL P = \frac{nV_1V_2\,\phi(\pi-\phi)}{2\pi^2f_sL},\quad P_{max} = \frac{nV_1V_2}{8f_sL}

Resonant converters / series resonant

Series resonant converter: tank gain (first harmonic)

M=11+Q2(fn−1fn)2,Q=Lr/CrR M = \frac{1}{\sqrt{1+Q^2\left(f_n-\frac{1}{f_n}\right)^2}},\quad Q = \frac{\sqrt{L_r/C_r}}{R}

Thermal / steady state

Several power devices on one heat sink

Ts=Ta+Rsa∑kPk,Tj,k=Ts+Pk(Rjc+Rcs) T_s = T_a + R_{sa}\sum_kP_k,\quad T_{j,k} = T_s + P_k(R_{jc}+R_{cs})

Thermal / transient

Junction temperature under periodic power pulses

ΔTpk=∑iPRi1−e−tp/τi1−e−T/τi \Delta T_{pk} = \sum_iPR_i\frac{1-e^{-t_p/\tau_i}}{1-e^{-T/\tau_i}}

Transient thermal impedance of a Foster network

Zth(t)=∑iRi(1−e−t/τi),ΔTj=P Zth(tp) Z_{th}(t) = \sum_i R_i\left(1-e^{-t/\tau_i}\right),\quad \Delta T_j = P\,Z_{th}(t_p)

Out of scope

  • Open-ended explanation, essay writing or tutoring dialogue: it is a solver, not a chatbot.
  • Questions outside its certified power electronics capabilities, and any question whose stated numbers it cannot all use — it refuses with the reason instead.
  • High-stakes engineering, medical or legal decisions without independent review.

Limitations

  • It answers what its certified capabilities cover (DC-DC converters, rectifiers, inverters and PWM, motor drives, device losses, thermal and magnetic design, resonant converters); anything else is refused with a reason.
  • ask() reads documented question forms and common phrasings; unusual wording may be refused — use solve() for guaranteed results.
  • Results are as correct as the certified relations and their stated conditions; a certified relation is a checked model, not a claim about every physical situation.

Citation

@software{power_electronics_ai999x_1_0_0,
  title  = {power-electronics-ai999x: an offline, verified power electronics solver},
  author = {Farabi, Ibnul Jaif}, organization = {AI999X},
  year   = {2026}, version = {1.0.0},
  url    = {https://huggingface.co/AI999X/power-electronics-ai999x}
}

Contact

Questions, bug reports and requests: open a discussion on https://huggingface.co/AI999X/power-electronics-ai999x/discussions or visit https://ai999x.com.

Support the project

power-electronics-ai999x is free and open source. If it helps you, you can support further development on Buy Me a Coffee.

Created and engineered by Ibnul Jaif Farabi · AI999X · ai999x.com

Downloads last month
42
Safetensors
Model size
4.72M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results

  • identical on every platform on Golden answers (482 documented questions, Windows + Linux Python 3.10-3.14)
    self-reported
    1.000