Package agents.flexibility
Class DispatchSchedule
- java.lang.Object
-
- agents.flexibility.DispatchSchedule
-
public class DispatchSchedule extends Object
Represents a charge / discharge schedule for flexibility options, e.g. storage systems- Author:
- Christoph Schimeczek
-
-
Constructor Summary
Constructors Constructor Description DispatchSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment, int durationInPeriods)
Creates aDispatchSchedule
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getScheduledBidInHourInEURperMWH(de.dlr.gitlab.fame.time.TimeStamp time)
Returns bidding price for charging or dischargingdouble
getScheduledChargingPowerInMW(de.dlr.gitlab.fame.time.TimeStamp time)
Returns charging power for the given time as positive value - in case of discharging, 0 is returneddouble
getScheduledDischargingPowerInMW(de.dlr.gitlab.fame.time.TimeStamp time)
Returns discharging power for the given time as positive value - in case of charging, 0 is returnedde.dlr.gitlab.fame.time.TimeStamp
getTimeOfFirstElement()
boolean
isApplicable(de.dlr.gitlab.fame.time.TimeStamp time, double storageEnergyLevelInMWH)
Returns true if this schedule is defined for the given time, and if the given energy level matches the scheduled energy onevoid
setBidsScheduleInEURperMWH(double[] bidPerPeriodInEURperMWH)
sets hourly bidding schedulevoid
setChargingPerPeriod(double[] chargingPerPeriodInMW)
sets hourly charging schedulevoid
setExpectedInitialInternalEnergyScheduleInMWH(double[] expectedInitialInternalEnergyPerPeriodInMWH)
sets schedule for expected initial internal energies
-
-
-
Constructor Detail
-
DispatchSchedule
public DispatchSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment, int durationInPeriods)
Creates aDispatchSchedule
- Parameters:
timeSegment
- defines first time at which this schedule is valid and length of each perioddurationInPeriods
- number of time periods covered by this schedule, i.e. multiples of timeSegment durations
-
-
Method Detail
-
setChargingPerPeriod
public void setChargingPerPeriod(double[] chargingPerPeriodInMW)
sets hourly charging schedule- Parameters:
chargingPerPeriodInMW
- charging schedule
-
setBidsScheduleInEURperMWH
public void setBidsScheduleInEURperMWH(double[] bidPerPeriodInEURperMWH)
sets hourly bidding schedule- Parameters:
bidPerPeriodInEURperMWH
- bidding schedule
-
setExpectedInitialInternalEnergyScheduleInMWH
public void setExpectedInitialInternalEnergyScheduleInMWH(double[] expectedInitialInternalEnergyPerPeriodInMWH)
sets schedule for expected initial internal energies- Parameters:
expectedInitialInternalEnergyPerPeriodInMWH
- initial energy schedule
-
isApplicable
public boolean isApplicable(de.dlr.gitlab.fame.time.TimeStamp time, double storageEnergyLevelInMWH)
Returns true if this schedule is defined for the given time, and if the given energy level matches the scheduled energy one- Parameters:
time
- TimeStamp which the schedule is checked forstorageEnergyLevelInMWH
- current energy level in storage to be compared to the planned energy level at given time- Returns:
- true if the schedule is applicable at the specified time and matches the given energy in storage
-
getScheduledChargingPowerInMW
public double getScheduledChargingPowerInMW(de.dlr.gitlab.fame.time.TimeStamp time)
Returns charging power for the given time as positive value - in case of discharging, 0 is returned- Parameters:
time
- must match schedule time element, useisApplicable(TimeStamp, double)
to check for validity- Returns:
- positive charging power in MW for the specified time
-
getScheduledDischargingPowerInMW
public double getScheduledDischargingPowerInMW(de.dlr.gitlab.fame.time.TimeStamp time)
Returns discharging power for the given time as positive value - in case of charging, 0 is returned- Parameters:
time
- must match schedule time element, useisApplicable(TimeStamp, double)
to check for validity- Returns:
- positive discharging power in MW for the specified time
-
getScheduledBidInHourInEURperMWH
public double getScheduledBidInHourInEURperMWH(de.dlr.gitlab.fame.time.TimeStamp time)
Returns bidding price for charging or discharging- Parameters:
time
- must match schedule time element, useisApplicable(TimeStamp, double)
to check for validity- Returns:
- bidding price in EUR / MWh for the specified time
-
getTimeOfFirstElement
public de.dlr.gitlab.fame.time.TimeStamp getTimeOfFirstElement()
- Returns:
- start time of schedule
-
-