10 releases
Uses new Rust 2024
| new 0.1.9 | May 4, 2026 |
|---|---|
| 0.1.8 | May 1, 2026 |
| 0.1.7 | Apr 26, 2026 |
| 0.1.1 | Mar 31, 2026 |
#1378 in Algorithms
Used in 6 crates
(4 directly)
2MB
42K
SLoC
surge-hvdc
surge-hvdc provides the HVDC power-flow layer in the Surge workspace. It
covers point-to-point LCC/VSC links, explicit DC-grid solves, and the stable
root entry points that route between the supported solver families.
Stable Root API
The root surface is intentionally small:
solve_hvdcfor HVDC assets embedded in asurge_network::Networksolve_hvdc_linksfor explicitly provided point-to-pointHvdcLinkvaluesHvdcOptionsandHvdcMethodfor solver selectionHvdcSolution,HvdcStationSolution,HvdcDcBusSolution, andHvdcTechnologyfor the canonical result contract- root re-exports of the public HVDC model types such as
HvdcLink,LccLink,VscLink,LccControlMode,VscControlMode, andTapControl
Method Routing
solve_hvdc chooses a method based on topology when
options.method == HvdcMethod::Auto:
Sequentialfor point-to-point HVDC links onlyBlockCoupledfor one explicit VSC-onlydc_gridHybridfor one explicitdc_gridthat includes at least one LCC converter
The root API rejects mixed representations. A single solve must use either point-to-point links or one explicit DC-grid topology, not both.
Namespaces
modelcontains the public HVDC domain typesadvancedexposes lower-level stable solver namespaces for callers that need direct access to sequential, block-coupled, or hybrid solver internalsexperimentalcontains solver paths that are not part of the stable root APIinteropcontains workspace-facing helpers for applying DC-grid injections tosurge-networkmodels
Example
use surge_hvdc::{solve_hvdc, HvdcOptions};
use surge_network::Network;
let net = Network::new("example");
let options = HvdcOptions::default();
let _solution = solve_hvdc(&net, &options);
Notes
HvdcMethod::BlockCoupledrequires an explicit DC grid with VSC converters.HvdcMethod::Hybridrequires an explicit DC grid with at least one LCC converter.- The experimental simultaneous AC/DC solver is not re-exported on the root API by design.
Dependencies
~17MB
~295K SLoC