Package agents.heatPump.strategists
Class StrategistInflexibleRC
- java.lang.Object
-
- agents.flexibility.Strategist
-
- agents.heatPump.strategists.HeatPumpStrategist
-
- agents.heatPump.strategists.StrategistInflexibleRC
-
public class StrategistInflexibleRC extends HeatPumpStrategist
Heat pump dispatch orientated at endogenously calculated heat demand, irrespective of electricity prices- Author:
- Christoph Schimeczek, Evelyn Sperber
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class agents.heatPump.strategists.HeatPumpStrategist
HeatPumpStrategist.HeatPumpStrategistType
-
-
Field Summary
-
Fields inherited from class agents.heatPump.strategists.HeatPumpStrategist
heatingData, heatPump, hourlyInitialTemperatureInC, parameters, strategyParams, temperatureResolutionInC, thermalStorage
-
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 StrategistInflexibleRC(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, ThermalResponse building, HeatPump heatPump, Device device, HeatingInputData heatingData, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams)
Creates aStrategistInflexibleRC
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MeritOrderSensitivity
createBlankSensitivity()
HeatPumpSchedule
createSchedule(de.dlr.gitlab.fame.time.TimePeriod timePeriod)
Creates aDispatchSchedule
for the connected flexibilitydouble
getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod currentTimeSegment)
protected boolean
temperatureIsOutOfBounds()
protected void
updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
Updates schedule arrays starting at the given TimePeriod with the given initial energy levelprotected void
updateScheduleOutOfBounds(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
Updates dispatch schedule in case the room temperature was out of allowed bounds and brings temperature back to allowed limits-
Methods inherited from class agents.heatPump.strategists.HeatPumpStrategist
callOnSensitivity, getAmbientTemperatureInC, getInternalEnergySchedule, getSolarRadiationInkWperM2, getUpscalingFactorToAllUnitsInMWperKW
-
Methods inherited from class agents.flexibility.Strategist
clearSensitivitiesBefore, getMissingForecastTimes, getSensitivityForPeriod, getTimesMissingElectricityForecasts, storeElectricityPriceForecast, storeMeritOrderForesight, updateBidSchedule
-
-
-
-
Constructor Detail
-
StrategistInflexibleRC
public StrategistInflexibleRC(de.dlr.gitlab.fame.agent.input.ParameterData basicStrategy, ThermalResponse building, HeatPump heatPump, Device device, HeatingInputData heatingData, de.dlr.gitlab.fame.data.TimeSeries installedUnits, StrategyParameters strategyParams) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates aStrategistInflexibleRC
- Parameters:
basicStrategy
- basic input data related to the strategistbuilding
- specifies the building in which the heat pump is operatedheatPump
- specifies the heat pump to be dispatcheddevice
- the storage used for heat pump dispatch optimisationheatingData
- input regarding heat-related input time seriesinstalledUnits
- 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
-
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 classHeatPumpStrategist
- Parameters:
timePeriod
- first TimePeriod element of the schedule to be created- Returns:
- created
DispatchSchedule
for the specifiedTimePeriod
-
temperatureIsOutOfBounds
protected boolean temperatureIsOutOfBounds()
- Returns:
- true if room temperature is out of allowed limits
-
updateScheduleOutOfBounds
protected void updateScheduleOutOfBounds(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
Updates dispatch schedule in case the room temperature was out of allowed bounds and brings temperature back to allowed limits- Parameters:
timeSegment
- time segment for which schedule is calculated
-
updateSchedule
protected void updateSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
Description copied from class:Strategist
Updates schedule arrays starting at the given TimePeriod with the given initial energy level- Specified by:
updateSchedule
in classHeatPumpStrategist
- Parameters:
timeSegment
- first period of the schedule to be created
-
createBlankSensitivity
protected MeritOrderSensitivity createBlankSensitivity()
- Specified by:
createBlankSensitivity
in classStrategist
- Returns:
- an empty
MeritOrderSensitivity
item of the type used by thisArbitrageStrategist
-type
-
getHeatLoad
public double getHeatLoad(de.dlr.gitlab.fame.time.TimePeriod currentTimeSegment)
- Specified by:
getHeatLoad
in classHeatPumpStrategist
- Parameters:
currentTimeSegment
- for which to get the heat load- Returns:
- aggregated heat load to be covered by heat pumps at time step
-
-