Difference between revisions of "Heat recuperation"

From Simulace.info
Jump to: navigation, search
(First written)
m (Revision of english)
 
Line 1: Line 1:
The story is very, very simple this time. Imagine a flathouse full of people taking care of enviroment (e.g. Greenpeace headoffice). Those people know that they are wasting lot of energy by splashing hot water into the waste and they want to use heat stored in this water to create electricity.  
+
The story is very, very simple this time. Imagine a flat house full of people taking care of environment (e.g. Greenpeace head office). Those people know that they are wasting lot of energy by splashing hot water into the waste and they want to use heat stored in this water to create electricity.  
The problem is that nobody (not even Greenpeace H.O.) knows how much and how hot water is he wasting. The only "hard data" we are able to acqiure is information about how much hot and cold water was used in the flat.
+
The problem is that nobody (not even Greenpeace H.O.) knows how much and how hot water is he wasting. The only "hard data" we are able to acquire is information about how much hot and cold water was used in the flat.
Task of this simulation is to simulate water flow in the house and try to predicate water (or wate water pipe) temperature during a week.
+
Task of this simulation is to simulate water flow in the house and try to predicate water (or water water pipe) temperature during a week.
  
 
=Problem definition=
 
=Problem definition=
As an input I have recieved several datasets of water usage in specified house. From similar data sets every analyst using this model will be capable to specify mean and deviation of normal distribution for every peak and waterflow during the peak. The model will then simulate these distribution for several weeks.
+
As an input I have received several datasets of water usage in specified house. From similar data sets every analyst using this model will be capable to specify mean and deviation of normal distribution for every peak and water flow during the peak. The model will then simulate these distribution for several weeks.
  
By definition we assume that the pipe will have the same temperature as water last wasted. We also assume that temparature might be mixed by volume (that means that 1 litre of 50°C wather mixed with 1 litre of 10°C water will have 50°C * 1litre + 10°C * 1litre) / 2 = 30°C).
+
By definition we assume that the pipe will have the same temperature as water last wasted. We also assume that temperature might be mixed by volume (that means that 1 litre of 50°C water mixed with 1 litre of 10°C water will have 50°C * 1litre + 10°C * 1litre) / 2 = 30°C).
  
 
Outputs of the model will be:
 
Outputs of the model will be:
Line 16: Line 16:
 
I have decided to simulate those data in MS Excel. MS Excel is strong enough to simulate the model and is well known. This is important while the model might be used for simulation some real situation by ČVUT student(s).
 
I have decided to simulate those data in MS Excel. MS Excel is strong enough to simulate the model and is well known. This is important while the model might be used for simulation some real situation by ČVUT student(s).
  
While the abstraction is realy high, there will be no agents in the model, so no special software is needed.
+
While the abstraction is really high, there will be no agents in the model, so no special software is needed.
  
 
=Model=
 
=Model=
 
The model is very simple form description. User (analyst) may configure 4 variables and 40 normal distributions all located on "Settings" spreadsheet.
 
The model is very simple form description. User (analyst) may configure 4 variables and 40 normal distributions all located on "Settings" spreadsheet.
  
==Varaibles==
+
==Variables==
 
===Hot water temp. (°C)===
 
===Hot water temp. (°C)===
 
Sets temperature of water in "hot" pipe.
 
Sets temperature of water in "hot" pipe.
Line 27: Line 27:
 
Sets temperature of water in "cold" pipe.
 
Sets temperature of water in "cold" pipe.
 
===Mean temp. decrease===
 
===Mean temp. decrease===
This variable is present to simulate that most of people will use hot water before they waste it (and decrease its temperatur in the process). To set up average value of this decrease you have to fill in this cell.
+
This variable is present to simulate that most of people will use hot water before they waste it (and decrease its temperature in the process). To set up average value of this decrease you have to fill in this cell.
 
===Maximum percent deviation===
 
===Maximum percent deviation===
 
In this variable an analyst may set how much value of every step (10 minutes) might differ from each distribution. This is the parameter where you can differ deterministic model from non-deterministic one.
 
In this variable an analyst may set how much value of every step (10 minutes) might differ from each distribution. This is the parameter where you can differ deterministic model from non-deterministic one.
  
 
==Distributions==
 
==Distributions==
You may set 20 different distirbutions for hot and 20 for cold water. All of those distributions are normal and you may set it's mean, deviation and total flow during the peak. You may as well choose just some weeks where the distribution is valid.
+
You may set 20 different distributions for hot and 20 for cold water. All of those distributions are normal and you may set its mean, deviation and total flow during the peak. You may as well choose just some weeks where the distribution is valid.
  
 
==Model definition==
 
==Model definition==
Work of the model is realy simple. On the "simulation" sheet you can find 52 "weeks", each divided into 7 days and those days divided by 10 minutes.
+
Work of the model is really simple. On the "simulation" sheet you can find 52 "weeks", each divided into 7 days and those days divided by 10 minutes.
 
