Introduction
Welcome to the full documentation on the Brabant energy system digital twin tool.
The tool has been made as a digital twin with elements of a serious game, aimed at policy makers. The main goal of the game is for policy makers to gain insight into the system effects, key choices and trade-offs when creating sustainability strategies for their neighborhoods. We start by modelling indivdual households in neighborhoods and scale-up to show grid congestion and availability of heat sources on a provincial level.

Do you want to get started or link to some further documentation? This documentation contains details on the user interface, results, calculations and data. See the full documentation Contents. The documentation can be valuable for both users and modellers.
Besides this you can the links underneath to navigate to the source code of both models, and the tool itself.
Go to the User Manual
Go to the tool
Go to the neighborhood model github
Go to the province model github
Intellectual property and usage
This is an open-source model developed by Zenmo Simulations and the Eindhoven University of Technology. It was commissioned by the Province of Noord-Brabant and grid operator Enexis. Usage is on your own risk, Zenmo and the TU/e have no liability towards third parties or other users. For full terms of use see
The model is aimed at giving insight in key dynamics and trade-offs in energy transition strategies. Do you want to use the model to develop more detailed sustainability strategies or investment decisions, get into contact with us by sending an email to naud@zenmo.com.
License
This is an open-source model which can be used, modified and distributed under GLU 3.0 License, see license
Contact and questions
The model has been developed by Naud Loomans, PhD. student at the Eindhoven University of Technology and employee at Zenmo Simulations. Click here for an overview of the academic research profile related to this model. For contact or questions read the docs or send an email to naud@zenmo.com.
Contents
User Manual
The user manual contains the full documentation on how the tool can be used and definitions of sliders and settings. To get better understanding of the results and how they are calculated go to Key-peformance indicators.
The serious game starts with a quick explanation of the project and challenges, than continues by explaining the user interface of the two models, and all interactive buttons the user can use.
Tool homepage
The homepage gives a quick explanation of the goal and perspective of the tool itself and what to expect when playing the challenges. Users can select to continue the ‘game’ playthrough or go directly to the two models.

Neighborhood model
The neighborhood model is created to give policy makers insight into the dynamics of sustainability strategies in local energy systems. The main focus is on modelling the local energy system, connecting households, local collective energy generation and energy grids. Users can explore the dynamics and trade-offs between different heating solution and run scenarios to compare individual versus collective heating solutions. Furthermore, the model is aimed at connecting transitions in heating, electricity, mobility and storage. It is vital to take this integral perspective to show the full potential and impact of these transitions on collective resources such as grids, but also on how they can alleviate constraints on these resources by for example smart charging.
For further documentation on the model itself see Neighborhood model.
Neighborhood information
The challenges defined are based on the Key-peformance indicators. These have been defined with stakeholders from the Province, grid operator and municpalities to make sure they allign to user requirements.
The challenges have been set-up in such a way they challenge the user to explore the full range of possiblities and KPIs. If the user is able to complete the challenges they have gained insight in when grid congestion becomes a critical problem in transition scenarios, how local flexibility can alleviate this, and how trade-offs in different heating systems lead to different costs but also different levels of congestion.
Three neighborhoods have been modelled. Sleeuwijk west is a typical Dutch village neighborhood, with a fairly distributed building stock in terms of building types and construction years. Afrikaanderbuurt midden is a typical 60s city neighborhood, with many poorly insulated apartments and terraced houses. Doornbos-Linie is similar to Afrikaanderbuurt midden a 60s neigbhorhood with poorly insulated appartments and terraced houses. However, unlike Afrikaanderbuurt midden part of the buildings are already heated by a high temperature district heating grid. See the table and picture underneath for better overview.
Sleeuwijk west |
Afrikaanderbuurt midden |
Doornbos-Linie |
|
---|---|---|---|
Municipality |
Altena |
Tilburg |
Breda |
Inhabitants |
3970 |
1930 |
4390 |
Households |
1647 |
1080 |
2083 |
Current heating solution |
Natural gas boilers |
Natural gas boilers |
Natural gas boilers + district heating |
Neighborhood statistics |

