use std::collections::HashMap;
use num_complex::Complex;
use crate::network::ShuntAdm3Ph;
use crate::types::{Line3Ph, Transformer3PhSeq};
#[derive(Clone, Copy, Debug)]
pub struct ScSource {
pub id: u64,
pub node: usize,
pub y1: Complex<f64>,
pub y0: Complex<f64>,
pub u_ref_angle: f64,
pub u_rated: f64,
}
pub struct ScNetwork3Ph {
pub n_nodes: usize,
pub lines: Vec<Line3Ph>,
pub transformers: Vec<Transformer3PhSeq>,
pub shunts: Vec<ShuntAdm3Ph>,
pub sources: Vec<ScSource>,
pub branch_ids: Vec<u64>,
pub branch_closed: Vec<[bool; 2]>,
pub shunt_ids: Vec<u64>,
pub node_idx: HashMap<u64, usize>,
pub u_rated: Vec<f64>,
pub s_base_va: f64,
}