Package agents.trader.electrolysis
Class ElectrolysisTrader
- java.lang.Object
-
- de.dlr.gitlab.fame.agent.Agent
-
- agents.trader.Trader
-
- agents.trader.FlexibilityTrader
-
- agents.trader.electrolysis.ElectrolysisTrader
-
- All Implemented Interfaces:
DayAheadMarketTrader
,FuelsTrader
,PowerPlantScheduler
,de.dlr.gitlab.fame.agent.AgentAbility
- Direct Known Subclasses:
GreenHydrogenTraderMonthly
public class ElectrolysisTrader extends FlexibilityTrader implements FuelsTrader, PowerPlantScheduler
A flexible Trader demanding electricity and producing hydrogen from it via electrolysis.- Author:
- Christoph Schimeczek
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
ElectrolysisTrader.Outputs
Available output columns-
Nested classes/interfaces inherited from class agents.trader.FlexibilityTrader
FlexibilityTrader.Products
-
Nested classes/interfaces inherited from class de.dlr.gitlab.fame.agent.Agent
de.dlr.gitlab.fame.agent.Agent.WarmUpStatus
-
Nested classes/interfaces inherited from interface agents.markets.DayAheadMarketTrader
DayAheadMarketTrader.OutputColumns
-
Nested classes/interfaces inherited from interface agents.markets.FuelsTrader
FuelsTrader.Products
-
Nested classes/interfaces inherited from interface agents.plantOperator.PowerPlantScheduler
PowerPlantScheduler.Products
-
-
Field Summary
Fields Modifier and Type Field Description protected Electrolyzer
electrolyzer
Electrolyzer device used for hydrogen productionprotected de.dlr.gitlab.fame.time.TimeStamp
lastClearingTime
First TimeStamp of the last electricity price clearing intervalprotected double
lastProducedHydrogenInMWH
Amount of hydrogen produced based on the last electricity price clearingprotected ElectrolyzerStrategist
strategist
Strategist used to plan the dispatch of the electrolyzer device and the bidding at the day-ahead market-
Fields inherited from interface agents.markets.DayAheadMarketTrader
ERR_CLEARING_TIMES_AMBIGUOUS, ERR_CLEARING_TIMES_MISSING
-
Fields inherited from interface agents.markets.FuelsTrader
fuelTypeParameter
-
-
Constructor Summary
Constructors Constructor Description ElectrolysisTrader(de.dlr.gitlab.fame.agent.input.DataProvider data)
Creates a newElectrolysisTrader
based on given input parameters
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
digestAwards(ArrayList<de.dlr.gitlab.fame.communication.message.Message> messages, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Digests award information fromDayAheadMarket
, writes dispatchprotected double
getInstalledCapacityInMW()
Return installed capacity of the operated flexibility deviceprotected ElectrolyzerStrategist
getStrategist()
protected void
prepareBids(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Prepares and sends Bids to one contracted exchange-
Methods inherited from class agents.trader.FlexibilityTrader
reportCosts, requestElectricityForecast, updateElectricityPriceForecast, updateMeritOrderForecast
-
Methods inherited from class agents.trader.Trader
extractMarginalsAtTime, getMatchingContract, getSortedMarginalList, sortMarginalsByTimeStamp
-
Methods inherited from class de.dlr.gitlab.fame.agent.Agent
addContract, call, closeChannel, executeActions, executeWarmUp, fulfilNext, fulfilNext, getId, getNextRandomNumberGenerator, getPostOffice, handleMessage, initialiseActions, now, openChannel, publish, receive, sendMessageTo, sendMessageTo, store, store, toString, warmUp
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.dlr.gitlab.fame.agent.AgentAbility
call, fulfilNext, fulfilNext, getId, getNextRandomNumberGenerator, now, store, store
-
Methods inherited from interface agents.markets.DayAheadMarketTrader
extractTimesFromGateClosureInfoMessages, readGateClosureInfoMessage
-
Methods inherited from interface agents.markets.FuelsTrader
readFuelBillMessage, readFuelPriceMessage, sendFuelBid, sendFuelPriceRequest
-
-
-
-
Field Detail
-
electrolyzer
protected final Electrolyzer electrolyzer
Electrolyzer device used for hydrogen production
-
strategist
protected final ElectrolyzerStrategist strategist
Strategist used to plan the dispatch of the electrolyzer device and the bidding at the day-ahead market
-
lastProducedHydrogenInMWH
protected double lastProducedHydrogenInMWH
Amount of hydrogen produced based on the last electricity price clearing
-
lastClearingTime
protected de.dlr.gitlab.fame.time.TimeStamp lastClearingTime
First TimeStamp of the last electricity price clearing interval
-
-
Constructor Detail
-
ElectrolysisTrader
public ElectrolysisTrader(de.dlr.gitlab.fame.agent.input.DataProvider data) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates a newElectrolysisTrader
based on given input parameters- Parameters:
data
- configured input- Throws:
de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
- if any required input is missing
-
-
Method Detail
-
prepareBids
protected void prepareBids(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Prepares and sends Bids to one contracted exchange- Parameters:
input
- one GateClosureInfo message containing ClearingTimescontracts
- single contract with aDayAheadMarket
-
digestAwards
protected void digestAwards(ArrayList<de.dlr.gitlab.fame.communication.message.Message> messages, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Digests award information fromDayAheadMarket
, writes dispatch- Parameters:
messages
- award information received fromDayAheadMarket
contracts
- none
-
getInstalledCapacityInMW
protected double getInstalledCapacityInMW()
Description copied from class:FlexibilityTrader
Return installed capacity of the operated flexibility device- Specified by:
getInstalledCapacityInMW
in classFlexibilityTrader
- Returns:
- installed capacity in MW
-
getStrategist
protected ElectrolyzerStrategist getStrategist()
- Specified by:
getStrategist
in classFlexibilityTrader
- Returns:
- strategist instance of respective FlexibilityTrader
-
-