Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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 @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added weathersource documentation [#1390](https://github.com/ie3-institute/PowerSystemDataModel/issues/1390)
- Added standard asset parameter for `3wTransformer` in `ReadTheDocs` [#1417](https://github.com/ie3-institute/PowerSystemDataModel/issues/1417)
- 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