For every line (10 minutes) hot and cold water flow is counted by formula like below:
 
For every line (10 minutes) hot and cold water flow is counted by formula like below:
  
Line 60: Line 60:
  
 
This formula contains of 20 KDYŽ (IF) functions - one for every distribution:
 
This formula contains of 20 KDYŽ (IF) functions - one for every distribution:
* condition tests wherather the distribution is walid for this week
+
* condition tests weather the distribution is valid for this week
 
* if the distribution is valid then the model counts its value for this line (NORM.DIST($B3;Settings!$B$13;Settings!$B$14;NEPRAVDA);0) and multiple it by random number between 1-"Maximum percent deviation" and 1+"Maximum percent deviation" ((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))
 
* if the distribution is valid then the model counts its value for this line (NORM.DIST($B3;Settings!$B$13;Settings!$B$14;NEPRAVDA);0) and multiple it by random number between 1-"Maximum percent deviation" and 1+"Maximum percent deviation" ((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))
  
To ensure that there will be no problem with parts of distribution "travelling" into next week, another 7 days for each week are counted and waterflow of those "weeks" are added to next week (starting from week 2).
+
To ensure that there will be no problem with parts of distribution "travelling" into next week, another 7 days for each week are counted and water flow of those "weeks" are added to next week (starting from week 2).
  
The tampearature itsetlf is counted by much more simple formula:  
+
The temperature itself is counted by much more simple formula:  
  
 
=((E3*(Settings!$B$1-(NORM.S.DIST(NÁHČÍSLO();PRAVDA)*Settings!$B$3))+(F3*Settings!$B$2))/(E3+F3))
 
=((E3*(Settings!$B$1-(NORM.S.DIST(NÁHČÍSLO();PRAVDA)*Settings!$B$3))+(F3*Settings!$B$2))/(E3+F3))
  
This formula siply decrease temparature of hot water and mixes hot and cold water.
+
This formula simply decreases temperature of hot water and mixes hot and cold water.
  
 
=Results=
 
=Results=
Line 75: Line 75:
  
 
==Averages_per_year==
 
==Averages_per_year==
In this sheet you can find average values of temperature for every day and 10 minutes or hour during the year.
+
In this sheet you can find average values of temperature for every day and 10 minutes or hour during the year.  
[[File:mean_temp_output.png]]
 
  
 
==Statistics==
 
==Statistics==
Line 82: Line 81:
  
 
=Conclusion=
 
=Conclusion=
As you can see from the model even quite high values of "Mean temp. decrease" and "Maximum percent deviation" values are unable to differ the temperature a lot. For set distributions temparature is betweeen 10 and 35 degrees with average about 18 degrees.  
+
As you can see from the model or the picture below even quite high values of "Mean temp. decrease" and "Maximum percent deviation" values are unable to differ the temperature a lot. For set distributions temperature is between 10 and 35 degrees with average about 18 degrees.  
I do not suppose that this an artefact of the model because the results get are quite similar to realy collected data (including peak at 13:00 which is not defined in the distributions).
+
I do not suppose that this is an artefact of the model because the results get are quite similar to really collected data (including peak at 13:00 which is not defined in the distributions).
 +
 
 +
[[File:mean_temp_output.png]]
  
Even if the model is not as random as I was expecting I still believe that it might be heplful for its designed puropse.
+
Even if the model is not as random as I was expecting I still believe that it might be helpful for its designed purpose.
  
 
=Code=
 
=Code=
 +
[[Media:Simulation.zip]]

Latest revision as of 21:57, 15 January 2014

The story is very, very simple this time. Imagine a flat house full of people taking care of environment (e.g. Greenpeace head office). Those people know that they are wasting lot of energy by splashing hot water into the waste and they want to use heat stored in this water to create electricity. The problem is that nobody (not even Greenpeace H.O.) knows how much and how hot water is he wasting. The only "hard data" we are able to acquire is information about how much hot and cold water was used in the flat. Task of this simulation is to simulate water flow in the house and try to predicate water (or water water pipe) temperature during a week.

Problem definition

As an input I have received several datasets of water usage in specified house. From similar data sets every analyst using this model will be capable to specify mean and deviation of normal distribution for every peak and water flow during the peak. The model will then simulate these distribution for several weeks.

By definition we assume that the pipe will have the same temperature as water last wasted. We also assume that temperature might be mixed by volume (that means that 1 litre of 50°C water mixed with 1 litre of 10°C water will have 50°C * 1litre + 10°C * 1litre) / 2 = 30°C).

Outputs of the model will be:

  • average, maximal and minimal temperature for every day
  • average temperature for every hour during the week
  • "raw data" for every 10 minutes in year

Method

I have decided to simulate those data in MS Excel. MS Excel is strong enough to simulate the model and is well known. This is important while the model might be used for simulation some real situation by ČVUT student(s).

While the abstraction is really high, there will be no agents in the model, so no special software is needed.

