Skip to main content

gridoxide/
lib.rs

1// The sparse LU backends live in their own crate; re-exporting them under
2// their old module names keeps `crate::sparse::…` working inside this crate
3// and `gridoxide::sparse::…` working for everyone else.
4#[cfg(feature = "klu")]
5pub use gridoxide_sparse::sparse_klu;
6#[cfg(feature = "pardiso")]
7pub use gridoxide_sparse::sparse_pardiso;
8pub use gridoxide_sparse::{block_sparse, klu_native, lu, sparse};
9// Likewise the solvers: the network model, power flow and the analyses built
10// on it, state estimation and short circuit, plus `run_power_flow` and its
11// types at the crate root.
12pub use gridoxide_core::{
13    OuterLoopOutcome, PowerFlowInit, PowerFlowMethod, PowerFlowOptions, PowerFlowReport,
14    RemoteControlData, TapData, initialize_newton, run_power_flow, run_power_flow_analysis,
15    run_power_flow_analysis_from_ybus, run_power_flow_with_remote,
16};
17pub use gridoxide_core::{
18    ac_sensitivity, batch, bde, branch_flow, constrained, continuation, dc, dispatch,
19    injection_hessian, jacobian, json, linear, measurement, network, outerloop, qv, ratings, roots,
20    scenario, se, shortcircuit, solver, switches, topology, types,
21};
22
23#[cfg(feature = "capi")]
24pub mod capi;
25#[cfg(feature = "cgmes")]
26pub mod cgmes;
27#[cfg(feature = "dynamics")]
28pub mod dynamics;
29#[cfg(feature = "iidm")]
30pub mod iidm;
31#[cfg(any(
32    feature = "ucte",
33    feature = "iidm",
34    feature = "cgmes",
35    feature = "matpower"
36))]
37pub mod load;
38#[cfg(feature = "matpower")]
39pub mod matpower;
40#[cfg(feature = "opf")]
41pub mod opf;
42pub mod pgm;
43#[cfg(feature = "python")]
44mod python;
45#[cfg(feature = "rao")]
46pub mod rao;
47#[cfg(feature = "ucte")]
48pub mod ucte;