Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
82e88ca
add attributes pThermalRated to cylindricalstorage and housingType, n…
danielfeismann Aug 8, 2024
98c7e2f
fmt
danielfeismann Aug 8, 2024
1f05eeb
codacy
danielfeismann Aug 8, 2024
25cbcc1
fmt
danielfeismann Aug 8, 2024
ed0bb52
fix test after codacy fix
danielfeismann Aug 8, 2024
e1cb1b3
add domesticHotWaterStorage
danielfeismann Aug 9, 2024
ea750dd
further changes for domestic hot water storage
danielfeismann Aug 9, 2024
400ef18
Merge branch 'refs/heads/df/#1123_remove_thermal_storage_minimum_leve…
danielfeismann Aug 9, 2024
591a972
validation of domestic hot water storage
danielfeismann Aug 9, 2024
cad8a2c
rtd
danielfeismann Aug 9, 2024
d0f0df4
update puml
danielfeismann Aug 9, 2024
ef63468
add DomesticHotWaterStorageInputFactoryTest
danielfeismann Aug 9, 2024
f3da3e3
change numberInhabitants to double to allow proper scaling and using …
danielfeismann Aug 9, 2024
e44013b
fmt
danielfeismann Aug 9, 2024
b16507b
refactor DomesticHotWaterStorageInput to extend CylindricalStorageInput
danielfeismann Aug 9, 2024
322a48c
fix validation test
danielfeismann Aug 9, 2024
211bd65
fix scaling of DomesticHotWaterStorageInput
danielfeismann Aug 9, 2024
e8f18f0
fmt
danielfeismann Aug 9, 2024
6ca993f
adapt copybuilders
danielfeismann Aug 9, 2024
f3ba383
Merge branch 'refs/heads/dev' into df/#1131-psdm-update-for-tap-water…
danielfeismann Aug 14, 2024
2a428ef
fmt
danielfeismann Aug 14, 2024
d7fd77c
avoid unused constructor parameters in CylindricalStorageInputFactory
danielfeismann Aug 14, 2024
852fa78
fix DomesticHotWaterStorage scaling
danielfeismann Aug 15, 2024
0af1f9d
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Aug 15, 2024
91bea33
introduce DomesticHotWaterStorageResult
danielfeismann Aug 26, 2024
5b12f0a
Merge remote-tracking branch 'origin/df/#1131-psdm-update-for-tap-wat…
danielfeismann Aug 26, 2024
736c1ac
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Aug 26, 2024
7aa786f
docs for domesticHotWaterStorage
danielfeismann Aug 26, 2024
d7506ce
rtd
danielfeismann Aug 26, 2024
3b89d3e
fix rtd
danielfeismann Aug 26, 2024
65c5900
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Sep 16, 2024
c4a2575
fix rtd
danielfeismann Sep 18, 2024
f82d417
Merge remote-tracking branch 'origin/df/#1131-psdm-update-for-tap-wat…
danielfeismann Sep 18, 2024
1cf6d95
fix fix rtd
danielfeismann Sep 18, 2024
2f66aca
new approach to fix rtd
danielfeismann Sep 18, 2024
47ec3e8
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Oct 22, 2024
7e79c9b
Sonar - change the visibility of constructor to protected
danielfeismann Nov 5, 2024
890322f
Sonar - add override annotations
danielfeismann Nov 5, 2024
cb79715
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Nov 5, 2024
25bc863
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Nov 27, 2024
be0d028
fix more tests with regard to ThermalUnitValidationUtils
danielfeismann Nov 27, 2024
996b85b
remove storage_volume_lvl_min from resources
danielfeismann Nov 27, 2024
ad01e5f
add new parameters to input_entities.sql
danielfeismann Nov 27, 2024
e288593
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Dec 30, 2024
97f0424
enhance testing for DomesticHotWaterStorageResult in ThermalResultFac…
danielfeismann Dec 30, 2024
b1524a5
add getter for DomesticHotWaterStorageResult
danielfeismann Dec 30, 2024
d68ab7d
adapt getter for fields of DomesticHotWaterStorageResult of ThermalRe…
danielfeismann Dec 30, 2024
4a14b96
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Jan 16, 2025
74c3673
Extend ValidationUtils for validating ThermalGrids
danielfeismann Jan 22, 2025
0b6efc2
fix changelog
danielfeismann Jan 23, 2025
c1abc22
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Jan 30, 2025
137a695
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Feb 5, 2025
19bcfb1
fix tests after merging dev
danielfeismann Feb 5, 2025
763507b
fix changelog
danielfeismann Feb 5, 2025
02e37af
fmt
danielfeismann Feb 5, 2025
6f2230b
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Feb 10, 2025
f8e816c
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Feb 19, 2025
8c73ded
fix wording in docs
danielfeismann Feb 20, 2025
d8515fc
remove redundant methods that are already in superior class
danielfeismann Feb 20, 2025
eef015a
introduced AbstractThermalStorageInputFactory and make factories of c…
danielfeismann Feb 20, 2025
ce064aa
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Feb 21, 2025
150bc52
Merge remote-tracking branch 'origin/df/#1131-psdm-update-for-tap-wat…
danielfeismann Feb 21, 2025
d9e37fb
make inputs private again in CylindricalStorageInput
danielfeismann Feb 21, 2025
2023385
split both storages in ThermalValidationUtils
danielfeismann Feb 21, 2025
e0a719d
avoiding concat for getThermalStorages
danielfeismann Feb 21, 2025
52dd01c
fmt
danielfeismann Feb 21, 2025
aa05e6f
use specific methods for thermal storages in CsvThermalGridSource
danielfeismann Feb 21, 2025
df5abb2
update comment
danielfeismann Feb 21, 2025
d38ded0
split into AbstractThermalStorageInput
danielfeismann Feb 21, 2025
d7a512c
removed double entries in changelog
danielfeismann Feb 21, 2025
7996072
remove double entry from changelog
danielfeismann Feb 21, 2025
5e33478
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Feb 21, 2025
d8bf11e
Merge remote-tracking branch 'origin/df/#1253-housingType-and-numberI…
danielfeismann Feb 24, 2025
a765db5
fix test input data
danielfeismann Feb 24, 2025
fdfbe00
fix CylindricalStorageInput
danielfeismann Feb 24, 2025
fd90159
update changelog
danielfeismann Feb 24, 2025
235ec73
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Feb 24, 2025
2d2b26a
fix typo in naming
danielfeismann Feb 24, 2025
0d2fba2
rollback changes with regard to AbstractThermalStorageInput
danielfeismann Feb 24, 2025
bb86ba5
fmt changelog
danielfeismann Feb 24, 2025
ed4ab8a
fix uml
danielfeismann Feb 24, 2025
6de65f3
fmt
danielfeismann Feb 24, 2025
7656fc5
fmt ThermalDatamodelConcept.puml
danielfeismann Feb 25, 2025
c8ffad5
use .collect(toMap())
danielfeismann Feb 25, 2025
274ca0e
remove artefact
danielfeismann Feb 25, 2025
6eaaf33
fmt
danielfeismann Feb 25, 2025
8c36978
make CylindricalStorageInputCopyBuilder protected
danielfeismann Feb 25, 2025
d77f291
introduce AbstractStorageInput
danielfeismann Feb 25, 2025
1267cb3
introduce AbstractStorageInput also to puml
danielfeismann Feb 25, 2025
12ad549
introduce changes also to all other puml diagrams
danielfeismann Feb 25, 2025
64b7da7
use operators and thermalBuses for getThermalStorages
danielfeismann Feb 25, 2025
ca892b6
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann Feb 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added `BdewLoadProfileTimeSeries` [#1230](https://github.com/ie3-institute/PowerSystemDataModel/issues/1230)
- Added `RandomLoadProfileTimeSeries` [#1232](https://github.com/ie3-institute/PowerSystemDataModel/issues/1232)
- Attribute `pThermalRated` for `ThermalStorage`s [#679](https://github.com/ie3-institute/PowerSystemDataModel/issues/679)
- Attributes `housingType` and `numberInhabitants` for `ThermalHouse`s [#1253](https://github.com/ie3-institute/PowerSystemDataModel/issues/1253)
- Attributes `housingType` and `numberInhabitants` for `ThermalHouse`s [#1253](https://github.com/ie3-institute/PowerSystemDataModel/issues/1253)
- Added domestic hot water storage model [#1257](https://github.com/ie3-institute/PowerSystemDataModel/issues/1257)

### Fixed
- Removing opened `SwitchInput` during connectivity check [#1221](https://github.com/ie3-institute/PowerSystemDataModel/issues/1221)
Expand Down
64 changes: 64 additions & 0 deletions docs/readthedocs/models/input/thermal/domestichotwaterstorage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
(domestichotwaterstorage-model)=

# Domestic Hot Water Storage

Model of a domestic hot water storage using a fluid to store thermal energy.

## Attributes, Units and Remarks

```{eval-rst}
.. list-table::
:widths: 33 33 33
:header-rows: 1


* - Attribute
- Unit
- Remarks

* - uuid
- --
-

* - id
- --
- Human readable identifier

* - operator
- --
-

* - operationTime
- --
- Timely restriction of operation

* - thermalBus
- --
- Connection point to the thermal system

* - storageVolumeLvl
- m³
- Overall available storage volume

* - inletTemp
- °C
- Temperature of the inlet

* - returnTemp
- °C
- Temperature of the outlet

* - c
- kWh / (K :math:`\cdot` m³)
- Specific heat capacity of the storage medium

* - pThermalMax
- kW
- Maximum permissible thermal power of the storage

```

## Caveats

Nothing - at least not known.
If you found something, please contact us!
2 changes: 2 additions & 0 deletions docs/readthedocs/models/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ maxdepth: 1
input/thermal/thermalbus
input/thermal/thermalhouse
input/thermal/cylindricalstorage
input/thermal/domestichotwaterstorage
```

### Participant Related Models
Expand Down Expand Up @@ -209,6 +210,7 @@ result/participant/thermalstorage
result/participant/thermalunit
result/participant/thermalhouse
result/participant/cylindricalstorage
result/participant/domestichotwaterstorage
result/participant/systemparticipant
result/participant/flexoption
result/participant/em
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
(domestichotwaterstorage-result)=

# Domestic Hot Water Storage

Result of a domestic hot water storage using a fluid to store thermal energy.

## Attributes, Units and Remarks

```{eval-rst}
.. list-table::
:widths: 33 33 33
:header-rows: 1


* - Attribute
- Unit
- Remarks

* - time
- --
- date and time for the produced result

* - inputModel
- --
- uuid for the associated input model

* - energy
- MWh
-

* - qDot
- MW
- heat demand of the sink

* - fillLevel
- --
-

```

## Caveats

Nothing - at least not known.
If you found something, please contact us!
8 changes: 6 additions & 2 deletions docs/uml/main/EntitySourceClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ class ResultEntitySource {
+ Set<EvResult> getEvResults() throws SourceException
+ Set<HpResult> getHpResults() throws SourceException
+ Set<CylindricalStorageResult> getCylindricalStorageResult() throws SourceException
+ Set<DomesticHotStorageResult> getDomesticHotWaterStorageResult() throws SourceException
+ Set<ThermalHouseResult> getThermalHouseResults() throws SourceException
+ Set<EmResult> getEmResults() throws SourceException
+ Set<CongestionResult> getCongestionResults() throws SourceException
Expand Down Expand Up @@ -179,6 +180,7 @@ class ThermalSource {
- TypeSource typeSource
- ThermalBusInputFactory thermalBusInputFactory
- CylindricalStorageInputFactory cylindricalStorageInputFactory
- DomesticHotWaterStorageInputFactory domesticHotWaterStorageInputFactory
- ThermalHouseInputFactory thermalHouseInputFactory
+ ThermalSource(TypeSource, DataSource)
+ Map<UUID, ThermalBusInput> getThermalBuses() throws SourceException
Expand All @@ -187,8 +189,10 @@ class ThermalSource {
+ Map<UUID, ThermalStorageInput> getThermalStorages(Map<UUID, OperatorInput>, Map<UUID, ThermalBusInput>) throws SourceException
+ Map<UUID, ThermalHouseInput> getThermalHouses() throws SourceException
+ Map<UUID, ThermalHouseInput> getThermalHouses(Map<UUID, OperatorInput>, Map<UUID, ThermalBusInput>) throws SourceException
+ Set<CylindricalStorageInput> getCylindricStorages() throws SourceException
+ Set<CylindricalStorageInput> getCylindricStorages(Map<UUID, OperatorInput>, Map<UUID, ThermalBusInput>) throws SourceException
+ Set<CylindricalStorageInput> getCylindricalStorages() throws SourceException
+ Set<CylindricalStorageInput> getCylindricalStorages(Map<UUID, OperatorInput>, Map<UUID, ThermalBusInput>) throws SourceException
+ Set<DomesticHotWaterStorageInput> getDomesticHotWaterStorages() throws SourceException
+ Set<DomesticHotWaterStorageInput> getDomesticHotWaterStorages(Map<UUID, OperatorInput>, Map<UUID, ThermalBusInput>) throws SourceException
}

abstract class TimeSeriesMappingSource {
Expand Down
10 changes: 8 additions & 2 deletions docs/uml/main/OutputDatamodelConcept.puml
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,16 @@ package models {
}
ThermalUnitResult <|-- ThermalStorageResult

class CylindricalStorageResult {
Abstract class AbstractThermalStorageResult {
- fillLevel: ComparableQuantity<Dimensionless> [%]
}
ThermalStorageResult <|-- CylindricalStorageResult
ThermalStorageResult <|-- AbstractThermalStorageResult

class CylindricalStorageResult {}
AbstractThermalStorageResult <|-- CylindricalStorageResult

class DomesticHotWaterStorageResult {}
AbstractThermalStorageResult <|-- DomesticHotWaterStorageResult
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion docs/uml/main/input/DefaultInputDirectoryHierarchy.puml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ package <gridname>(.tar.gz) {
label "line_input.csv\n//measurement_unit_input.csv//\nnode_input.csv\n//switch_input.csv//\ntransformer_2_w_input.csv\n//transformer_3_w_input.csv//"
}
package "//thermal//" as th {
label "//cylindrical_storage_input.csv//\n//thermal_bus_input.csv//\n//thermal_house_input.csv//"
label "//cylindrical_storage_input.csv//\n//domestic_hot_water_storage_input.csv//\n//thermal_bus_input.csv//\n//thermal_house_input.csv//"
}
package participants {
label "//bm_input.csv//\n//chp_input.csv//\n//ev_input.csv//\n//evcs_input.csv//\n//fixed_feed_in_input.csv//\n//hp_input.csv//\n//load_input.csv//\n//pv_input.csv//\n//storage_input.csv//\n//wec_input.csv//"
Expand Down
2 changes: 1 addition & 1 deletion docs/uml/main/input/DefaultResultDirectoryHierarchy.puml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package <gridname>(.tar.gz) {
label "//line_result.csv//\n//node_result.csv//\n//switch_result.csv//\n//transformer_2_w_result.csv//\n//transformer_3_w_result.csv//"
}
package "//thermal//" {
label "//cylindrical_storage_result.csv//\n//thermal_bus_result.csv//\n//thermal_house_result.csv//"
label "//cylindrical_storage_result.csv//\n//domestic_hot_water_storage_result.csv//\n//thermal_bus_result.csv//\n//thermal_house_result.csv//"
}
package "//participants//" {
label "//bm_result.csv//\n//chp_result.csv//\n//ev_result.csv//\n//evcs_result.csv//\n//fixed_feed_in_result.csv//\n//hp_result.csv//\n//load_result.csv//\n//pv_result.csv//\n//storage_result.csv//\n//wec_result.csv//"
Expand Down
14 changes: 13 additions & 1 deletion docs/uml/main/input/ThermalDatamodelConcept.puml
Original file line number Diff line number Diff line change
Expand Up @@ -115,14 +115,26 @@ package models {
abstract class ThermalStorageInput
ThermalStorageInput --|> ThermalUnitInput

abstract class AbstractStorageInput
AbstractStorageInput --|> ThermalStorageInput

class CylindricalStorageInput {
- storageVolumeLvl: ComparableQuantity<Volume> [m³]
- inletTemp: ComparableQuantity<Temperature> [°C]
- returnTemp: ComparableQuantity<Temperature> [°C]
- c: ComparableQuantity<SpecificHeatCapacity> [kWh/(K*m³)]
- pThermalMax: ComparableQuantity<Power> [kW]
}
CylindricalStorageInput --|> ThermalStorageInput
CylindricalStorageInput --|> AbstractStorageInput

class DomesticHotWaterStorageInput {
- storageVolumeLvl: ComparableQuantity<Volume> [m³]
- inletTemp: ComparableQuantity<Temperature> [°C]
- returnTemp: ComparableQuantity<Temperature> [°C]
- c: ComparableQuantity<SpecificHeatCapacity> [kWh/(K*m³)]
- pThermalMax: ComparableQuantity<Power> [kW]
}
DomesticHotWaterStorageInput --|> AbstractStorageInput
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
* © 2024. TU Dortmund University,
* Institute of Energy Systems, Energy Efficiency and Energy Economics,
* Research group Distribution grid planning and operation
*/
package edu.ie3.datamodel.io.factory.input;

import edu.ie3.datamodel.models.StandardUnits;
import edu.ie3.datamodel.models.input.AssetInput;
import edu.ie3.util.quantities.interfaces.SpecificHeatCapacity;
import javax.measure.quantity.Power;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Volume;
import tech.units.indriya.ComparableQuantity;

public abstract class AbstractThermalStorageInputFactory<T extends AssetInput>
extends AssetInputEntityFactory<T, ThermalUnitInputEntityData> {

private static final String STORAGE_VOLUME_LVL = "storageVolumeLvl";
private static final String INLET_TEMP = "inletTemp";
private static final String RETURN_TEMP = "returnTemp";
private static final String C = "c";
private static final String P_THERMAL_MAX = "pThermalMax";

public AbstractThermalStorageInputFactory(Class<T> clazz) {

Check warning on line 25 in src/main/java/edu/ie3/datamodel/io/factory/input/AbstractThermalStorageInputFactory.java

View check run for this annotation

SonarQubeGithubPRChecks / PowerSystemDataModel Sonarqube Results

src/main/java/edu/ie3/datamodel/io/factory/input/AbstractThermalStorageInputFactory.java#L25

Change the visibility of this constructor to "protected".
super(clazz);
}

@Override
protected String[] getAdditionalFields() {
return new String[] {STORAGE_VOLUME_LVL, INLET_TEMP, RETURN_TEMP, C, P_THERMAL_MAX};
}

protected ComparableQuantity<Volume> getStorageVolumeLvl(ThermalUnitInputEntityData data) {
return data.getQuantity(STORAGE_VOLUME_LVL, StandardUnits.VOLUME);
}

protected ComparableQuantity<Temperature> getInletTemp(ThermalUnitInputEntityData data) {
return data.getQuantity(INLET_TEMP, StandardUnits.TEMPERATURE);
}

protected ComparableQuantity<Temperature> getReturnTemp(ThermalUnitInputEntityData data) {
return data.getQuantity(RETURN_TEMP, StandardUnits.TEMPERATURE);
}

protected ComparableQuantity<SpecificHeatCapacity> getSpecificHeatCapacity(
ThermalUnitInputEntityData data) {
return data.getQuantity(C, StandardUnits.SPECIFIC_HEAT_CAPACITY);
}

protected ComparableQuantity<Power> getMaxThermalPower(ThermalUnitInputEntityData data) {
return data.getQuantity(P_THERMAL_MAX, StandardUnits.ACTIVE_POWER_IN);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,63 +6,37 @@
package edu.ie3.datamodel.io.factory.input;

import edu.ie3.datamodel.models.OperationTime;
import edu.ie3.datamodel.models.StandardUnits;
import edu.ie3.datamodel.models.input.OperatorInput;
import edu.ie3.datamodel.models.input.thermal.CylindricalStorageInput;
import edu.ie3.datamodel.models.input.thermal.ThermalBusInput;
import edu.ie3.util.quantities.interfaces.SpecificHeatCapacity;
import java.util.UUID;
import javax.measure.quantity.Power;
import javax.measure.quantity.Temperature;
import javax.measure.quantity.Volume;
import tech.units.indriya.ComparableQuantity;

public class CylindricalStorageInputFactory
extends AssetInputEntityFactory<CylindricalStorageInput, ThermalUnitInputEntityData> {
private static final String STORAGE_VOLUME_LVL = "storageVolumeLvl";
private static final String INLET_TEMP = "inletTemp";
private static final String RETURN_TEMP = "returnTemp";
private static final String C = "c";
private static final String P_THERMAL_MAX = "pThermalMax";
extends AbstractThermalStorageInputFactory<CylindricalStorageInput> {

public CylindricalStorageInputFactory() {
super(CylindricalStorageInput.class);
}

@Override
protected String[] getAdditionalFields() {
return new String[] {STORAGE_VOLUME_LVL, INLET_TEMP, RETURN_TEMP, C, P_THERMAL_MAX};
}

@Override
protected CylindricalStorageInput buildModel(
ThermalUnitInputEntityData data,
UUID uuid,
String id,
OperatorInput operator,
OperationTime operationTime) {
final ThermalBusInput bus = data.getBusInput();
final ComparableQuantity<Volume> storageVolumeLvl =
data.getQuantity(STORAGE_VOLUME_LVL, StandardUnits.VOLUME);
final ComparableQuantity<Temperature> inletTemp =
data.getQuantity(INLET_TEMP, StandardUnits.TEMPERATURE);
final ComparableQuantity<Temperature> returnTemp =
data.getQuantity(RETURN_TEMP, StandardUnits.TEMPERATURE);
final ComparableQuantity<SpecificHeatCapacity> c =
data.getQuantity(C, StandardUnits.SPECIFIC_HEAT_CAPACITY);
final ComparableQuantity<Power> pThermalMax =
data.getQuantity(P_THERMAL_MAX, StandardUnits.ACTIVE_POWER_IN);

final ThermalBusInput bus = data.getBusInput();
return new CylindricalStorageInput(
uuid,
id,
operator,
operationTime,
bus,
storageVolumeLvl,
inletTemp,
returnTemp,
c,
pThermalMax);
getStorageVolumeLvl(data),
getInletTemp(data),
getReturnTemp(data),
getSpecificHeatCapacity(data),
getMaxThermalPower(data));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* © 2024. TU Dortmund University,
* Institute of Energy Systems, Energy Efficiency and Energy Economics,
* Research group Distribution grid planning and operation
*/
package edu.ie3.datamodel.io.factory.input;

import edu.ie3.datamodel.models.OperationTime;
import edu.ie3.datamodel.models.input.OperatorInput;
import edu.ie3.datamodel.models.input.thermal.DomesticHotWaterStorageInput;
import edu.ie3.datamodel.models.input.thermal.ThermalBusInput;
import java.util.UUID;

public class DomesticHotWaterStorageInputFactory
extends AbstractThermalStorageInputFactory<DomesticHotWaterStorageInput> {

public DomesticHotWaterStorageInputFactory() {
super(DomesticHotWaterStorageInput.class);
}

@Override
protected DomesticHotWaterStorageInput buildModel(
ThermalUnitInputEntityData data,
UUID uuid,
String id,
OperatorInput operator,
OperationTime operationTime) {

final ThermalBusInput bus = data.getBusInput();
return new DomesticHotWaterStorageInput(
uuid,
id,
operator,
operationTime,
bus,
getStorageVolumeLvl(data),
getInletTemp(data),
getReturnTemp(data),
getSpecificHeatCapacity(data),
getMaxThermalPower(data));
}
}
Loading