Package agents.heatPump.strategists
Class HeatPumpStrategist
- java.lang.Object
-
- agents.flexibility.Strategist
-
- agents.heatPump.strategists.HeatPumpStrategist
-
- Direct Known Subclasses:
StrategistExternal
,StrategistInflexibleFile
,StrategistInflexibleRC
,StrategistMinCostFile
,StrategistMinCostRC
public abstract class HeatPumpStrategist extends Strategist
Abstract upper class of the different heat pump strategist types; creates a HeatPumpSchedule.- Author:
- Evelyn Sperber, Christoph Schimeczek
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HeatPumpStrategist.HeatPumpStrategistType
Types ofHeatPumpStrategist
s
-
Field Summary
Fields Modifier and Type Field Description protected HeatingInputData
heatingData
Input data for heatingprotected HeatPump
heatPump
HeatPump
controlled by this Strategistprotected double[]
hourlyInitialTemperatureInC
Planned initial temperature in degrees Celsius at the beginning of each planned time periodstatic de.dlr.gitlab.fame.agent.input.Tree
parameters
Common input parameters required by allHeatPumpStrategist
sprotected StrategyParameters
strategyParams
Parameters of the Strategyprotected double
temperatureResolutionInC
Resolution of the temperature in degrees Celsiusprotected Device
thermalStorage
Thermal storage device (building) controlled by this Strategist-
Fields inherited from class agents.flexibility.Strategist
bidToleranceParam, demandScheduleInMWH, ERR_PROVIDE_FORECAST, ERR_UNKNOWN_STRATEGIST, ERR_UNKNOWN_UPDATE_TYPE, ERR_USE_MERIT_ORDER_FORECAST, ERR_USE_PRICE_FORECAST, forecastPeriodParam, forecastSteps, forecastUpdateTypeParam, OPERATION_PERIOD, priceScheduleInEURperMWH, scheduledBidPricesInEURperMWH, scheduleDurationParam, scheduleDurationPeriods
-
-
Constructor Summary
Constructors Constructor Description HeatPumpStrategist(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, HeatPump heatPump, HeatingInputData heatingData, Device thermalStorage, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams)
Creates aHeatPumpStrategist
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
callOnSensitivity(MeritOrderSensitivity sensitivity, de.dlr.gitlab.fame.time.TimePeriod timePeriod)
optional action called on given MeritOrderSensitivitiesHeatPumpSchedule
createSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Creates aDispatchSchedule
for the connected flexibilitydouble
getAmbientTemperatureInC(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
abstract double
getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
protected double[]
getInternalEnergySchedule()
double
getSolarRadiationInkWperM2(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
double
getUpscalingFactorToAllUnitsInMWperKW(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
protected abstract void
updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Updates schedule arrays starting at the given TimePeriod with the given initial energy level-
Methods inherited from class agents.flexibility.Strategist
clearSensitivitiesBefore, createBlankSensitivity, getMissingForecastTimes, getSensitivityForPeriod, getTimesMissingElectricityForecasts, storeElectricityPriceForecast, storeMeritOrderForesight, updateBidSchedule
-
-
-
-
Field Detail
-
parameters
public static final de.dlr.gitlab.fame.agent.input.Tree parameters
Common input parameters required by allHeatPumpStrategist
s
-
heatingData
protected final HeatingInputData heatingData
Input data for heating
-
temperatureResolutionInC
protected final double temperatureResolutionInC
Resolution of the temperature in degrees Celsius
-
strategyParams
protected final StrategyParameters strategyParams
Parameters of the Strategy
-
thermalStorage
protected Device thermalStorage
Thermal storage device (building) controlled by this Strategist
-
hourlyInitialTemperatureInC
protected double[] hourlyInitialTemperatureInC
Planned initial temperature in degrees Celsius at the beginning of each planned time period
-
-
Constructor Detail
-
HeatPumpStrategist
public HeatPumpStrategist(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, HeatPump heatPump, HeatingInputData heatingData, Device thermalStorage, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates aHeatPumpStrategist
- Parameters:
basicStrategy
- basic input data related to the strategistheatPump
- specifies the heat pump to be dispatchedheatingData
- input regarding heat-related input time seriesthermalStorage
- the storage used for heat pump dispatch optimisationinstalledUnits
- number of installed heat pump unitsstrategyParams
- strategy parameters for heat pump operation- Throws:
de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
- if any required data is not provided
-
-
Method Detail
-
callOnSensitivity
protected void callOnSensitivity(MeritOrderSensitivity sensitivity, de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Description copied from class:Strategist
optional action called on given MeritOrderSensitivities- Overrides:
callOnSensitivity
in classStrategist
- Parameters:
sensitivity
- to be modifiedtimePeriod
- that the sensitivity is valid for
-
createSchedule
public HeatPumpSchedule createSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Description copied from class:Strategist
Creates aDispatchSchedule
for the connected flexibility- Overrides:
createSchedule
in classStrategist
- Parameters:
timePeriod
- first TimePeriod element of the schedule to be created- Returns:
- created
DispatchSchedule
for the specifiedTimePeriod
-
updateSchedule
protected abstract void updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Description copied from class:Strategist
Updates schedule arrays starting at the given TimePeriod with the given initial energy level- Specified by:
updateSchedule
in classStrategist
- Parameters:
timePeriod
- first period of the schedule to be created
-
getHeatLoad
public abstract double getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
- Parameters:
timePeriod
- for which to get the heat load- Returns:
- aggregated heat load to be covered by heat pumps at time step
-
getAmbientTemperatureInC
public double getAmbientTemperatureInC(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
- Parameters:
timePeriod
- for which to get the ambient temperature- Returns:
- ambient temperature at time step
-
getSolarRadiationInkWperM2
public double getSolarRadiationInkWperM2(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
- Parameters:
timePeriod
- for which to get the solar radiation for- Returns:
- tilted solar radiation at time step
-
getUpscalingFactorToAllUnitsInMWperKW
public double getUpscalingFactorToAllUnitsInMWperKW(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
- Parameters:
timePeriod
- for which to get the installation upscaling factor for- Returns:
- installed heat pump units in scenario at time step
-
getInternalEnergySchedule
protected double[] getInternalEnergySchedule()
- Specified by:
getInternalEnergySchedule
in classStrategist
- Returns:
- planned initial room temperatures
-
-