Expand description
gridoxide’s solvers, without any file format.
- The network model:
types,network(the Y-bus and island classification),topology,branch_flow,jacobian,ratingsandjson, gridoxide’s own network document. - Power flow:
run_power_flow, Newton-Raphson (solver) with its outer loops (outerloop) or one of the direct methods inlinear, and what is built directly on it — batches (batch,bde,scenario), sensitivities (ac_sensitivity), continuation and Q-V curves (continuation,qv), HVDC (dc), node-breaker switching (switches,constrained), reactive dispatch (dispatch) and the injection Hessian OPF needs (injection_hessian). - State estimation (
se) and itsmeasurementmodel. - Short circuit (
shortcircuit).
Every reader and writer of a file format lives in gridoxide, on top, as
do OPF, remedial actions, dynamics and the C and Python bindings. The
sparse LU is gridoxide-sparse’s.
Modules§
- ac_
sensitivity - AC sensitivity analysis: how a converged operating point responds to a small change.
- batch
- Batched power flow: one topology, many scenarios, solved across all cores.
- bde
- Block-diagonal embedding: solve B scenarios as one sparse system.
- branch_
flow - Branch terminal power flows and their partial derivatives.
- constrained
- A switch as an exact equality constraint, rather than as a stiff branch.
- continuation
- Continuation power flow: how much further can this network be loaded?
- dc
- Real-valued DC network model and Newton-Raphson solver.
- dispatch
- Which machine produced what reactive power.
- injection_
hessian - Second derivatives of the bus power injections.
- jacobian
- Topology-derived Jacobian assembly: analyze the sparsity pattern once, then refill values every iteration at fixed offsets.
- json
- linear
- Linearized power-flow methods: the two different things the literature and the reference tools both call “linear power flow”.
- measurement
- The measurement model state estimation is fitted against: what was observed, where, and how much it is trusted.
- network
- outerloop
- Outer loops: the controls that sit around a Newton-Raphson solve.
- qv
- Q-V curves: how much reactive headroom does one bus have?
- ratings
- Branch operating limits — the permanent rating and its temporary overload allowances.
- roots
- Bracketed root finding, shared by the event locators in
continuationand gridoxide’sdynamics. - scenario
- What a batch varies: per-bus overrides and branch outages against a shared template, and the errors a batch reports for them.
- se
- State estimation: recovering the most likely grid state from noisy, redundant, partial measurements.
- shortcircuit
- Short-circuit calculation, IEC 60909 style.
- solver
- switches
- Giving a retained switch a formulation.
- topology
- Network topology: the node/switch graph, and the reductions over it.
- types
Structs§
- Outer
Loop Outcome - The outer loops’ side of a solve, gathered so a caller need not downcast
outerloop::OuterLooptrait objects to read their reports. - Power
Flow Options - Everything
crate::run_power_flowneeds to know. - Power
Flow Report - Result of a full power-flow analysis: the solved (or placeholder, for
unreferenced islands) buses, plus a per-connected-component breakdown of
how each one was resolved — see
solver::IslandReport/solver::IslandStatus. - Remote
Control Data - The regulating machines a solve may act on.
- TapData
- The tap tables and regulating controls a solve may act on.
Enums§
- Power
Flow Init - Where
PowerFlowMethod::NewtonRaphsonstarts from. Ignored by the direct methods, which have no starting point. - Power
Flow Method - Which method
crate::run_power_flowuses.
Functions§
- initialize_
newton - Sets Newton’s starting point in
buses, asrun_power_flowdoes before its first iteration. - run_
power_ flow - Runs a power flow by the method named in
opts. - run_
power_ flow_ analysis - run_
power_ flow_ analysis_ from_ ybus - Runs a power flow analysis given a pre-built Y-bus matrix.
Intended for the 3-phase case too, where
busesis a 3N-element vector andybusis the 3N×3N phase-domain admittance matrix frombuild_ybus_3ph— a physical bus’s 3 phase-rows always share the sameBusType, so the island partitioningPersistentSolver::solvedoes internally is safe for that case too (worst case, in a network with perfectly balanced zero/positive-sequence impedances, phases may partition into separate components rather than staying grouped by physical bus; each still carries its own valid reference, so this doesn’t change correctness, only granularity). - run_
power_ flow_ with_ remote run_power_flowwith the regulating machines a remote-voltage control needs. The two-argument form is the shorter path for every caller that has none, which is every importer but CGMES.