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)); }
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); }