1pub use powerio_tx::{
44 BalancedNetwork, Branch, Bus, BusId, BusType, ConnectivityReport, Extras, GenCost, Generator,
45 Hvdc, IndexCore, IndexedNetwork, Load, POWER_MODELS_ANGLE_BOUND_PAD, Shunt, SourceFormat,
46 Storage,
47};
48
49pub(crate) use powerio_tx::{indexed, network};
51
52pub mod diagnostics;
53pub mod error;
54pub use error::{ElementCounts, Error, PiecewiseCostInvalidity, Result, ScenarioMismatch};
55
56pub type SparseMatrix = sprs::CsMat<f64>;
58
59mod ac_jacobian;
60mod acopf;
61mod dc_operators;
62mod dcopf;
63pub mod io;
64pub mod matrix;
65mod opf;
66pub mod pipeline;
67pub mod synth;
68
69pub use ac_jacobian::{PowerFlowJacobian, VoltageCoordinates, calc_power_flow_jacobian};
70pub use acopf::{
71 AcBranchData, AcBusData, AcGeneratorData, AcOpfAssemblyOptions, AcOpfPreparation,
72 AcPfAssemblyOptions, AcPfBusData, AcPfGeneratorData, AcPfPreparation, AcStorageData,
73 NodalAcGeneratorData, PreparedAcBusSpecification, build_ac_opf_preparation,
74 build_ac_pf_preparation,
75};
76pub use dc_operators::{DcOperators, ReferenceConstrainedSystem};
77pub use dcopf::{
78 DcBranchParameters, DcGeneratorParameters, DcOpfAssemblyOptions, DcOpfBundleMetadata,
79 DcOpfBundleOptions, DcOpfMatrices, DcOpfOutputs, DcOpfPreparation, NodalGeneratorParameters,
80 Units, build_dc_opf_preparation, calc_dc_opf_matrices, emit_dcopf_bundle,
81};
82pub use opf::{AnalysisBranchSource, PiecewiseLinearCost, PreparedObjective};
83
84pub use matrix::multiconductor::{
85 AugmentedSystem, DistNode, MulticonductorAdmittance, MulticonductorNodeIndex, NodeRef,
86 calc_multiconductor_admittance_matrix,
87};
88pub use matrix::{
89 BranchSusceptanceFormula, BuildOptions, GroundedIndexMap, MatrixStats, Scheme,
90 SensitivityMatrices, SensitivityMatrixMetadata, SensitivityMetadata, SensitivityOptions,
91 SensitivitySolver, SensitivitySolverPath, ZeroImpedanceRule, ZeroImpedanceSkips,
92 calc_adjacency_matrix, calc_admittance_matrix, calc_bdoubleprime_matrix, calc_bprime_matrix,
93 calc_diagonal, calc_lacpf_matrix, calc_lodf, calc_ptdf, calc_ptdf_lodf,
94 calc_ptdf_lodf_with_options, calc_reference_indicator, calc_susceptance_diagonal,
95 calc_unit_vector, calc_weighted_laplacian, calc_zero_impedance_skips, check_sddm, ground_at,
96 ground_at_each,
97};
98pub use pipeline::{
99 MatrixKind, Pipeline, PipelineOutputs, RhsKind, calc_matrix, calc_matrix_stats_for_kind,
100 calc_zero_impedance_skips_for_kind, sanitize_stem, select_zero_impedance_rule_for_kind,
101};
102
103#[cfg(feature = "gridfm")]
104pub use io::gridfm::{
105 GridfmDataset, GridfmOptions, GridfmOutputs, GridfmSnapshot, GridfmTables, build_gridfm_batch,
106 build_gridfm_dataset, emit_gridfm_batch, emit_gridfm_dataset, number_snapshots,
107 to_gridfm_record_batches, to_gridfm_record_batches_single,
108};