2 min read

GUI Dashboard

Status: Experimental (Active Development)

A native desktop application for interactive power grid visualization and analysis, built with Tauri 2.0 + Svelte 5 + D3.js.

Features

FeatureDescription
GridViewForce-directed network visualization with D3.js
Power FlowDC and AC Newton-Raphson solving
DC-OPFDC Optimal Power Flow with LMPs and congestion
N-1 ContingencySingle-branch outage screening with LODF
PTDF AnalysisTransfer sensitivity factors for bus pairs
LODF MatrixLine Outage Distribution Factors for N-k analysis
Grid SummaryBus/branch counts, MW totals, voltage ranges
Island DetectionFind disconnected network components
Thermal AnalysisPre-contingency thermal headroom
Y-bus ExplorerInteractive admittance matrix heatmap
Batch JobsParallel execution with progress tracking
JSON ExportFull network model export for external tools

Running the GUI

cd crates/gat-gui
pnpm install
pnpm tauri dev

Architecture

gat-gui/
├── src/                    # Svelte frontend
│   ├── routes/+page.svelte # Main application shell
│   └── lib/
│       ├── GridView.svelte      # D3 network visualization
│       ├── YbusExplorer.svelte  # Admittance matrix viewer
│       ├── PtdfPanel.svelte     # PTDF transfer analysis
│       └── BatchJobPane.svelte  # Batch execution UI
├── src-tauri/              # Rust backend
│   └── src/
│       ├── commands.rs     # Tauri commands (IPC)
│       └── state.rs        # AppState for batch tracking
└── static/                 # Static assets

Tauri Commands

CommandDescription
load_caseLoad network from MATPOWER/Arrow
solve_power_flowRun AC Newton-Raphson
solve_dc_power_flowRun DC linear approximation
solve_dc_opfDC Optimal Power Flow with LMPs
run_n1_contingencyN-1 security screening
get_ybusGet sparse admittance matrix
compute_ptdfPTDF for bus-to-bus transfer
get_lodf_matrixLine Outage Distribution Factors
get_grid_summaryNetwork statistics and counts
detect_islandsFind disconnected components
get_thermal_analysisPre-contingency thermal headroom
export_network_jsonFull network export to JSON
run_batch_jobStart async batch execution

Technology Stack

  • Tauri 2.0 — Rust backend with webview frontend
  • Svelte 5 — Reactive UI with runes
  • D3.js v7 — Force simulation, scales, zoom
  • TypeScript — Type safety for frontend

See crates/gat-gui/README.md for full documentation.