Model

The model is very simple form description. User (analyst) may configure 4 variables and 40 normal distributions all located on "Settings" spreadsheet.

Variables

Hot water temp. (°C)

Sets temperature of water in "hot" pipe.

Cold water temp. (°C)

Sets temperature of water in "cold" pipe.

Mean temp. decrease

This variable is present to simulate that most of people will use hot water before they waste it (and decrease its temperature in the process). To set up average value of this decrease you have to fill in this cell.

Maximum percent deviation

In this variable an analyst may set how much value of every step (10 minutes) might differ from each distribution. This is the parameter where you can differ deterministic model from non-deterministic one.

Distributions

You may set 20 different distributions for hot and 20 for cold water. All of those distributions are normal and you may set its mean, deviation and total flow during the peak. You may as well choose just some weeks where the distribution is valid.

Model definition

Work of the model is really simple. On the "simulation" sheet you can find 52 "weeks", each divided into 7 days and those days divided by 10 minutes. For every line (10 minutes) hot and cold water flow is counted by formula like below:

=(KDYŽ(A(C$1>=Settings!$B$10;C$1<=Settings!$B$11);Settings!$B$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$B$13;Settings!$B$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$C$10;C$1<=Settings!$C$11);Settings!$C$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$C$13;Settings!$C$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$D$10;C$1<=Settings!$D$11);Settings!$D$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$D$13;Settings!$D$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$E$10;C$1<=Settings!$E$11);Settings!$E$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$E$13;Settings!$E$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$F$10;C$1<=Settings!$F$11);Settings!$F$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$F$13;Settings!$F$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$G$10;C$1<=Settings!$G$11);Settings!$G$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$G$13;Settings!$G$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$H$10;C$1<=Settings!$H$11);Settings!$H$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$H$13;Settings!$H$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$I$10;C$1<=Settings!$I$11);Settings!$I$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$I$13;Settings!$I$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$J$10;C$1<=Settings!$J$11);Settings!$J$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$J$13;Settings!$J$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$K$10;C$1<=Settings!$K$11);Settings!$K$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$K$13;Settings!$K$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$L$10;C$1<=Settings!$L$11);Settings!$L$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$L$13;Settings!$L$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$M$10;C$1<=Settings!$M$11);Settings!$M$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$M$13;Settings!$M$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$N$10;C$1<=Settings!$N$11);Settings!$N$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$N$13;Settings!$N$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$O$10;C$1<=Settings!$O$11);Settings!$O$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$O$13;Settings!$O$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$P$10;C$1<=Settings!$P$11);Settings!$P$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$P$13;Settings!$P$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$Q$10;C$1<=Settings!$Q$11);Settings!$Q$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$Q$13;Settings!$Q$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$R$10;C$1<=Settings!$R$11);Settings!$R$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$R$13;Settings!$R$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$S$10;C$1<=Settings!$S$11);Settings!$S$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$S$13;Settings!$S$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$T$10;C$1<=Settings!$T$11);Settings!$T$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$T$13;Settings!$T$14;NEPRAVDA);0)) + (KDYŽ(A(C$1>=Settings!$U$10;C$1<=Settings!$U$11);Settings!$U$9*((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))*NORM.DIST($B3;Settings!$U$13;Settings!$U$14;NEPRAVDA);0))

This formula contains of 20 KDYŽ (IF) functions - one for every distribution:

  • condition tests weather the distribution is valid for this week
  • if the distribution is valid then the model counts its value for this line (NORM.DIST($B3;Settings!$B$13;Settings!$B$14;NEPRAVDA);0) and multiple it by random number between 1-"Maximum percent deviation" and 1+"Maximum percent deviation" ((1-Settings!$E$2)+(Settings!$E$2*2*NÁHČÍSLO()))

To ensure that there will be no problem with parts of distribution "travelling" into next week, another 7 days for each week are counted and water flow of those "weeks" are added to next week (starting from week 2).

The temperature itself is counted by much more simple formula:

=((E3*(Settings!$B$1-(NORM.S.DIST(NÁHČÍSLO();PRAVDA)*Settings!$B$3))+(F3*Settings!$B$2))/(E3+F3))

This formula simply decreases temperature of hot water and mixes hot and cold water.

Results

There are two sheets with results, both including graphs.

Averages_per_year

In this sheet you can find average values of temperature for every day and 10 minutes or hour during the year.

Statistics

Where you can find average, maximal and minimal temperature for every week.

Conclusion

As you can see from the model or the picture below even quite high values of "Mean temp. decrease" and "Maximum percent deviation" values are unable to differ the temperature a lot. For set distributions temperature is between 10 and 35 degrees with average about 18 degrees. I do not suppose that this is an artefact of the model because the results get are quite similar to really collected data (including peak at 13:00 which is not defined in the distributions).

Mean temp output.png

Even if the model is not as random as I was expecting I still believe that it might be helpful for its designed purpose.

Code

Media:Simulation.zip