The predefined households don’t match the averages in this other source I found! This is all wrong!

There are no “average” load curves. Every person, every household is different. The purpose of the LPG and the predefined households is to provide a lot of individual examples to do statistical verification.

The main goal of the LPG is not to provide a few example profiles but to provide a tool to easily model any household you can imagine. So if you are unhappy with the predefined households, they are easy to modify.

If you would like to help with the development and you create better households, I’ll happily integrate them into the official release, if you send them to me.

I want to make a backup of my data. How?

Select “Save as” in the menu and store the file where ever you want. The file itself is an SQLite database.

 How does the decision model work and what are the weights?

Desires have a weight. Essentials like work and sleep have a weight of 1000, important ones like eating have 10 and optional ones like TV have 1. For example: If a person has to decide between watching TV and eating, then that person will look at the desires and figure:

“Oh, I haven’t watched TV in ages, my TV satisfaction is 0. I would gain (1 * 1 weight) utility from watching TV. My stomach is 50% full, so eating a full meal which provides 100% fullness would result in 150% fullness, which has a utility of (-0.5 * 10 weight) from eating. I’ll watch TV.”

If the person has to chose between TV, eating and work, then the calculation is the same as above, but now the work has an utility of (1 * 1000 weight), which trumps everything. So the essentials like work and sleep have time limits to make sure that they provide a rough structure for the life and trump everything, and the rest gets executed as dictated by desires.

What is the development status?

The Load Profile Generator is actively used in research and thus new features appear whenever I need them for my research projects. The program itself is mostly feature complete, but there might still be some bugs left.

Development is ongoing.

If you find any bugs or have an idea for an improvement, please tell me!

What is the difference between Modular Households and Houses?

Modular Households use the newer modeling approach of combining a household from traits. This makes it considerable quicker and easier to create a new household.

Houses contain one or more households and all the house infrastructure like water heater, space heater, etc.

How does the Heating Model work?

The model is a very simple degree day model, because building simulation is not the focus of the LPG. The model only spreads a given total energy consumption over a time period. It does not calculate the energy consumption itself!

An explanation of the degree day method is here for example:


Here is an additional example with some numbers, because that usually helps to understand something:

Assume you have 3 days and 100 kWh heating load:

  1. Day: 20 Degree
  2. Day: 10 Degree
  3. Day: 0 Degree

With the usual 20/15 setting that means:

  1. Day: no heating
  2. Day: 5 Degreedays
  3. Day: 15 Degreedays

That means a total of 20 Degreedays.

Now you spread the 100 kWh to the days according to the degree days:

  1. Day: 0 kWh
  2. Day: 5/20 = 0.25*100 kWh = 25 kWh.
  3. Day: 15/20 = 0.75 * 100 kWh = 75 kWh

Then the average power is calculated to:

  1. Day: 0 W
  2. Day: 25 kWh / 24h = 1,04 kW
  3. Day: 75 kWh / 24h =  3.1 kW

That heating load is saved as “Space Heating” and then can be “transformed” into electricity or gas consumption with a transformation device. Additionally storage devices can be used to buffer the power consumption.

What is the history of the program?

It was developed at TU Chemnitz during a project. Then the funding ran out and all applications for new projects using this program were denied. After it had become obvious that there would not be any further development funded by the TU Chemnitz, the source code for V1.3.5. was released under the BSD License. I used this to continue the development in my free time for my Ph.D.

After finishing the Ph.D. development continues in a new research project. That was at the Bern University of Applied Science. Since 2020 I’m working at the Forschungszentrum Jülich - IEK-3 and development continues there.

How does it work?

The LoadProfileGenerator (LPG) creates load profiles based on a behavior simulation of the people in a household. This means that the program tries to figure out what people are doing at each point in time. Based on that it calculates device usage and the resulting energy usage.

The behavior simulation is based on a psychological model from the German psychologist D. Dörner. He said that people will decide at each point in time based on their current desires what the best action out of the available options is. Therefore the program implements a simplified desire model which, for example, says that people have the desire to eat every 5 hours (freely configurable of course) or that they want to go to work in the morning.Which actions are available depends on the devices in a household.

In the LPG there are more than 100 devices pre-configured based on market research. These devices are arranged together with load curves into actions. For example, the action “cook pasta” might use two plates on the stove, 10 L of water and a mixer. So each person has desires that he/she tries to satisfy, and a household consists of various rooms that contain devices that “offer” actions to the persons. From this energy load curves are calculated by adding up the energy use of each device at each point in time. The profiles are generated for hot water, cold water, electricity and gas. For heating and cooling demand there is a simple degree day model to help generate a rough estimate of the consumption. This is not a building simulator though, and if you need a detailed building model, other software might be the better choice. The focus of the LPG is the human behavior.

Are there multi-floor residential buildings in the LPG?

There are some. Look under Houses in the LPG. But they are not validated yet.

The program is great, but it is missing the feature ….

Glad to hear that. Send me an email and if I agree, I’ll probably put it in.

Oh Noes! There is a new version and the old database won’t open anymore. Is all my work lost?

No. Just select “Import” in the menu, point the LPG to your old database and you will be offered the option to transfer the changed elements. Note that it only checks the existence and the name, not the content of each element. So if you for example change a device from 1000W to 2000W but make no other changes to this device, it will not get transferred. You need to change the name for the changes to be detected. The reason for this is simply the lack of time to implement a proper check for every single field in every single element.

I have a problem. Will you help me?

Of course. The entire point of putting the program online is to get some beta testing and improve the program.

What is that strange random seed in the calculation screen?

The random seed refers to the starting value for the random number generator.


Calculating the same household without any changes twice with the same seed will result in two times the same result. Calculating the same household without any changes with two different seeds will give you two similar, but different results. -1 will give you a different result every time.

Can I really use the program for my class / my company / to make money / do whatever?

Yes. The only condition is that you send me a bug report if there is any problem.

The entire source code is freely available under the MIT-License here:


How good is the validation of the predefined households?

The predefined households are based on a small survey, personal life experience, and statistical data in Germany. I am reasonably confident that they reflect slightly idealized versions of real behavior in Northern Europe.

It seems likely they are suitable for your problem, but this is by no means certain. A detailed analysis should be done before you use them.

What is the idea behind the warm water calculation?

Different domestic hot water creation methods have different temperatures. For example, typical gas fired water heaters tend to work at around 60°C, while heat pumps are working at lower temperatures. To make the LPG as flexible as possible, the households themselves only contain “warm water consumption”, which is what you would use, for example, for showering. This reflects a temperature of around 35°C and is domestic hot water mixed with cold water.

If you want to have a domestic hot water consumption load curve, you need to put the household into a house and put in the transformation device for warm water mixing.

Can I automate things?

YES! There is the simulationengine.exe with a powerfull command line interface. Just start the file in a command line window and look at the options.

Can I simulate hundreds or thousands of households?

Yes. Generate a settlement in the GUI, preferable using a “Settlement Template”, and then use the command line interface to simulate the settlement. If you use the batch options you can even parallelize the calculation across as many cores as you want.

Where is the manual?

The manual is hidden in the second part of my PhD Thesis at


It is in English.

In case you haven’t found the answer to your question please feel free to contact me.