-
Notifications
You must be signed in to change notification settings - Fork 7
Introduce a storage model for domestic hot water #1132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
danielfeismann
merged 92 commits into
dev
from
df/#1131-psdm-update-for-tap-water-demand
Feb 25, 2025
Merged
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 98c7e2f
fmt
danielfeismann 1f05eeb
codacy
danielfeismann 25cbcc1
fmt
danielfeismann ed0bb52
fix test after codacy fix
danielfeismann e1cb1b3
add domesticHotWaterStorage
danielfeismann ea750dd
further changes for domestic hot water storage
danielfeismann 400ef18
Merge branch 'refs/heads/df/#1123_remove_thermal_storage_minimum_leve…
danielfeismann 591a972
validation of domestic hot water storage
danielfeismann cad8a2c
rtd
danielfeismann d0f0df4
update puml
danielfeismann ef63468
add DomesticHotWaterStorageInputFactoryTest
danielfeismann f3da3e3
change numberInhabitants to double to allow proper scaling and using …
danielfeismann e44013b
fmt
danielfeismann b16507b
refactor DomesticHotWaterStorageInput to extend CylindricalStorageInput
danielfeismann 322a48c
fix validation test
danielfeismann 211bd65
fix scaling of DomesticHotWaterStorageInput
danielfeismann e8f18f0
fmt
danielfeismann 6ca993f
adapt copybuilders
danielfeismann f3ba383
Merge branch 'refs/heads/dev' into df/#1131-psdm-update-for-tap-water…
danielfeismann 2a428ef
fmt
danielfeismann d7fd77c
avoid unused constructor parameters in CylindricalStorageInputFactory
danielfeismann 852fa78
fix DomesticHotWaterStorage scaling
danielfeismann 0af1f9d
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 91bea33
introduce DomesticHotWaterStorageResult
danielfeismann 5b12f0a
Merge remote-tracking branch 'origin/df/#1131-psdm-update-for-tap-wat…
danielfeismann 736c1ac
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 7aa786f
docs for domesticHotWaterStorage
danielfeismann d7506ce
rtd
danielfeismann 3b89d3e
fix rtd
danielfeismann 65c5900
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann c4a2575
fix rtd
danielfeismann f82d417
Merge remote-tracking branch 'origin/df/#1131-psdm-update-for-tap-wat…
danielfeismann 1cf6d95
fix fix rtd
danielfeismann 2f66aca
new approach to fix rtd
danielfeismann 47ec3e8
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 7e79c9b
Sonar - change the visibility of constructor to protected
danielfeismann 890322f
Sonar - add override annotations
danielfeismann cb79715
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 25bc863
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann be0d028
fix more tests with regard to ThermalUnitValidationUtils
danielfeismann 996b85b
remove storage_volume_lvl_min from resources
danielfeismann ad01e5f
add new parameters to input_entities.sql
danielfeismann e288593
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 97f0424
enhance testing for DomesticHotWaterStorageResult in ThermalResultFac…
danielfeismann b1524a5
add getter for DomesticHotWaterStorageResult
danielfeismann d68ab7d
adapt getter for fields of DomesticHotWaterStorageResult of ThermalRe…
danielfeismann 4a14b96
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 74c3673
Extend ValidationUtils for validating ThermalGrids
danielfeismann 0b6efc2
fix changelog
danielfeismann c1abc22
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 137a695
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 19bcfb1
fix tests after merging dev
danielfeismann 763507b
fix changelog
danielfeismann 02e37af
fmt
danielfeismann 6f2230b
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann f8e816c
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 8c73ded
fix wording in docs
danielfeismann d8515fc
remove redundant methods that are already in superior class
danielfeismann eef015a
introduced AbstractThermalStorageInputFactory and make factories of c…
danielfeismann ce064aa
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 150bc52
Merge remote-tracking branch 'origin/df/#1131-psdm-update-for-tap-wat…
danielfeismann d9e37fb
make inputs private again in CylindricalStorageInput
danielfeismann 2023385
split both storages in ThermalValidationUtils
danielfeismann e0a719d
avoiding concat for getThermalStorages
danielfeismann 52dd01c
fmt
danielfeismann aa05e6f
use specific methods for thermal storages in CsvThermalGridSource
danielfeismann df5abb2
update comment
danielfeismann d38ded0
split into AbstractThermalStorageInput
danielfeismann d7a512c
removed double entries in changelog
danielfeismann 7996072
remove double entry from changelog
danielfeismann 5e33478
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann d8bf11e
Merge remote-tracking branch 'origin/df/#1253-housingType-and-numberI…
danielfeismann a765db5
fix test input data
danielfeismann fdfbe00
fix CylindricalStorageInput
danielfeismann fd90159
update changelog
danielfeismann 235ec73
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann 2d2b26a
fix typo in naming
danielfeismann 0d2fba2
rollback changes with regard to AbstractThermalStorageInput
danielfeismann bb86ba5
fmt changelog
danielfeismann ed4ab8a
fix uml
danielfeismann 6de65f3
fmt
danielfeismann 7656fc5
fmt ThermalDatamodelConcept.puml
danielfeismann c8ffad5
use .collect(toMap())
danielfeismann 274ca0e
remove artefact
danielfeismann 6eaaf33
fmt
danielfeismann 8c36978
make CylindricalStorageInputCopyBuilder protected
danielfeismann d77f291
introduce AbstractStorageInput
danielfeismann 1267cb3
introduce AbstractStorageInput also to puml
danielfeismann 12ad549
introduce changes also to all other puml diagrams
danielfeismann 64b7da7
use operators and thermalBuses for getThermalStorages
danielfeismann ca892b6
Merge branch 'dev' into df/#1131-psdm-update-for-tap-water-demand
danielfeismann File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
64 changes: 64 additions & 0 deletions
64
docs/readthedocs/models/input/thermal/domestichotwaterstorage.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
44 changes: 44 additions & 0 deletions
44
docs/readthedocs/models/result/participant/domestichotwaterstorage.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
54 changes: 54 additions & 0 deletions
54
src/main/java/edu/ie3/datamodel/io/factory/input/AbstractThermalStorageInputFactory.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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
|
||
| 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); | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
42 changes: 42 additions & 0 deletions
42
src/main/java/edu/ie3/datamodel/io/factory/input/DomesticHotWaterStorageInputFactory.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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(); | ||
danielfeismann marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| return new DomesticHotWaterStorageInput( | ||
| uuid, | ||
| id, | ||
| operator, | ||
| operationTime, | ||
| bus, | ||
| getStorageVolumeLvl(data), | ||
| getInletTemp(data), | ||
| getReturnTemp(data), | ||
| getSpecificHeatCapacity(data), | ||
| getMaxThermalPower(data)); | ||
| } | ||
| } | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.