private static void TestCess([NotNull] CalcEnergyStorageSignal cess, [NotNull] TimeStep timestep, double capacity, double currentfill, [NotNull] List <double> values) { double d = cess.GetValue(timestep, capacity, currentfill); Logger.Info("Timestep:" + timestep + " StorageLevel:" + currentfill + " Result:" + d); values.Add(d); }
public void EnergyStorageSignalTests2() { CalcParameters cp = CalcParameters.GetNew(); cp.DummyCalcSteps = 0; //CalcLoadType clt = new CalcLoadType("clt", "power", "sum", 1, true, Guid.NewGuid().ToStrGuid()); CalcVariable cv = new CalcVariable("myvariable", Guid.NewGuid().ToStrGuid(), 0, "House", Guid.NewGuid().ToStrGuid(), Constants.HouseKey); CalcEnergyStorageSignal cess = new CalcEnergyStorageSignal("blub", 100, 50, 2, cv, Guid.NewGuid().ToStrGuid()); List <double> values = new List <double>(); int i = 0; TestCess(cess, new TimeStep(i++, cp), 100, 100, values); TestCess(cess, new TimeStep(i++, cp), 100, 5, values); TestCess(cess, new TimeStep(i++, cp), 100, 100, values); TestCess(cess, new TimeStep(i++, cp), 100, 5, values); TestCess(cess, new TimeStep(i++, cp), 100, 100, values); TestCess(cess, new TimeStep(i++, cp), 100, 5, values); TestCess(cess, new TimeStep(i++, cp), 100, 100, values); TestCess(cess, new TimeStep(i++, cp), 100, 5, values); TestCess(cess, new TimeStep(i++, cp), 100, 100, values); TestCess(cess, new TimeStep(i++, cp), 100, 5, values); TestCess(cess, new TimeStep(i++, cp), 100, 100, values); TestCess(cess, new TimeStep(i++, cp), 100, 5, values); TestCess(cess, new TimeStep(i++, cp), 100, 100, values); TestCess(cess, new TimeStep(i, cp), 100, 5, values); }
private void SetEnergyStoragesOnHouse([NotNull][ItemNotNull] List <CalcEnergyStorageDto> energyStorages, [NotNull] HouseholdKey householdKey, [NotNull] CalcHouse calchouse, CalcVariableRepository calcVariableRepository ) //, List<CalcDeviceTaggingSet> deviceTaggingSets) { var cess = new List <CalcEnergyStorage>(); var esCategoryGuid = Guid.NewGuid().ToStrGuid(); var esLocGuid = Guid.NewGuid().ToStrGuid(); foreach (var es in energyStorages) { //foreach (DeviceTaggingSet set in deviceTaggingSets) { //set.AddTag(es.Name,"House Device"); //} var lti = _ltDict.GetCalcLoadTypeByLoadtype(es.InputLoadType).ConvertToDto(); CalcDeviceDto deviceDto = new CalcDeviceDto(es.Name, esCategoryGuid, householdKey, OefcDeviceType.Storage, "Energy Storage", "", es.Guid, esLocGuid, "Energy Storages"); var ces = new CalcEnergyStorage(_calcRepo.Odap, lti, es.MaximumStorageRate, es.MaximumWithdrawRate, es.MinimumStorageRate, es.MinimumWithdrawRate, es.InitialFill, es.StorageCapacity, _calcRepo.Logfile.EnergyStorageLogfile, deviceDto ); foreach (var signal in es.Signals) { CalcVariable cv = calcVariableRepository.GetVariableByGuid(signal.CalcVariableDto.Guid); var cessig = new CalcEnergyStorageSignal(signal.Name, signal.TriggerOffPercent, signal.TriggerOnPercent, signal.Value, cv, signal.Guid); ces.AddSignal(cessig); } cess.Add(ces); if (ces.Signals.Count != es.Signals.Count) { throw new LPGException("Signal not initialized correctly"); } } var calcEnergyStorages = cess; //,deviceTaggingSets); calchouse.SetStorages(calcEnergyStorages); //return calcEnergyStorages; }