BUS
GEN
TRAFO
Z LINE
LOAD
Running simulation...
Please wait

Simulation History

No simulations recorded yet.

Export Diagram

Choose the image format:

NDSE Web Simulator

NDSE — Núcleo de Dinâmica de Sistemas Elétricos da UFU

Academic Origin

This software was developed as part of a doctoral thesis presented to the Faculdade de Engenharia Elétrica of the Universidade Federal de Uberlândia (UFU), Minas Gerais, Brazil. The thesis is publicly available in the UFU institutional repository:

https://repositorio.ufu.br/handle/123456789/18396

Features

  • Graphical network editor (buses, generators, transformers, transmission lines, loads)
  • Newton-Raphson Load Flow solver with bus voltage colour-coding
  • Transient Stability Analysis — classical and 4th-order synchronous machine models
  • IEEE Type AC1 and IEEE Type ST1 Automatic Voltage Regulators (AVR)
  • Multiple fault events with configurable on/off times
  • Interactive chart with zoom (scroll) and pan (drag) — Chart.js + chartjs-plugin-zoom
  • Export results to CSV and PDF; export diagram as SVG or PNG
  • Save/load diagrams in .nws format (simulation results preserved)
  • Import MATPOWER (.m) network files with automatic layout, ready to run Load Flow
  • Built-in example: complete 9-bus case with dynamic data (File → Open Example)
  • Real-time collaborative session via TogetherJS (temporarily unavailable)

Technical Stack

Backend: PHP 8 · Slim 2 Framework · Newton-Raphson · Implicit Trapezoidal Integration

Frontend: JavaScript (ES5) · draw2d · Chart.js 4 · dhtmlx · jsPDF · TogetherJS

Version: 1.0.0  ·  Build: 2016 – 2026


© NDSE — Núcleo de Dinâmica de Sistemas Elétricos, Universidade Federal de Uberlândia. All rights reserved.

Help & Quick Reference

Getting Started

Drag elements from the left panel onto the canvas. Connect components by dragging from a port (small dot) to another element.

To explore a ready-made system, use File → Open Example (9-bus dynamic case): it loads the complete 9-bus network with all dynamic data — just press RunLF (F5) or RunTA (F6).

Keyboard Shortcuts

KeyAction
F5Run Load Flow
F6Run Transient Analysis
Ctrl+SSave diagram
Ctrl+OOpen diagram
Ctrl+ZUndo
Ctrl+YRedo
DeleteDelete selected element

Workflow

  1. Build the network on the canvas
  2. Click each element and fill in its data in the right panel (DATA tab)
  3. Configure simulation parameters in the SETTINGS tab
  4. Press RunLF (or F5) for Load Flow — results appear in the Report tab
  5. Press RunTA (or F6) for Transient Analysis — chart appears in the Graph tab
  6. Use the CSV / Export PDF buttons in the Report tab to save Load Flow results
  7. Use the PNG / CSV buttons in the Graph tab to save Transient Analysis results
  8. Use Ctrl+S to save the diagram; simulation results are stored in the .nws file and restored on next open
  9. Use the SETTINGS panel tabs to configure Load Flow, Transient Analysis, and Simulation Events separately

SETTINGS Panel

The SETTINGS panel is divided into three tabs for better organisation:

TabContents
Load FlowPower base (MVA), max iterations, convergence tolerance
TransientFrequency base, start/stop time, integration step size
EventsMultiple simulation events: bus fault, line open, line reclose — each with independent timing

Simulation Events

In the Events tab you can define any number of events that occur during the Transient Analysis. Click + Add Event to insert a new row and configure it:

FieldDescription
TypeFault (bus) — three-phase fault at a bus; Line Open — trip a branch; Line Reclose — restore a branch
Bus/Branch #1-based index of the target bus (for Fault) or branch (for Open/Reclose) in the simulation matrices
Apply (s)Time at which the event is applied
Clear (s)Optional: time at which the event is reversed (fault cleared, line restored/tripped again)

Canvas Tools

ButtonDescription
Zoom in / Zoom outIncrease or decrease the canvas zoom level
1:1Reset zoom to 100% (default scale)
Fit AllAutomatically adjust zoom and scroll so the entire diagram fits in the visible area

Graph Interaction

ActionDescription
Scroll wheelZoom in/out on the chart
Click and dragPan the chart
↺ Reset ZoomRestore original chart view

Bus Types

TypeDescription
PQLoad bus — P and Q specified
PVGenerator bus — P and |V| specified
REFSlack/Reference bus — |V| and θ specified

Real-Time Collaboration

Click the Share button in the toolbar to start a collaborative session. A unique invite URL will be generated — share it with colleagues so they can join the same session.

FeatureDescription
Shared canvasAll diagram changes (add, move, delete, properties) are synchronised in real time
Shared resultsLoad Flow and Transient Analysis results are broadcast to all participants automatically
Shared settingsSimulation parameters (SETTINGS tab) are synchronised across the session
ChatUse the collaboration panel (bottom-right) to send messages to all participants
Cursor sharingEach participant's cursor is visible to others on the canvas

Import / Export

FormatAction
MATPOWER .mFile → Import MATPOWER (.m)… — builds the diagram automatically, ready to run Load Flow
Diagram SVG / PNGFile → Export Diagram… — a dialog lets you choose the format
Run Load Flow (F5) to see results here.
Variable:
Run Transient Analysis (F6) to see results here.
INPUT DATA
Select an element on the canvas.
BUS

Name:
Type: Vmag (pu):
Theta (deg):
P (MW):
Q load (MVAR):
Qgmin (MVAR):
Qgmax (MVAR):
TRANSFORMER

Name:
R (pu):
X (pu):
B (pu):
TAP:
PHI (rad):
LINE

Name:
R (pu):
X (pu):
B (pu):
GENERATOR

Name:

Model:
H (s):

D:

xd' (pu):

xq' (pu):

xd (pu):

xq (pu):

Td'0 (s):

Tq'0 (s):


AVR Type:
Ka:

Ta (s):

Ke:

Te (s):

Kf:

Tf (s):

Aex:

Bex:

Urmin:

Urmax:

Ka:

Ta (s):

Kf:

Tf (s):

Tr (s):

Vrmin:

Vrmax:

Kc:

Kd:

Ki:


GOV Type:
R (pu):

T1 (s):

T2 (s):

T3 (s):

Dt:

Pmax (pu):

Pmin (pu):

R (pu):

Tg (s):

Pmax (pu):

Pmin (pu):

LOAD

Name:
Pl (MW):
Ql (MVAR):
LOAD FLOW Power base (MVA):

Max iterations:

Tolerance:

TRANSIENT ANALYSIS Freq. base (Hz):

Start time (s):

Stop time (s):

Step size (s):

SIMULATION EVENTS
Add fault, line-open or reclose events.
Bus/Branch # is the 1-based index in the simulation matrices.