Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
e2b248b
Create data model for air condition
danielfeismann Jul 25, 2025
43a6fb5
missing expected class
danielfeismann Jul 25, 2025
36fa2b1
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Jul 25, 2025
ed46901
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Jul 25, 2025
53894dc
changelog
danielfeismann Jul 25, 2025
779ecf2
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Jul 29, 2025
9cbe5c7
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Aug 7, 2025
875505f
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Aug 7, 2025
60a00f3
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Aug 7, 2025
d4d4cd8
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Aug 7, 2025
3667253
Merge remote-tracking branch 'origin/df/#1352-air-condition-input' in…
danielfeismann Aug 7, 2025
0875c9a
refactor with ThermalSystemParticipant to comply with sonar
danielfeismann Aug 8, 2025
3caa939
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Aug 20, 2025
0a23160
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Aug 20, 2025
06d7940
adapting after merging dev
danielfeismann Aug 20, 2025
db84c58
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Sep 22, 2025
5ec4fa4
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Sep 26, 2025
031499b
Merge branch 'dev' into df/#1352-air-condition-input
danielfeismann Oct 13, 2025
92f44d3
fix AcInput
danielfeismann Oct 13, 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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added standard asset parameter for `3wTransformer` in `ReadTheDocs` [#1417](https://github.com/ie3-institute/PowerSystemDataModel/issues/1417)
- Added getter sRated for SystemParticipant inputs and updated them in tests in src[#1412](https://github.com/ie3-institute/PowerSystemDataModel/issues/1412)
- Added converters documentation [#1139](https://github.com/ie3-institute/PowerSystemDataModel/issues/1139)
- Create data model for air condition [#1396](https://github.com/ie3-institute/PowerSystemDataModel/issues/1396)

### Fixed
- Fixed small issues in tests [#1400](https://github.com/ie3-institute/PowerSystemDataModel/issues/1400)
Expand Down
4 changes: 3 additions & 1 deletion docs/readthedocs/io/ValidationUtils.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ The ValidationUtils include validation checks for...
- MeasurementUnitInput
- SystemParticipantValidationUtils
- SystemParticipantInput
- AcInput
- BmInput
- ChpInput
- EvInput
Expand All @@ -67,7 +68,8 @@ The ValidationUtils include validation checks for...
- StorageInput
- WecInput
- EvcsInput (also checks ChargingPointType)
- SystemParticipantTypeInput
- SystemParticipantTypeInput
- AcTypeInput
- BmTypeInput
- ChpTypeInput
- EvTypeInput
Expand Down
108 changes: 108 additions & 0 deletions docs/readthedocs/models/input/participant/ac.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
(aircon-model)=

# Air Condition

Model of a heat pump.

## Attributes, Units and Remarks

### Type Model

```{list-table}
:widths: auto
:class: wrapping
:header-rows: 1


* - Attribute
- Unit
- Remarks

* - uuid
-
-

* - id
-
- Human readable identifier

* - capex
- €
- Capital expenditure to purchase one entity of this type

* - opex
- € / MWh
- Operational expenditure to operate one entity of
this type

* - sRated
- kVA
- Rated apparent power

* - cosPhiRated
-
- Rated power factor

* - pThermal
- kW
- Rated thermal power (at rated electrical power)

```

### Entity Model

```{list-table}
:widths: auto
:class: wrapping
:header-rows: 1


* - Attribute
- Unit
- Remarks

* - uuid
-
-

* - id
-
- Human readable identifier

* - operator
-
-

* - operationTime
-
- Timely restriction of operation

* - node
-
-

* - thermalBus
-
- Connection point to the thermal system

* - qCharacteristics
-
- [Reactive power characteristic](#participant-general-q-characteristic) to follow

* - type
-
-

* - controllingEm
-
- UUID reference to an [Energy Management Unit](#em_model) that is controlling
this system participant. Field can be empty or missing, if this participant
is not controlled.


```

## 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 @@ -139,6 +139,7 @@ input/thermal/domestichotwaterstorage
maxdepth: 1
---
input/participant/general
input/participant/ac
input/participant/bm
input/participant/chp
input/participant/ev
Expand Down Expand Up @@ -196,6 +197,7 @@ result/grid/congestion
---
maxdepth: 1
---
result/participant/ac
result/participant/bm
result/participant/chp
result/participant/ev
Expand Down
43 changes: 43 additions & 0 deletions docs/readthedocs/models/result/participant/ac.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
(ac-result)=

# Air Condition

Result of an air condition.

## Attributes, Units and Remarks

```{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

* - p
- MW
-

* - q
- MVAr
-

* - qDot
- MW
- Thermal power

```

## Caveats

Nothing - at least not known.
If you found something, please contact us!
4 changes: 4 additions & 0 deletions docs/uml/main/EntitySourceClassDiagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ class ResultEntitySource {
+ Set<EvcsResult> getEvcsResults() throws SourceException
+ Set<EvResult> getEvResults() throws SourceException
+ Set<HpResult> getHpResults() throws SourceException
+ Set<AcResult> getAcResults() throws SourceException
+ Set<CylindricalStorageResult> getCylindricalStorageResult() throws SourceException
+ Set<DomesticHotStorageResult> getDomesticHotWaterStorageResult() throws SourceException
+ Set<ThermalHouseResult> getThermalHouseResults() throws SourceException
Expand All @@ -141,6 +142,7 @@ class SystemParticipantSource{
- RawGridSource rawGridSource
- ThermalSource thermalSource
- EnergyManagementSource energyManagementSource
- AcInputFactory acInputFactory
- BmInputFactory bmInputFactory
- ChpInputFactory chpInputFactory
- EvInputFactory evInputFactory
Expand All @@ -154,6 +156,8 @@ class SystemParticipantSource{
+ SystemParticipantSource(TypeSource, ThermalSource, RawGridSource, EnergyManagementSource, DataSource)
+ SystemParticipants getSystemParticipants() throws SourceException
+ SystemParticipants getSystemParticipants(Map<UUID, OperatorInput>, Map<UUID, NodeInput>) throws SourceException
+ Set<AcInput> getAirConditions() throws SourceException
+ Set<AcInput> getAirConditions(Map<UUID, OperatorInput>, Map<UUID, NodeInput>, Set<AcTypeInput>) throws SourceException
+ Set<BmInput> getBmPlants() throws SourceException
+ Set<BmInput> getBmPlants(Map<UUID, OperatorInput>, Map<UUID, NodeInput>, Set<BmTypeInput>) throws SourceException
+ Set<ChpInput> getChpPlants() throws SourceException
Expand Down
3 changes: 3 additions & 0 deletions docs/uml/main/OutputDatamodelConcept.puml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ package models {
class HpResult
SystemParticipantWithHeatResult <|-- HpResult

class AcResult
SystemParticipantWithHeatResult <|-- AcResult

class WecResult
SystemParticipantResult <|-- WecResult

Expand Down
1 change: 1 addition & 0 deletions docs/uml/main/input/ModelContainerConcept.puml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ package models.input.container {
RawGridElements ..|> InputContainer

class SystemParticipants {
- airConditions: Set<AcInput>
- bmPlants: Set<BmInput>
- chpPlants: Set<ChpInput>
- evcs: Set<EvcsInput>
Expand Down
11 changes: 10 additions & 1 deletion docs/uml/main/input/SystemDatamodelConcept.puml
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,15 @@ package models {
SystemParticipantInput ..|> HasNodes
SystemParticipantInput ..|> NodeInput

class AcInput {
- type: AcTypeInput
- thermalBus: ThermalBusInput
}
AcInput --|> SystemParticipantInput
AcInput ..|> HasType
AcInput ..|> HasThermalBus
AcInput *-- ThermalBusInput

class BmInput {
- type: BmTypeInput
- marketReaction: Boolean
Expand Down Expand Up @@ -214,7 +223,7 @@ package models {
HpInput --|> SystemParticipantInput
HpInput ..|> HasType
HpInput ..|> HasThermalBus
ChpInput *-- ThermalBusInput
HpInput *-- ThermalBusInput

class LoadInput {
- standardLoadProfile: StandardLoadProfile
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* © 2021. 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.participant;

import edu.ie3.datamodel.models.input.EmInput;
import edu.ie3.datamodel.models.input.NodeInput;
import edu.ie3.datamodel.models.input.OperatorInput;
import edu.ie3.datamodel.models.input.system.AcInput;
import edu.ie3.datamodel.models.input.system.type.AcTypeInput;
import edu.ie3.datamodel.models.input.thermal.ThermalBusInput;
import java.util.Map;

public class AcInputEntityData extends ThermalSystemParticipantEntityData<AcTypeInput> {

Check warning on line 16 in src/main/java/edu/ie3/datamodel/io/factory/input/participant/AcInputEntityData.java

View check run for this annotation

SonarQubeGithubPRChecks / SonarQube Code Analysis

src/main/java/edu/ie3/datamodel/io/factory/input/participant/AcInputEntityData.java#L16

This class has 8 parents which is greater than 7 authorized.

public AcInputEntityData(
Map<String, String> fieldsToAttributes,
NodeInput node,
EmInput em,
AcTypeInput typeInput,
ThermalBusInput thermalBusInput) {
super(fieldsToAttributes, AcInput.class, node, em, typeInput, thermalBusInput);
}

public AcInputEntityData(
Map<String, String> fieldsToAttributes,
OperatorInput operator,
NodeInput node,
EmInput em,
AcTypeInput typeInput,
ThermalBusInput thermalBusInput) {
super(fieldsToAttributes, AcInput.class, operator, node, em, typeInput, thermalBusInput);
}

/**
* Creates a new AcInputEntityData object based on a given {@link
* SystemParticipantTypedEntityData} object and given thermal bus input
*
* @param entityData The SystemParticipantTypedEntityData object to enhance
* @param thermalBusInput The thermal bus input
*/
public AcInputEntityData(
SystemParticipantTypedEntityData<AcTypeInput> entityData, ThermalBusInput thermalBusInput) {
super(entityData, thermalBusInput);
}

@Override
public String toString() {
return buildToStringContent("AcInputEntityData");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* © 2021. 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.participant;

import edu.ie3.datamodel.models.OperationTime;
import edu.ie3.datamodel.models.input.EmInput;
import edu.ie3.datamodel.models.input.NodeInput;
import edu.ie3.datamodel.models.input.OperatorInput;
import edu.ie3.datamodel.models.input.system.AcInput;
import edu.ie3.datamodel.models.input.system.characteristic.ReactivePowerCharacteristic;
import edu.ie3.datamodel.models.input.system.type.AcTypeInput;
import edu.ie3.datamodel.models.input.thermal.ThermalBusInput;
import java.util.UUID;

public class AcInputFactory
extends ThermalSystemParticipantInputFactory<AcInput, AcInputEntityData> {

public AcInputFactory() {
super(AcInput.class);
}

@Override
protected AcInput createThermalSystemModel(
UUID uuid,
String id,
OperatorInput operator,
OperationTime operationTime,
NodeInput node,
ThermalBusInput thermalBusInput,
ReactivePowerCharacteristic qCharacteristics,
EmInput em,
Object typeInput) {

return new AcInput(
uuid,
id,
operator,
operationTime,
node,
thermalBusInput,
qCharacteristics,
em,
(AcTypeInput) typeInput);
}
}
Loading