Power-Flow Configuration

Start-source concepts

Start sourceMeaningRequires previous solution?Typical useRisk
Flat startSynthetic 1.0 pu / 0° style initializationnoSmall/simple casesCan converge poorly on stressed grids
DC angle startSynthetic DC-like angle estimatenoLarge transmission-like gridsIgnores full AC effects
MATPOWER imported referenceBUS.VM/VA, GEN.VG, imported setpoint logicmaybeValidation against imported casesCan resemble using known answer
Historical valuesPrevious trusted operating pointyesRepeated operationsStale operating point
SCADA/state-estimation valuesMeasured/estimated stateyesOperations workflowsMeasurement noise/outliers
Profile valuesExplicit configured profile valuesmaybeReproducible studiesMay not match topology changes

Solver core options

YAML pathTypeDefaultAllowed valuesMeaningUse whenAvoid whenPerformance impactInteractions
power_flow.methodSymbol/StringrectangularrectangularAC solver formulation.Always (current core).N/AFixed single implementation.Must match benchmark.methods.
power_flow.sparseBooltruetrueSparse linear algebra mode.Always (required).N/AScales better for large systems.Validated together with method.
power_flow.flatstartBooltruetrue, falseLegacy flatstart toggle.Synthetic starts.When start projection and imported starts are used.Low.Combined into start_mode.
power_flow.tolFloat641.0e-5positive realPF tolerance.Accuracy-sensitive studies.Overly tight on big batches.Tighter means more iterations.max_iter.
power_flow.max_iterInt80positive integerIteration cap.Hard cases.Very low values.Upper runtime bound.tol, qlimits.
power_flow.autodampBooltruetrue, falseAdaptive damping.Difficult convergence.Strict algorithm comparison.Small overhead, often fewer failures.autodamp_min.
power_flow.autodamp_minFloat640.05positive realMinimum damping factor.Stabilizing hard cases.Near-zero damping on easy grids.Lower can increase iterations.Active only with autodamp=true.

Start mode options

YAML pathTypeDefaultAllowed valuesMeaningUse whenAvoid whenPerformance impactInteractions
power_flow.start_mode.angle_modeSymbol/Stringdcclassic, dc, bus_va_blend, matpower_vaAngle initialization source mode.Transmission-like starts.If trusted measured/historical state exists.Can reduce iterations.try_dc_start, dc_angle_limit_deg.
power_flow.start_mode.voltage_modeSymbol/Stringprofile_blendclassic, pv_gen_vg, pv_bus_vm, all_bus_vm, profile_blend, bus_vm_va_blend (legacy alias)Voltage-magnitude/angle blend strategy.Imported-reference assisted starts.Untrusted imported data.Small startup overhead.blend_lambdas, reuse_import_data.
power_flow.start_mode.profile_sourceSymbol/Stringmatpower_referenceflat, dc, bus_metadata, historical_profile, matpower_reference, state_estimation, scada_snapshotSource for external or model-derived start profiles. matpower_reference means imported BUS.VM/BUS.VA values for regression/benchmarking/import reproduction.Profile-aware starts.When source data is unavailable or untrusted.Minimal parsing overhead.Keep source explicit for diagnostics and reproducibility.
power_flow.start_mode.start_projectionBooltruetrue, falseEnables start-projection workflow.Robustness on hard cases.Minimal-path microbench runs.Extra startup pass.Gates start-projection sub-options.
power_flow.start_mode.try_dc_startBooltruetrue, falseTry DC candidate start.Large transmission cases.Highly resistive distribution cases.Low overhead.dc_angle_limit_deg.
power_flow.start_mode.try_blend_scanBooltruetrue, falseScan blend candidates.Mixed/tricky start data.Easy cases needing speed.Startup cost ∝ lambda count.blend_lambdas.
power_flow.start_mode.branch_guardBooltruetrue, falseBranch sanity guard for candidate starts.Stability-focused runs.Rarely disabled.Low.Candidate measurement options.
power_flow.start_mode.measure_candidatesBooltruetrue, falseScore/select among candidates.Multiple start candidates.Fastest startup path only.Low/medium startup overhead.try_dc_start, try_blend_scan.
power_flow.start_mode.accept_unmeasured_dc_startBoolfalsetrue, falseAllow DC start without measurement checks.Synthetic studies.Measurement-driven workflows.Can avoid fallback retries.try_dc_start.
power_flow.start_mode.reuse_import_dataBooltruetrue, falseReuse imported MATPOWER references.Trusted imports.Uncertain conversion data.Small reduction in recomputation.matpower_import.* voltage reference keys.
power_flow.start_mode.blend_lambdasVector{Float64}[0.25,0.5,0.75]real vector (typ. 0..1)Lambda candidates for blend scan.Need robust candidate search.Very large lambda sets.Linear startup growth with vector size.try_blend_scan.
power_flow.start_mode.dc_angle_limit_degFloat6460.0positive realDC-start angle magnitude cap (deg).Conservative angle starts.Overly restrictive values.Negligible.try_dc_start.

