public interface Accounting
Accounting is also a TimeslotPhaseProcessor, running in the last phase of the simulation cycle. All processors that can generate transactions must run in earlier phases.
| Modifier and Type | Method and Description |
|---|---|
void |
activate(org.joda.time.Instant time,
int phase)
Runs the accounting process.
|
BalancingTransaction |
addBalancingTransaction(Broker broker,
double imbalance,
double charge)
Adds a balancing transaction to represent the cost of imbalance
|
CapacityTransaction |
addCapacityTransaction(Broker broker,
int peakTimeslot,
double threshold,
double kWh,
double fee)
Adds a capacity transaction to represent charges for contribution to
a demand peak.
|
DistributionTransaction |
addDistributionTransaction(Broker broker,
int nSmall,
int nLarge,
double transport,
double distroCharge)
Adds a distribution transaction to represent charges for customer
connections and energy transport.
|
MarketTransaction |
addMarketTransaction(Broker broker,
Timeslot timeslot,
double price,
double mWh)
Adds a market transaction that includes both a cash component and a product
commitment for a specific timeslot.
|
TariffTransaction |
addRegulationTransaction(Tariff tariff,
CustomerInfo customer,
int customerCount,
double kWh,
double charge)
Adds a tariff transaction representing a curtailment or balancing action
to the current-hour transaction list.
|
TariffTransaction |
addTariffTransaction(TariffTransaction.Type txType,
Tariff tariff,
CustomerInfo customer,
int customerCount,
double kWh,
double charge)
Adds a tariff transaction to the current-hour transaction list.
|
double |
getCurrentMarketPosition(Broker broker)
Returns the market position for the current timeslot for a given broker.
|
double |
getCurrentNetLoad(Broker broker)
Returns the current net load represented by unprocessed TariffTransactions
for a specific Broker.
|
Map<Broker,Map<TariffTransaction.Type,Double>> |
getCurrentSupplyDemandByBroker()
Returns a mapping of brokers to total supply and demand among subscribed
customers.
|
List<TariffTransaction> |
getPendingTariffTransactions()
Returns the list of pending tariff transactions for the current timeslot.
|
void |
postBalancingControl(BalancingControlEvent bce)
Updates a broker's cash position resulting from the Balancing Market
payment for Demand Response exercise.
|
MarketTransaction addMarketTransaction(Broker broker, Timeslot timeslot, double price, double mWh)
TariffTransaction addTariffTransaction(TariffTransaction.Type txType, Tariff tariff, CustomerInfo customer, int customerCount, double kWh, double charge)
TariffTransaction addRegulationTransaction(Tariff tariff, CustomerInfo customer, int customerCount, double kWh, double charge)
DistributionTransaction addDistributionTransaction(Broker broker, int nSmall, int nLarge, double transport, double distroCharge)
CapacityTransaction addCapacityTransaction(Broker broker, int peakTimeslot, double threshold, double kWh, double fee)
broker - peakTimeslot - when the peak occurredthreshold - assessment thresholdkWh - total net demand among broker's customers during timeslotfee - assessed capacity fee for this peak eventBalancingTransaction addBalancingTransaction(Broker broker, double imbalance, double charge)
void postBalancingControl(BalancingControlEvent bce)
double getCurrentNetLoad(Broker broker)
Map<Broker,Map<TariffTransaction.Type,Double>> getCurrentSupplyDemandByBroker()
double getCurrentMarketPosition(Broker broker)
List<TariffTransaction> getPendingTariffTransactions()
void activate(org.joda.time.Instant time,
int phase)
Copyright © 2017 Power TAC. All rights reserved.