Zenmo / HOLON

Model made for HOLON project
MIT License
2 stars 0 forks source link

Feature java files for heating system #74

Closed petertue closed 2 years ago

petertue commented 2 years ago

See commits. Veel gewijzigd en veel te testen. Heb daarvoor ook een test model geschreven in het heating system model.

Lijkt me goed om er samen doorheen te lopen. Staan ook nog TODOs open vanuit eerder werk wat hier gerelateerd aan is.

GillisHommen commented 2 years ago

Hierbij een aantal review-punten:

Voor gasheater en heatpump zijn er losse functies produceHotWater en produceHeat. Ik zie dat wanneer je alleen produceHeat wil aanroepen, zoals je zou doen bij een hybride heatpump, je eerste heatpump.currentPower=0 doet, in de functie van de heating-system. Dit lijkt me een ietwat foutgevoelige oplossing, het is makkelijk om die heatpump.currentPower=0 te vergeten, en het is ook niet echt 'atomic'. Ook is het nu van belang dat je altijd eerste de hotWater functie aanroept, en daarna pas de heating functie.

Zou het misschien toch eenduidiger zijn om één functie produceHotWaterAndHeat te hebben, waarbij je gewoon 0 hotwater aanvraagt als daar geen behoefte aan is, of als dat door een ander heating-system wordt gedaan? Dat is meer expliciet en daarmee duidelijker voor de 'gebruiker' denk ik, en je kunt het ook niet fout doen.

Voor de districtHeatingCon; waar wordt er bijgehouden hoeveel warmte er wordt afgenomen uit het warmtenet? Ah, ik zie dat je in de tijdstapTotalen functie al een comment hebt gezegd "moet hier niet hotWater bij", dat moet inderdaad, anders is heet water 'gratis'. Evt. kunnen we ook in de heating system zelf een variabele bijhouden v_totalDistrictHeatDraw_kW, waarin zowel verwarming en heet water zitten? Verder is verbruik van boilers inderdaad ook nog niet meegerekend. Tot nu toe hebben we ook nog geen boilers gebruikt, maar dit is wel een mooi moment om de implementatie daarvan af te maken. Voor deze sprint gaan we waarschijnlijk wel districtHeating+boiler gebruiken.

De ESDL assets zijn voor nu nog even achterwege gelaten?

GillisHommen commented 2 years ago

We kunnen ook vast de laatste ESDL .jar toevoegen die Arun had opgestuurd.

petertue commented 2 years ago

@GillisHommen Top voor de uitgebreide review! Heb je ook de heating systems getest met die buttons?

Over je eerste punt was ik zelf ook aan het twijfelen. Vooral omdat er niet echt een goed of fout is en wel veel oplossingen: 1) een extra lokale variabele om dit te omzeilen, 2) de heating functie vanuit de hotwater functie aanroepen (ipv los), 3) extra variabele in de functie meesturen (dus produceHeat(double heatdemand, boolean onlyHeating)), 4) jou oplossing, en 5) het resetten van de consumptie (huidige oplossing).

Zo alles op een rijtje te zien denk ik eigenlijk dat optie 3 het fraaist is. Dan blijven het twee losse functies (wat prettig modulair en flexibel is) maar MOET je in die funtie altijd meegeven of het alleen heating is deze tijdstap of heating + hot water. Wat denk jij?

Nog geen ESDL nee. Volgende week dinsdag heb ik werksessie met Arun. .

GillisHommen commented 2 years ago

Is met optie 3 nu de mogelijkheid ondervangen dat de gebruiker van deze functies iets fout kan doen? Bijvoorbeeld door de volgorde van het aanroepen van de functies om te draaien?

@GillisHommen: Ja dat is nu niet meer mogelijk.