Q-limit options and guard

YAML pathTypeDefaultAllowed valuesMeaningUse whenAvoid whenPerformance impactInteractions
power_flow.qlimits.enabledBooltruetrue, falseMaster switch for Q-limit enforcement.Realistic PV/PQ behavior needed.Pure unconstrained PF tests.Can increase switching iterations.Gates all qlimits.*.
power_flow.qlimits.start_iterInt3integerFirst iteration index for Q limits.Delay switching noise early.Very late switching on hard cases.Affects convergence speed.start_mode, auto_q_delta_pu.
power_flow.qlimits.start_modeSymbol/Stringiteration_or_autoiteration, auto, iteration_or_autoActivation policy.Mixed robustness/perf runs.Mismatched with expected policy.Small control logic overhead.auto_q_delta_pu.
power_flow.qlimits.auto_q_delta_puFloat641e-4nonnegative realAuto activation threshold.Fine-tuning switch timing.Extreme values.Low.start_mode=auto or iteration_or_auto.
power_flow.qlimits.hysteresis_puFloat640.01nonnegative realHysteresis margin near Q limits.Reduce switch chattering.Too large if strict tracking needed.Can reduce oscillatory iterations.cooldown_iters, guard modes.
power_flow.qlimits.cooldown_itersInt1nonnegative integerCooldown iterations after switching.Reduce repeated toggling.Too long cooldown on tight limits.Affects convergence pace.Hysteresis and freeze behavior.
power_flow.qlimits.trace_busesVector{Int}[]bus-id vectorTrace selected bus events.Targeted diagnostics.Large full-network trace.Logging overhead if populated.Output and diagnostics verbosity.
power_flow.qlimits.lock_pv_to_pq_busesVector{Int}[]bus-id vectorForce listed buses into PQ-lock behavior.Known problematic buses.Blindly on all buses.Can simplify switching dynamics.Guard modes.
power_flow.qlimits.guard.enabledBooltruetrue, falseEnable guard subsystem.Prevent unstable switching.Pure baseline comparisons.Small runtime overhead.Guard fields below.
power_flow.qlimits.guard.min_q_range_puFloat640.02nonnegative realRange threshold for narrow/zero detection.Robust zero/narrow range handling.Too high threshold.Low.Narrow/zero modes.
power_flow.qlimits.guard.narrow_range_modeSymbol/Stringlock_pqprefer_pq, lock_pqAction for narrow Q range units.Convergence protection.If strict PV control required.Can reduce oscillations.Hysteresis/cooldown.
power_flow.qlimits.guard.zero_range_modeSymbol/Stringlock_pqlock_pqAction for zero Q range units.Deterministic limit handling.N/ALow.Lock lists and violation mode.
power_flow.qlimits.guard.violation_modeSymbol/Stringlock_pqdelayed_switch, lock_pqAction on persistent violations.Robustness under bad limits.Aggressive switching studies.Can add control logic.Threshold and switch caps.
power_flow.qlimits.guard.violation_threshold_puFloat641e-4nonnegative realViolation threshold.Tune sensitivity.Extreme values.Low.violation_mode.
power_flow.qlimits.guard.max_switchesInt3nonnegative integerMax switches before freeze logic.Stop chattering.Too low on valid dynamic cases.Can reduce wasted iterations.freeze_after_repeated_switching.
power_flow.qlimits.guard.max_remaining_violationsInt0nonnegative integerAllowed violations at guarded exit.Controlled tolerance policies.Strict zero-violation policies.Low.accept_bounded_violations.
power_flow.qlimits.guard.accept_bounded_violationsBoolfalsetrue, falsePermit bounded residual violations.Practical operations tradeoff.Strict compliance studies.May reduce retries.max_remaining_violations.
power_flow.qlimits.guard.freeze_after_repeated_switchingBooltruetrue, falseFreeze after repeated switch cycling.Anti-chatter behavior.Cases requiring unrestricted switching.Can stabilize solves.max_switches.
power_flow.qlimits.guard.logBooltruetrue, falseEmit guard logs.Diagnostics/debugging.Quiet batch runs.I/O overhead when enabled.output.console_q_limit_events.