public HeatpumpProfileGenerator([NotNull] Profile temperatures, double heatingTemperature, double roomTemperature, [NotNull] ILogger logger)
        {
            if (temperatures.EnergyOrPower != EnergyOrPower.Temperatures)
            {
                throw new FlaException("Not a temperature profile");
            }

            _hdp = new HeatingDegreeProfile(temperatures, heatingTemperature, roomTemperature);
            logger.Info("Initalized the heat pump profile generator", Stage.ProfileGeneration, nameof(HeatpumpProfileGenerator));
        }
Ejemplo n.º 2
0
        public void RunTest()
        {
            Profile prof             = Profile.MakeRandomProfile(new Random(), "myprofi", Profile.ProfileResolution.QuarterHour, -20, 40);
            HeatingDegreeProfile hdp = new HeatingDegreeProfile(prof, 15, 20);

            hdp.InitializeDailyAmounts(1000);
            Info("sum degree days: " + hdp.CalculateHeatingDegreeDaySum());
            Info("sum energy: " + hdp.CalculateYearlyConsumptionSum());
            foreach (var day in hdp.HeatingDegreeDays)
            {
                Info(day.ToString());
            }

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