You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add PowerModelsDistribution.jl support for unbalanced distribution networks #14
PowerModelsDiff currently supports single-phase balanced transmission networks via PowerModels.jl. PowerModelsDistribution.jl (PMD) is listed in Project.toml (v0.16.0) but is not used anywhere in the codebase.
This issue scopes the effort to extend PowerModelsDiff to unbalanced multi-phase distribution networks.
Key Barriers
Data format differences: PMD uses its own ENGINEERING/MATHEMATICAL data models with per-phase vectors and matrix impedances, rather than PowerModels' scalar bus/branch format
Per-phase matrices: Sensitivity matrices become block-structured (3×3 per element pair for three-phase). Incidence matrix A, admittance/susceptance data, and the Laplacian all need multi-phase generalizations
Expanded KKT system: The OPF KKT system grows significantly with per-phase variables, constraints, and cross-phase coupling (mutual impedances)
Topology: Distribution networks are typically radial, which may allow specialized (more efficient) sensitivity computations vs. the general meshed-network approach
Milestones
Data parsing: DistributionNetwork type(s) that wrap PMD data into the PowerModelsDiff type hierarchy, handling phase indexing, multi-phase admittance matrices, and transformer models
Unbalanced power flow sensitivities: Per-phase voltage and current sensitivities, either by extending DCPowerFlowState / ACPowerFlowState or creating distribution-specific variants
Distribution OPF sensitivities: KKT-based implicit differentiation for the multi-phase OPF formulation, reusing the caching patterns from DCSensitivityCache / ACSensitivityCache
PMD is listed in Project.toml (v0.16.0), so the dependency is ready to go, but there's no PMD-related code in the source tree yet.
This is a substantial feature with some interesting design challenges:
Multi-phase data parsing (PMD's ENGINEERING/MATHEMATICAL models with per-phase vectors and matrix impedances)
Block-structured sensitivity matrices (3×3 per element pair for three-phase)
Expanded KKT systems with per-phase variables and cross-phase coupling
Distribution networks are typically radial, which could enable more efficient sensitivity computations
The three milestones outlined in the issue (data parsing → unbalanced PF sensitivities → distribution OPF sensitivities) provide a good incremental path. The existing IDMapping infrastructure and type hierarchy give a starting point for the data translation layer.
Activity
samtalki commentedon Feb 28, 2026
Related to issue #6
samtalki commentedon Mar 4, 2026
Status update (March 2026)
PMD is listed in
Project.toml(v0.16.0), so the dependency is ready to go, but there's no PMD-related code in the source tree yet.This is a substantial feature with some interesting design challenges:
The three milestones outlined in the issue (data parsing → unbalanced PF sensitivities → distribution OPF sensitivities) provide a good incremental path. The existing
IDMappinginfrastructure and type hierarchy give a starting point for the data translation layer.samtalki commentedon Aug 11, 2026
status update: powerio-dist should make this straightforward. https://crates.io/crates/powerio-dist