package mods.eln.sim; import mods.eln.sim.mna.component.Bipole; import mods.eln.sim.mna.component.Component; import mods.eln.sim.mna.component.Line; import mods.eln.sim.mna.misc.MnaConst; import mods.eln.sim.mna.state.State; import mods.eln.sim.mna.state.VoltageStateLineReady; public class ElectricalLoad extends VoltageStateLineReady { public static final State groundLoad = null; private double Rs = MnaConst.highImpedance; public ElectricalLoad() { } //public VoltageState state = new VoltageState(); public void setRs(double Rs) { if (this.Rs != Rs) { this.Rs = Rs; for (Component c : getConnectedComponents()) { if (c instanceof ElectricalConnection) { ((ElectricalConnection) c).notifyRsChange(); } } } } public double getRs() { return Rs; } public void highImpedance() { setRs(MnaConst.highImpedance); } // ArrayList<ElectricalConnection> electricalConnections = new ArrayList<ElectricalConnection>(4); public double getI() { double i = 0; for (Component c : getConnectedComponents()) { if (c instanceof Bipole && (!(c instanceof Line))) i += Math.abs(((Bipole) c).getCurrent()); } return i * 0.5; } public double getCurrent() { return getI(); } }