Exemple #1
0
        public CoolingProfileGenerator([NotNull] Profile temperatures, double coolingTemperature, double roomTemperature, [NotNull] ILogger logger)
        {
            if (temperatures.EnergyOrPower != EnergyOrPower.Temperatures)
            {
                throw new FlaException("Not a temperature profile");
            }

            _logger = logger;
            _hdp    = new CoolingDegreeProfile(temperatures, coolingTemperature, roomTemperature);
        }
Exemple #2
0
        public void RunTest()
        {
            Profile prof             = Profile.MakeRandomProfile(new Random(), "myprofi", Profile.ProfileResolution.QuarterHour, -20, 40);
            CoolingDegreeProfile hdp = new CoolingDegreeProfile(prof, 25, 23);

            hdp.InitializeDailyAmounts(1000);
            Info("sum degree days: " + hdp.CalculateHeatingDegreeDaySum());
            Info("sum energy: " + hdp.CalculateYearlyConsumptionSum());
            foreach (var day in hdp.CoolingDegreeHours)
            {
                Info(day.ToString());
                if (day.DegreeHours < 0)
                {
                    throw new FlaException("Negative degree hours");
                }
            }

            hdp.CalculateYearlyConsumptionSum().Should().BeApproximately(1000, 1);
        }