package mods.eln.sim; public class FurnaceProcess implements IProcess { public ThermalLoad load; public double combustibleEnergy = 0; public double nominalCombustibleEnergy = 1; public double nominalPower = 1; private double gain = 1.0; private double gainMin = 0.0; public FurnaceProcess(ThermalLoad load) { this.load = load; } @Override public void process(double time) { double energyConsumed = getP() * time; combustibleEnergy -= energyConsumed; load.PcTemp += energyConsumed / time; } public void setGain(double gain) { if (gain < gainMin) gain = gainMin; if (gain > 1.0) gain = 1.0; this.gain = gain; } public void setGainMin(double gainMin) { this.gainMin = gainMin; setGain(getGain()); } public double getGain() { return gain; } public double getP() { return combustibleEnergy / nominalCombustibleEnergy * nominalPower * gain; } }