Feature Matrix (Quick Overview)

This page gives a compact comparison of what is currently available in Sparlectra for Load Flow and State Estimation.

Legend:

  • ✅ available
  • ⚠️ available with limitations / specific workflow
  • ❌ not available as dedicated feature

Network & modeling features

FeatureLoad Flow (runpf!)State Estimation (runse!)Notes
AC power flow (NR)Main PF entry point is runpf! (polar full / rectangular).
AC state estimation (WLS)Main SE entry point is runse! (experimental status).
Topological bus links (addLink!)⚠️Links are fully integrated in PF workflow/reporting; in SE they are part of network topology context and should be used with care in measurement design.
2-winding transformerSupported in network model and usable in both workflows.
3-winding transformerImplemented via star-equivalent with AUX bus in network construction.
π-equivalent branch modelingCommon branch representation across PF/SE workflows.
Shunts / loads / generators in Net modelShared physical network model and component handling.
MATPOWER import / casesTypical SE studies can start from imported PF-ready networks.

Solvers, operations & limits

FeatureLoad Flow (runpf!)State Estimation (runse!)Notes
Polar full NR solver⚠️PF has dedicated solver mode; SE uses its own WLS iteration and Jacobian evaluation.
Rectangular NR solverAvailable for PF, not as separate SE formulation.
Finite-difference Jacobian option (opt_fd)In PF this toggles FD Jacobian vs analytic Jacobian (not fast-decoupled); not exposed as an SE user option.
Sparse Jacobian option (opt_sparse)⚠️PF supports explicit sparse option; SE internally builds Jacobians for WLS.
Flat start controlAvailable in both PF and SE workflows.
PV/PQ reactive limit handlingPF includes Q-limit logic; SE currently does not expose PV/PQ switching logic.
External solver interfacePF has external solver integration; SE is internal WLS.

State-estimation measurements, observability & diagnostics

FeatureState Estimation (runse!)Notes
SCADA-style measurements (Vm, Pinj, Qinj, Pflow, Qflow)Public measurement types and helper builders are available.
PMU-specific native measurement model (e.g. direct phasor angle/current types)No dedicated PMU enum/types yet; current API is SCADA-style core WLS measurements.
Passive bus / zero-injection (ZIB) support⚠️Implemented via zero-injection pseudo-measurements (not separate hard-constraint block).
Global/local observability analysisMatrix-level and network-level observability helpers are available.
Structural observability checksSparsity/matching-based checks are available.
Numerical observability checksRank/SVD-based checks are available.
Local observability on selected state subsetDedicated local observability helpers are available.
Bad-data diagnostics (global consistency, residual ranking)validate_measurements, runse_diagnostics, summarize_se_diagnostics, print_se_diagnostics.
Deactivate-and-rerun helperOptional one-step rerun on top suspicious measurement; can improve objective but may still remain globally inconsistent.
Markdown/plain diagnostics output`printsediagnostics(...; format=:markdown

Reporting, export & workflow helpers

FeatureLoad Flow (runpf!)State Estimation (runse!)Notes
Human-readable result printingPF and SE both provide textual result output/reporting helpers.
Machine-readable report (ACPFlowReport)Dedicated report container currently exists for PF workflow.
DataFrame-friendly report rowsPF report rows can be converted/used in tabular workflows.
Synthetic measurements from PF resultPF + measurement generators support SE test-data workflows.
Write-back solved states into NetPF updates net states; SE supports updateNet=true.