Package agents.plantOperator
Class PowerPlantOperator
- java.lang.Object
-
- de.dlr.gitlab.fame.agent.Agent
-
- agents.plantOperator.PowerPlantOperator
-
- All Implemented Interfaces:
de.dlr.gitlab.fame.agent.AgentAbility
- Direct Known Subclasses:
ConventionalPlantOperator
,RenewablePlantOperator
public abstract class PowerPlantOperator extends de.dlr.gitlab.fame.agent.Agent
Handles communication of power plant operators with their contractingTrader
- Author:
- Christoph Schimeczek
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
PowerPlantOperator.OutputFields
Available output columnsstatic class
PowerPlantOperator.Products
Available products
-
Constructor Summary
Constructors Constructor Description PowerPlantOperator(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider)
Creates aPowerPlantOperator
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
digestPayment(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Writes the income received from an associated trader to outputprotected void
digestPaymentPerPlant(de.dlr.gitlab.fame.time.TimeStamp dispatchTime, double totalPaymentInEUR)
Optional function to digest payments for individual plants of plant operatorprotected abstract double
dispatchPlants(double awardedPower, de.dlr.gitlab.fame.time.TimeStamp time)
Dispatches associated power plants to generate the specified awarded powervoid
executeDispatch(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Runs power plant(s) according to received dispatch instructionsprotected abstract double
getInstalledCapacityInMW()
protected void
reportCosts(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Write annual costs to output-
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
-
-
-
-
Constructor Detail
-
PowerPlantOperator
public PowerPlantOperator(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider)
Creates aPowerPlantOperator
- Parameters:
dataProvider
- provides input from config file
-
-
Method Detail
-
executeDispatch
public void executeDispatch(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Runs power plant(s) according to received dispatch instructions- Parameters:
input
- single message declaring the power to dispatchcontracts
- not used
-
dispatchPlants
protected abstract double dispatchPlants(double awardedPower, de.dlr.gitlab.fame.time.TimeStamp time)
Dispatches associated power plants to generate the specified awarded power- Parameters:
awardedPower
- amount of power to generatetime
- at which to dispatch- Returns:
- total costs for dispatch
-
digestPayment
protected void digestPayment(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Writes the income received from an associated trader to output- Parameters:
input
- single message payment from an associated tradercontracts
- not used
-
digestPaymentPerPlant
protected void digestPaymentPerPlant(de.dlr.gitlab.fame.time.TimeStamp dispatchTime, double totalPaymentInEUR)
Optional function to digest payments for individual plants of plant operator- Parameters:
dispatchTime
- time at which the payment is receivedtotalPaymentInEUR
- total money to be paid out to plant operator
-
reportCosts
protected void reportCosts(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Write annual costs to output- Parameters:
input
- not usedcontracts
- not used
-
getInstalledCapacityInMW
protected abstract double getInstalledCapacityInMW()
- Returns:
- current installed capacity
-
-