Coal Consumption - BP2022-AP1/bp2022-ap1 GitHub Wiki

Introduction

In this article I want to explain in detail how the DemandScheduleStrategy decides when to spawn a train. The decision is based on data by the Bundesnetzagentur about electricity production from coal in east Germany that has a temporal resolution of 15 min. Here I will explain how a spawning decision is derived from this data. Therefor I have to make a set of assumptions that will be marked with Assumption.

The inputs

The inputs to the spawning decision are the following:

  1. The already mentioned electricity production data
  2. The power station that is the destination for the coal train
    • its efficiency factor
    • its max. electrical output capacity (in MW)
    • its max. thermal output capacity (in MW)
  3. a time interval
  4. a scaling factor

The outputs

The output is a list of ticks at which a train should be spawned.

Determining the overall max. power production

The data by the Bundesnetzagentur refers to energy production in the "50Hertz" electricity grid that covers eastern Germany. To work with this data the first useful value is the max. electrical power production capacity of the entire grid from coal. Therefore I took the list of all power stations in Germany from here and filtered it for the "50Hertz" grid and the burning of coal. The resulting list contains the max. electrical and thermal production capacity. Some of the electrical production values had to be adjusted, because some of the power stations don't burn coal alone. The sum over all of the electrical production capacities is the overall electrical production capacity inside the grid resulting from the burning of coal.

This value was determined to be $10632.75$ MWh.

Estimating the coal consumption of a specific power plant

Assumption: When the overall electricity production changes by x % then the electricity production in each single power station changes by x %.

This assumption surely doesn't reflect reality but it is reasonable given the available data.

Therefore the electricity production of a power plant is calculated from its max. production capacity and the overall production by simple Cross Multiplication.

Assumption: When the electrical power production of a power plant changes by x % then its thermal power production also changes by x %.

Assumption: When a power plant produces no electrical power it also produces no thermal power and when it puts out its max. electrical power it also puts out its max thermal power.

From these assumptions results a linear relationship between electrical and thermal power production. Given an electrical power production the thermal production can now be calculated based on this relationship.

Furthermore we need some constants:

From these value we can now first calculate the time all power stations would have work on their maximum capacity to deliver the produced electricity:

$t=\frac{E}{P_{tot}}$

Where $t$ is the time in hours, $E$ is the overall produced electrical energy in MWh from coal and $P_{tot}$ is the total electrical production capacity in MW.

From that we can calculate the mass of coal a power station would have to burn for this period to output its maximum power:

$m=\frac{t(P_e+P_t)}{\omega\eta}$

Where $m$ is the mass of coal to burn in tons, $t$ is the time in hours, $P_e$ is the maximum electrical output capacity of the power station in MW, $P_t$ it the maximum thermal output capacity of the power station in MW, $\eta$ is the power stations efficiency and $\omega$ is the coals energy content in MWh/t.

This mass of coal can be scaled to simulate power plant on half its capacity for example.

Determining when to spawn a train

Assumption: One coal train can hold 960 tons of coal.

The needed coal is integrated over time. Whenever the mass of this coal reaches 960 tons a train is spawned and the integrated mass is reduced by 960 tons.