GridFault Analyst is a no-hardware power engineering portfolio project for fault-current study and protection-coordination exploration on an 11 kV radial distribution feeder.
The project combines a browser dashboard with a small Python calculation layer. It is designed to show electrical engineering judgment, transparent formulas, testable code, and clean product presentation without requiring lab equipment.
- Live fault-current calculation for three-phase, line-to-line, and single-line-to-ground studies
- Per-unit base current, base impedance, feeder impedance, and fault MVA
- Protection-device priority with inverse-time trip estimates
- Interactive single-line diagram with movable fault marker
- Canvas time-current coordination chart
- CSV report export utility
- Python unit tests and GitHub Actions CI
Dashboard:
Time-current coordination graph:
Open the dashboard directly:
open index.htmlOr run a local web server:
python3 -m http.server 5174Then visit:
http://127.0.0.1:5174
python3 -m unittest discover -s tests -vPYTHONPATH=. python3 tools/export_fault_report.pyThis writes:
reports/sample_fault_study.csv
This project uses a transparent per-unit approximation suitable for portfolio demonstration and comparative study:
- Base current:
S / (sqrt(3) * V) - Base impedance:
V^2 / S - Total impedance: transformer/source impedance plus feeder impedance to the fault location
- Fault-type multipliers are used when full sequence-network data is not available
Real protection studies require validated network data, manufacturer time-current curves, utility standards, protection grading margins, and field verification.
.
├── app.js
├── index.html
├── styles.css
├── src/
│ ├── gridfault_calculations.py
│ └── gridfault_reports.py
├── tests/
├── tools/
├── data/
├── reports/
└── docs/
Raymond Mokolo, Graduate Engineer