Neighborhood user interface
Start-up
This section describes the user interface of the neighborhood model. To start-up the model click on the play icon and wait for the model to get build. To enhance visibility click on the full screen mode icon in the right bottom corner of the simulation screen.
Select neighborhood
The first step is selecting your prefered neighborhood. You can select a neighborhood by clicking on the neighborhood image, title or text. When you have selected the neighborhood click on ‘Start buurt simulatie’ for the model to build-up the neighborhood and start the simulation.
Home screen
The home screen during simulation consists of multiple sections.
The top left corner is aimed at Input settings. Here you can change the neighborhood heating and electricity strategies.
The bottom left corner is the legenda. This shows what the colors in the buildings represent
The center part of the screen contains the digital representation of the neighborhood with all buildings, grids (in green) and low-voltage transformers (green circels with black lines). Above the map you can see the current date. As the model is in continuous simulation the energy consumption depends on the model date.
The right part of the screen is for simulation Results. It also contains a button to go to the scenario comparison screen.

Input settings
Input settings can be changed by using the buttons and sliders in the top right corner of the screen. A full description of input settings can be found in the table Input settings underneath. The user can click on the buttons to change between heating and electricity solutions, and needs to unfold the heating supply and electricity sliders by clicking on the arrow.
Setting |
Range |
Description |
---|---|---|
Heating demand |
||
Insulation level |
E-A |
Sets insulation level to a minimum requirement (e.g. setting at C means all households below C would get insulation measures until level C) |
Heating supply |
||
Natural gas boilers |
0 - # of households |
Households with a natural gas boiler |
Green gas boilers |
0 - # of households |
Households with a green gas boiler |
Electric heat pump |
0 - # of households |
Households with an electric heat pump |
Hyrbid heat pump |
0 - # of households |
Households with a hyrbid heat pump |
Low-temperature district heating |
0 - # of households |
Households connected to a low-temp district heating grid |
Medium-temperature district heating |
0 - # of households |
Households connected to a medium-temp district heating grid |
Electric appliances |
||
Rooftop PV |
0 - # of households with PV potential |
Households with rooftop PV |
Induction cooking stove |
0 - # of households |
Households with induction cooking stove |
Electric vehicle |
0 - # of cars |
Number of electric vehicles |
Home battery |
0 - # of households |
Households with a home battery system |
Charging strategy |
Conventional – smart - bidirectional |
Charging strategy that all households with an electric vehicle abide |
Energy cost assumptions |
2022 – 2022 – 2030 |
Assumptions on energy costs (electricity, natural gas, heat, fuels)* |
note: energy cost settings can only be found in the scenario comparison screen. Furthermore they only include energy costs, no changes in investment costs have been assumed
Results
Results are presented when clicking the ‘resultaat’ button or when comparing multiple scenarios in the ‘vergelijk resultaten van meerdere scenario’s’ button. The resultaat screen presents results on a neighborhood level and on a househood level. The househood results are simply neighborhood results divided by the number of households in the neighborhood. For more information on the exact values see Key-peformance indicators.
Neighborhood model
Model structure
The model consists of bottom-up modeled energy assets and agents, such as buildings, cars, and households. Heterogeneous instances of these objects or agents are created based on data from, for example, households, cars, people, and transformers. The neighborhood model contains data from three different neighborhoods: a rural village and urban districts from the 60s with and without an operational district heating grid. In this paper, the focus is on the urban neighborhood without district heating. The other neighborhoods were created to let the local policymakers interact with their location-specific characteristics in the participatory process. The neighborhoods are based on data from the central bureau of statistics (CBS, 2022), basic registration of buildings and addresses (BAG) (Kadaster, 2022), and the grid operator (Enexis Netbeheer, 2022). They contain between 1201 and 2904 residence objects connected to 7 to 23 transformers.
Energy Calculations
Energy demand and supply are calculated hourly at a household level. Energy demand is subdivided into room heating, domestic hot water, mobility, electricity, and cooking demand. The model is activity-based, which ensures that any change in appliances (e.g., gas stove to induction stove, conventional car to electric car) is a shift in energy carrier while maintaining behavioral characteristics. Local demand is always matched by a combination of local supply (PV generation and renewable heat sources) and imported supply (natural gas, gasoline, and electricity). The energy sources are included in the costs. However, it is up to the user to create viable scenarios where the required resources (e.g. residual heat) do not exceed the potential. Flexibility and storage are covered by the curtailment of PV systems, smart charging algorithm for electric vehicles, and home battery systems. PV systems will curtail if the aggregated feed-in power exceeds the connected low-voltage transformer limits on nominal capacity. Smart charging is implemented according to an algorithm aimed at alleviating grid congestion. If transformers exceed the maximum capacity, the charging session of connected EVs is delayed until the maximum capacity is not exceeded anymore. This system is not yet possible but was modeled to show the potential of smart charging. Home batteries are implemented with the scope of minimizing homeowners’ electricity bills. This means charging based on excess energy and discharging to alleviate grid congestion. This is not an optimized charging schedule or aimed at maximizing homeowners’ profits. Further exploring the effects of different charging strategies is up for future research.
Scenario settings in GUI
When using the model in the participatory process, the user can select a range of scenario settings. The settings are presented as the number of households with a specific application or technology. Changing this setting means an algorithm will select which household gets this technology. For example, if more electric heat pumps are selected, households with higher energy labels will get the heat pumps first. This aligns with existing examples of renewable energy technology adoption and ensures realistic costs and energy loss assumptions are considered.
Province model
Province model structure
The provincial model alligns data and agents on multiple levels. On the supply side agents are created for all individual wind turbines, and solar power plants (above 0.2MW), and other renewable energy generation projects from the SDE+ database that are currently finished. On the demand side the smallest geographical level are neighborhoods. The model represents all neighborhoods in the province and calculates their demand based on number of households, inhabitants, and vehicles. Furthermore small scale PV is calculated on this level. The next level are municipalities, which include calculations on industrial and agricultural energy consumption, as these are not available on a neighborhood level. In terms of infrastructure the model contains high-to-medium voltage transformers and corresponding grids. Based on the care areas of these transformers the supply and demand of generation units, neighborhoods, and municipalities are aggregated on a transformer.
Energy Calculations
Energy supply and demand are calculated on an hourly level. Supply depends on weather conditions for wind and solar projects and general grid supply. Demand is based on NEDU consumption profiles for households, industry, and agriculture. These are aggregated on the high-to-medium voltage transformers and compared to the max transformer capacity. Additional electricity demand arises if the number of heat pumps or electric vehicles is increased, ultimately leading to grid congestion on the transformers.
Key-peformance indicators
Description of key-performance indicators
Key to the financial performance indicators is the concetp of Levelised cost of energy (LCOE). To calculate the costs per kWh for the heating system, electricity system, insulation measures and overall system this method has been applied. Note the actual costs that households have to pay can slighly differ as LCOE includes discount rates to average out costs over the system lifetime. To better understand the concept see the equation below.
\(LCOE = \frac { \text{sum of costs over lifetime} } { \text{sum of electrical energy produced over lifetime} } = \frac{\sum_{t=1}^{n} \frac{ I_t + M_t + F_t}{\left({1+r}\right)^t} }{\sum_{t=1}^{n} \frac{E_t}{\left({1+r}\right)^{t}} }\)
It : investment expenditures in the year t
Mt : operations and maintenance expenditures in the year t
Ft : fuel expenditures in the year t
Et : energy generated in the year t
r : discount rate
n : expected lifetime of system
Furthermore it is important to define which costs are in system scope. For the exact description see the table below.
Indicator |
Unit |
Description |
---|---|---|
Total |
||
Average energy costs |
€/kWh |
Levelized cost of energy (LCOE). Combination of the levelised costs of electricity, heating and mobility multiplied with their respective demands and than divided by the total energy demand. |
Total annual costs |
€/year |
LCOE multiplied by annual energy demand |
Total lifetime costs |
€ |
Annual costs multiplied by average energy system lifetime |
Annual energy demand |
kWh |
Primary energy consumption per year, includes heat losses in case of district heating on the societal level. |
Heating solution |
||
Average energy costs |
€/kWh |
Levelized cost of heat (LCOH). Investment costs plus annual costs multiplied by discount rate devided by heating demand multiplied by discount rate |
Total annual costs |
€/year |
LCOH multiplied by annual heating demand |
Total lifetime costs |
€ |
Annual costs multiplied by heating system lifetime |
Annual heating demand |
kWh |
Primary energy consumption per year, includes heat losses in case of district heating on the societal level. |
Insulation |
||
Average energy costs |
€/kWh |
Levelized cost of insulation (LCOI), or euro per saved kWh of energy. Insulation costs multiplied by discount rate devided by energy demand reduction multiplied by discount rate |
Total annual costs |
€/year |
LCOI multiplied by annual energy savings |
Total lifetime costs |
€ |
Annual costs multiplied by insulation system lifetime |
Annual energy savings |
kWh |
Energy saved by insulation measure (assumption from Vesta MAIS). |
Electricity |
||
Average electricity costs |
€/kWh |
Also LCOE (Levelised cost of electricity). Adding up investment costs for PV and home batteries if a household has those and the grid electricity costs per kWh. Multiplying this over the lifetime with the discount rate. |
Total annual costs |
€/year |
LCOE multiplied by annual household electricity demand (Note: this excludes public EV charging demand). |
Total lifetime costs |
€ |
Annual costs multiplied by electricity system lifetime (lifetime of PV and home battery systems) |
Annual electricity consumption |
kWh |
Household electricity consumption + public charging electricity consumption (Note: This is actual demand so not grid demand, PV generated energy is not substracted from this figure). |
Data
This page inidactes all data sources used. Primarly data from publicaly available open-sources have been used. The only exception on this is the low voltage transformer capacity, which has been distributed under NDA.
The public data can be downloaded, directly from its sources, or the actual data used in the model from the github repositories. The list below is a general overview of main data sources used.
Overview of data sources
Description |
Source |
Year |
Accesability |
---|---|---|---|
Neighborhood characteristics |
|||
Building characteristics |
2021 |
Open data |
|
Building insulation levels |
2021 |
Open data |
|
Demographic characteristics |
2021 |
Open data |
|
Grid topology |
2021 |
Open data |
|
Low-voltage transformer capacity |
Enexis |
2022 |
Under NDA |
Building locations |
2021 |
Open data |
|
Province characteristics |
|||
Neighborhood demarcation |
2021 |
Open data |
|
Grid topology |
2021 |
Open data |
|
Renewable generation sources |
2022 |
Open data |
|
Heat sources |
2021 |
Open data |
|
Energy supply and demand |
|||
Annual household energy demand (DHW, room heating, electricity) |
2021 |
Open-source model |
|
Annual neighborhood energy demand per strategy |
2020 |
Open-source model |
|
DHW hourly profile |
2005 |
Open-source model |
|
Travel behavior patterns |
Albatross |
2022 |
Closed scientific model |
Electricity hourly demand profile |
2021 |
Open data |
|
Gas hourly demand profile |
2021 |
Open data |
|
Weather data |
2019 |
Open data |
|
Costs |
|||
Cost assumptions on insulation, district heating and inhouse heating solutions |
2021 |
Open-source model |
|
Emissions |
|||
Emission factors natural gas, green gas, residual heat, and fuels |
2022 |
Open data |
Subtitute non-public data
To substitute this data for public usage of the model the transformer capacity can be seen as a funtion from the connected households, averiging a capacity of 1.5kW per household.
Work with the models yourself
This section describes how you can install, start-up and work with the models yourself. To find out the exact data, calculations and method use the required parts of the docs.
Note
Before working with the model make sure you have read the License terms.
The models can be downloaded from Github public repositories.
Go to the neighborhood model github
Go to the province model github
Installation
Do you want to work with the code yoursef? In that case you will have to download the models from the github pages mentioned above and download AnyLogic. To start working with the models you can use the free ‘Personal Learning Edition’. After installing AnyLogic and downloading the github repositories you can simply open the .alp file and in your AnyLogic environment and dive into the model.
Contact and questions
The model has been developed by Naud Loomans, PhD. student at the Eindhoven University of Technology and employee at Zenmo Simulations. Click here for an overview of the academic research profile related to this model. For contact or questions read the docs or send an email to naud@zenmo.com.