Example #1
0
        protected virtual void Equalize()
        {
            float pointTemp;

            if (room.UsesOutdoorTemperature)
            {
                pointTemp = room.Temperature;
            }
            else
            {
                pointTemp = (room.Temperature * room.CellCount +
                             compAir.connectedNet.NetTemperature * compAir.connectedNet.nodes.Count)
                            / (room.CellCount + compAir.connectedNet.nodes.Count);
            }

            if (compTempControl != null)
            {
                // Trying to remove temperature spiking
                if (compTempControl.targetTemperature < room.Temperature)
                {
                    pointTemp = Mathf.Max(pointTemp, compTempControl.targetTemperature) - 1;
                }
                else
                {
                    pointTemp = Mathf.Min(pointTemp, compTempControl.targetTemperature) + 1;
                }
            }

            compAir.EqualizeWithNet(pointTemp, EqualizationRate);
            if (!room.UsesOutdoorTemperature)
            {
                compAir.EqualizeWithRoom(room, pointTemp, EqualizationRate);
            }
        }
        protected virtual void Equalize()
        {
            float pointTemp;

            if (room.UsesOutdoorTemperature)
            {
                pointTemp = room.Temperature;
            }
            else
            {
                pointTemp = (room.Temperature * room.CellCount +
                             compAir.connectedNet.NetTemperature * compAir.connectedNet.nodes.Count * 5)
                            / (room.CellCount + compAir.connectedNet.nodes.Count * 5);
            }

            if (compTempControl != null)
            {
                // Trying to remove temperature spiking
                if (compTempControl.targetTemperature < room.Temperature)
                {
                    pointTemp = Mathf.Max(pointTemp, compTempControl.targetTemperature) - 1;
                }
                else
                {
                    pointTemp = Mathf.Min(pointTemp, compTempControl.targetTemperature) + 1;
                }
            }
//#if DEBUG
//            Log.Message("RedistHeat: DuctComp ----- Device: " + this + ", pointTemp: " + pointTemp);
//#endif
            compAir.EqualizeWithNet(pointTemp, EqualizationRate);
            if (!room.UsesOutdoorTemperature)
            {
                compAir.EqualizeWithRoom(room, pointTemp, EqualizationRate);
            }
        }