Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Standby Sizer

A free, deterministic standby-generator load-calculation and sizing engine. Generator sizing is engineering math — NEC Article 220, NEMA MG-1, IEEE 399 — not a manufacturer secret. Standby Sizer turns a list of electrical loads into a defensible required generator kW / kVA, and it models the part most calculators skip: the motor-starting transient that actually browns out a site.

Built and open-sourced by GENERasic.


⚠️ Disclaimer (read this first)

This is a first-order estimating tool for engineers and technicians. It is not a stamped engineering design and does not replace a licensed Professional Engineer or a manufacturer's transient/harmonic sizing software. The voltage-dip figure is an estimate (X″d model), not the alternator's published starting curve. Verify every result before you purchase, install, or connect any equipment.

Not affiliated with, sponsored by, or endorsed by any generator or motor manufacturer, NEMA, or the NFPA/NEC. Provided AS-IS, without warranty of any kind. You are responsible for your own designs.


What it models

Phase What it does Standard
1. Steady-state Running kW/kVA; 125% on continuous loads; 1-ph & 3-ph NEC 210.19 / 220
2. Motor start Locked-rotor skVA from NEMA code letter or nameplate LRA; DOL / autotransformer / solid-state / wye-delta reductions; VFD harmonic sizing NEMA MG-1
3. Voltage dip First-order transient dip; solves min alternator kVA for a dip limit IEEE 399
4. Step loading Worst sequential start step governs the alternator
5. Derate Altitude, temperature, harmonic penalty ISO 8528

Install & run

No dependencies — Python 3.9+ standard library only.

git clone https://github.com/<you>/standby-sizer.git
cd standby-sizer

# validate the engine against a known worked example (100 hp NEMA Code G -> 630 skVA):
python3 standby_sizer.py --selfcheck

# size from your own load file:
python3 standby_sizer.py examples/example_loads.json

Input format

One JSON object: { "config": {...}, "loads": [ ... ] }. Each load carries what you have; the engine prefers the most authoritative field and flags any load it had to estimate.

{
  "config": { "dip_limit": 0.20, "xdpp": 0.15, "site_alt_ft": 15, "amb_temp_c": 35 },
  "loads": [
    {"name": "Pool heat-pump", "type": "motor", "phase": 3, "voltage": 460,
     "hp": 7.5, "code_letter": "G", "start_method": "DOL", "continuous": true, "step": 1},
    {"name": "River pump (VFD)", "type": "vfd", "phase": 3, "voltage": 460,
     "hp": 10, "vfd_type": "pwm", "continuous": true, "step": 1},
    {"name": "Lighting", "type": "resistive", "phase": 1, "voltage": 240,
     "running_kw": 12, "continuous": true, "step": 1}
  ]
}
  • Running load: running_kw > fla > hp > kva, plus phase (1|3), voltage, pf.
  • Motor start: type:"motor", then lra > (code_letter + hp). start_method: DOL | soft_at (+start_param tap 0.80/0.65/0.50) | soft_ss (+start_param current-limit 600/300/150) | wye_delta. step = sequential start group. continuous:true applies the 125%.
  • VFD / non-linear: type:"vfd", vfd_type:"pwm"|"6pulse"|"filtered".

Output

Required genset kW/kVA, the governing step and its peak transient kVA, minimum alternator for the dip limit, estimated dip at the recommended size, a per-load breakdown showing the method used, and warnings (wet-stacking / light loading, harmonics, estimated-start loads, and the dip-model caveat).

Sources & method

Every constant traces to a published source (NEMA code table, the Generac "Basic Sizing" white paper, ISO 8528). See the header of standby_sizer.py and the inline comments. Contributions that improve fidelity (real alternator starting curves, engine-specific derate) are welcome — cite your source in the PR.

License

MIT (c) 2026 GENERasic. See LICENSE.

About

Free deterministic standby-generator load calc & sizing (NEC 220 / NEMA MG-1 / IEEE 399). Models the motor-start transient that browns out a site. By GENERasic.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages