package mods.eln.sim; import mods.eln.Eln; public class ThermalLoadInitializerByPowerDrop { public double warmLimit, coolLimit; double heatingTao; double TConductivityDrop; public double Rs, Rp, C; public ThermalLoadInitializerByPowerDrop(double warmLimit, double coolLimit, double heatingTao, double TConductivityDrop) { this.TConductivityDrop = TConductivityDrop; this.coolLimit = coolLimit; this.heatingTao = heatingTao; this.warmLimit = warmLimit; } public void setMaximalPower(double P) { C = P * heatingTao / (warmLimit); Rp = warmLimit / P; Rs = TConductivityDrop / P / 2; Eln.simulator.checkThermalLoad(Rs, Rp, C); } public void applyTo(ThermalLoad load) { load.set(Rs, Rp, C); } public ThermalLoadInitializerByPowerDrop copy() { ThermalLoadInitializerByPowerDrop thermalLoad = new ThermalLoadInitializerByPowerDrop(warmLimit, coolLimit, heatingTao, TConductivityDrop); thermalLoad.Rp = Rp; thermalLoad.Rs = Rs; thermalLoad.C = C; return thermalLoad; } }