From a1812f3c1a788be5358850a02d0fdcdf430e1308 Mon Sep 17 00:00:00 2001 From: "Kittl, Chris" Date: Thu, 16 Jun 2022 13:44:56 +0200 Subject: [PATCH] Add a container for a thermal grid --- .../models/input/container/ThermalGrid.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/main/java/edu/ie3/datamodel/models/input/container/ThermalGrid.java diff --git a/src/main/java/edu/ie3/datamodel/models/input/container/ThermalGrid.java b/src/main/java/edu/ie3/datamodel/models/input/container/ThermalGrid.java new file mode 100644 index 000000000..73b369838 --- /dev/null +++ b/src/main/java/edu/ie3/datamodel/models/input/container/ThermalGrid.java @@ -0,0 +1,74 @@ +/* + * © 2022. TU Dortmund University, + * Institute of Energy Systems, Energy Efficiency and Energy Economics, + * Research group Distribution grid planning and operation +*/ +package edu.ie3.datamodel.models.input.container; + +import edu.ie3.datamodel.models.input.thermal.ThermalBusInput; +import edu.ie3.datamodel.models.input.thermal.ThermalHouseInput; +import edu.ie3.datamodel.models.input.thermal.ThermalInput; +import edu.ie3.datamodel.models.input.thermal.ThermalStorageInput; +import java.util.*; + +/** + * Container object to denote a fully connected thermal "grid". As there are currently no branch + * elements, a grid always only consists of one {@link ThermalBusInput} and all its connected {@link + * edu.ie3.datamodel.models.input.thermal.ThermalUnitInput}s + */ +public class ThermalGrid implements InputContainer { + private final ThermalBusInput bus; + private final Set houses; + private final Set storages; + + public ThermalGrid( + ThermalBusInput bus, + Collection houses, + Collection storages) { + this.bus = bus; + this.houses = new HashSet<>(houses); + this.storages = new HashSet<>(storages); + } + + public ThermalBusInput getBus() { + return bus; + } + + public Set getHouses() { + return houses; + } + + public Set getStorages() { + return storages; + } + + @Override + public List allEntitiesAsList() { + return null; + } + + @Override + public String toString() { + return "ThermalGrid{" + + "bus=" + + bus + + ", #houses=" + + houses.size() + + ", #storages=" + + storages.size() + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ThermalGrid that = (ThermalGrid) o; + return bus.equals(that.bus) && houses.equals(that.houses) && storages.equals(that.storages); + } + + @Override + public int hashCode() { + return Objects.hash(bus, houses, storages); + } +}