mod balanced;
mod multiconductor;
mod scuc;
pub use balanced::{AcOpfSolution, AcPfSolution, DcOpfSolution, DcPfSolution, GeneratorDispatch};
pub use multiconductor::{McAcOpfSolution, McAcPfSolution};
pub use scuc::{
AcScucSolution, SCUC_DEVICE_OUTPUT_SERIES, SCUC_NETWORK_OUTPUT_SERIES, ScucDeviceOutputs,
ScucNetworkOutputs,
};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
#[serde(rename_all = "snake_case", tag = "kind")]
#[non_exhaustive]
pub enum Termination {
Converged,
IterationLimit,
Failed,
#[default]
NotReported,
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub struct Residuals {
pub max_active_power_mismatch: Option<f64>,
pub max_reactive_power_mismatch: Option<f64>,
}
pub type Producer = Option<String>;