oxigrid 0.1.2

Pure Rust Energy Systems Simulation & Optimization Library
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum OxiGridError {
    #[error(
        "power flow did not converge after {iterations} iterations (residual: {residual:.2e})"
    )]
    Convergence { iterations: usize, residual: f64 },

    #[error("invalid network: {0}")]
    InvalidNetwork(String),

    #[error("parse error: {0}")]
    ParseError(String),

    #[error("linear algebra error: {0}")]
    LinearAlgebra(String),

    #[error("invalid parameter: {0}")]
    InvalidParameter(String),
}

pub type Result<T> = std::result::Result<T, OxiGridError>;