Skip to content
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

To/#610 extend temp lps #611

Draft
wants to merge 3 commits into
base: dev
Choose a base branch
from
Draft
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
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,26 @@
package edu.ie3.datamodel.models.profile;

import edu.ie3.datamodel.exceptions.ParsingException;
import edu.ie3.datamodel.models.StandardUnits;
import javax.measure.quantity.Temperature;
import tech.units.indriya.ComparableQuantity;
import tech.units.indriya.quantity.Quantities;

/** Temperature dependant determined by NBW (accessed 05/2022) */
public enum NbwTemperatureDependantLoadProfile implements TemperatureDependantLoadProfile {

// heat pumps
EP1("ep1"),
EP1("ep1", 1),

// night storage heating
EZ2("ez2");
EZ2("ez2", 0);

private final String key;
private final int limitingConstant;

NbwTemperatureDependantLoadProfile(String key) {
NbwTemperatureDependantLoadProfile(String key, int limitingConstant) {
this.key = key.toLowerCase();
this.limitingConstant = limitingConstant;
}

/**
Expand All @@ -37,6 +44,39 @@ public String getKey() {
return this.key;
}

/**
* Maximum temperature to which load profiles are scaled. If temperature is higher the load
* profile according to the reference temperature is used.
*
* @return the reference temperature
*/
@Override
public ComparableQuantity<Temperature> getReferenceTemperature() {
return Quantities.getQuantity(17, StandardUnits.TEMPERATURE);
}

/**
* Minimum temperature to which load profiles are scaled. If temperature is lower the load profile
* according to the reference temperature is used.
*
* @return the reference temperature
*/
@Override
public ComparableQuantity<Temperature> getMinTemperature() {
return Quantities.getQuantity(-17, StandardUnits.TEMPERATURE);
}

/**
* Downscaling of load profiles gets limited to the limiting constant. For more information see
* the official VDN description.
*
* @return the limiting constant
*/
@Override
public int getLimitingConstant() {
return this.limitingConstant;
}

@Override
public String toString() {
return "NbwTemperatureDependantLoadProfile{" + "key='" + key + '\'' + '}';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
package edu.ie3.datamodel.models.profile;

import edu.ie3.datamodel.exceptions.ParsingException;
import javax.measure.quantity.Temperature;
import tech.units.indriya.ComparableQuantity;

/**
* Temperature dependant load profiles for night storage heating and heat pumps . The profiles rely
Expand All @@ -14,6 +16,30 @@
*/
public interface TemperatureDependantLoadProfile extends LoadProfile {

/**
* Maximum temperature to which load profiles are scaled. If temperature is higher the load
* profile according to the reference temperature is used.
*
* @return the reference temperature
*/
ComparableQuantity<Temperature> getReferenceTemperature();

/**
* Minimum temperature to which load profiles are scaled. If temperature is lower the load profile
* according to the reference temperature is used.
*
* @return the reference temperature
*/
ComparableQuantity<Temperature> getMinTemperature();

/**
* Downscaling of load profiles gets limited to the limiting constant. For more information see
* the official VDN description.
*
* @return the limiting constant
*/
int getLimitingConstant();

/**
* Returns temperature dependant load profile corresponding to the given key.
*
Expand Down