How codedbydollys10/gridtwin works
GridTwin takes solar and load CSV profiles, validates and aligns them, then simulates a distribution grid over time. Users inspect the resulting history in an interactive 3D twin and analytics, and can compare baseline and DER cases or run what-if scenarios. The README documents weather context, losses, violations, and battery behavior as product capabilities. The sampled backend excerpt is partial, so some simulation wiring follows documented responsibilities rather than inspected call sites.
Main entry points: main.py Simulation API · api.ts API Client · timestep.py Timestep Runner · Home.tsx Dashboard
Components 20
User Interface
- Dashboard
frontend/client/src/pages/Home.tsx - 3D Digital Twin
frontend/client/src/components/digital-twin/DigitalTwin.tsx - Grid Geometry
frontend/client/src/components/digital-twin/GridBuses.tsx
Input And API
- API Client
client/src/lib/api.ts - Simulation API
backend/app/main.py - CSV Validation
backend/app/services/csv_service.py - Weather Context
backend/app/services/weather.py
Simulation Engine
- Grid Model
backend/app/simulation/network.py - Timestep Runner
backend/app/simulation/timestep.py - Power Flow
backend/app/simulation/powerflow.py - Battery Dispatch
backend/app/simulation/battery.py
Results And Analysis
- Electrical Results
backend/app/simulation/results.py - Simulation History
backend/app/main.py - Constraint Detection
backend/app/simulation/violations.py - Power Loss Analytics
backend/app/main.py - Battery Analytics
backend/app/main.py - Baseline Comparison
backend/app/simulation/comparison.py - What-If Analysis
backend/app/simulation/whatif.py
Other components
- Grid Operator
- Weather Service
Connections 25
- Grid Operator → Dashboard: operates
- Dashboard → API Client: requests data
- API Client → Simulation API: calls API
- Dashboard → 3D Digital Twin: renders grid
- 3D Digital Twin → Grid Geometry: draws components
- Simulation API → CSV Validation: validates profiles
- Simulation API → Grid Model: creates grid
- Simulation API → Timestep Runner: advances simulation
- Timestep Runner → Power Flow: runs power flow
- Timestep Runner → Battery Dispatch: dispatches storage
- Timestep Runner → Electrical Results: collects outputs
- Simulation API → Simulation History: retains timesteps
- Simulation API → Constraint Detection: detects limits
- Simulation API → Power Loss Analytics: serves loss data
- Simulation API → Battery Analytics: serves battery data
- Simulation API → Baseline Comparison: runs comparison
- Simulation API → What-If Analysis: runs scenarios
- Simulation History → API Client: returns history
- Constraint Detection → API Client: returns violations
- Power Loss Analytics → API Client: returns losses
- Battery Analytics → API Client: returns battery data
- Baseline Comparison → API Client: returns comparison
- What-If Analysis → API Client: returns scenarios
- Weather Service → Weather Context: provides weather
- Weather Context → Simulation API: supplies context