Maker Pro
Maker Pro

Greywater work in progress

daestrom said:
Shouldn't the volume of 1' of "NP" number of 1" pipes be....

V1=NP*PI/(12^2) / 4

Yes. Thanks for noticing.
This value for TF(NS-1) doesn't agree with your pumping arrangement. The
ASCII art seems to show that the heat-exchanger inlet on the fresh-water
side is a mixture of cold water (55F) and water drawn from the tank bottom.

Most of the cold water flowing into the heat exchanger comes from the tank
bottom, since most pumping (about 30 Cfresh bursts over 2 hours) happens
during non-shower times, in order to keep the heat exchanger usefully
employed with significant temp diffs more of the time. There might be no
fresh water flow into the heat exchanger during a shower. This is not
the same as running a pump to increase fluid velocity and film conductance.
Cold water flow is 1.25 gpm, tank bottom out flow is <pumpFlow> - 1.25 gpm,
so the mixed temperature at pump discharge is TF(NS-1) = (1.25*55+(<pump
flow> - 1.25)*<tank-bottom-temp>) / <pump flow>

I imagine the tank bottom temp will be close to 55 F, with a slow pump and
water heater stratification, with the lower heating element disabled.

Here's the result with the pipe volume fix, and another in line 100,
which didn't have the NP multiplier.

20 DIM TF(50),TG(50):pI=4*ATN(1)
30 VG=1.25*8.33/62.33'volume of 1.25 gallons (ft^3)
40 V4=PI*(2/12)^2'volume of 1' of 4" pipe (ft^3)
50 NP=3'number of 1" pipes
60 V1=NP*PI*(.5/12)^2'volume of 1' of 1" pipes (ft^3)
70 LS=VG/(V4-V1)'simulation segment length (feet)
80 NS=INT(100/LS+.5)'number of simulation segments
100 UPIPE=10*LS*NP*PI/12'U-value of L' section of 1" pipe (Btu/h-F)
110 CFRESH=LS*V1*62.33'thermal capacitance of L' of 1" pipe (Btu/F)
120 CGREY=VG*62.33'capacitance of L' of greywater (Btu/F)
130 CSERIES=CFRESH*CGREY/(CFRESH+CGREY)'caps in series (Btu/F)
140 RC=CSERIES/UPIPE'combined time constant (hours)
150 EXPF=EXP(-1/60/RC)'exponential factor
160 FOR SHOWER = 1 TO 500'simulate showers
170 FOR M=0 TO 119'simulate 10 min shower every 120 minutes
180 IF M>9 GOTO 250'rest vs shower
190 IF SHOWER <500 GOTO 210
200 PRINT 600+M;"'";M,TG(NS-1)
210 FOR S=NS-1 TO 1 STEP -1'pipe section (ns-1<->fw in and gw out)
220 TG(S)=TG(S-1)'move greywater down
230 NEXT S
240 TG(0)=100'move greywater in
250 IF (TG(0)-TF(0))>5 OR TG(0)<60 GOTO 310'no pumping
260 IF SHOWER>249 THEN HEAT=HEAT+CFRESH*(TF(0)-55):pUMP=PUMP+1
270 FOR S=0 TO NS-2'shift fresh water up
280 TF(S)=TF(S+1)
290 NEXT S
300 TF(NS-1)=55'move cold water in at the bottom
310 FOR S=0 TO NS-1'rest
320 TFINAL=(TF(S)*CFRESH+TG(S)*CGREY)/(CFRESH+CGREY)
330 TF(S)=TFINAL+(TF(S)-TFINAL)*EXPF'new fresh temp (F)
340 TG(S)=TFINAL+(TG(S)-TFINAL)*EXPF'new grey temp (F)
350 NEXT S
360 NEXT M
370 NEXT SHOWER
380 SHOWERGY=250*10*CGREY*(100-55)'250 showers with no GWHX (Btu)
390 PRINT 500+NP;"'";HEAT,SHOWERGY,HEAT/SHOWERGY,PUMP

number of recovered required recovered pumping
pipes heat (Btu) heat (Btu) fraction events

1 175586.9 234281.3 .7494707 6095
2 229994.3 234281.3 .9817018 4365
3 1168364 1171406 .997403 15060

Putting NP in line 100 raised the 2-pipe fraction a lot, but that would drop
with shorter shower intervals. I increased the number of 3-pipe showers from
100 to 500 because its fraction came out greater than 1, given the stochastic
pumping. The greywater outlet seems surprisingly warm during the last shower.
The 3-pipe simulation only has 13 pipe sections. It may need more.

min gw outlet

0 59.37316 F
1 60.09058
2 60.88006
3 61.63319
4 62.3915
5 63.15523
6 63.91952
7 64.68189
8 65.44382
9 66.20461

Nick
 
number of recovered required recovered pumping
pipes heat (Btu) heat (Btu) fraction events

1 175586.9 234281.3 .7494707 6095
2 229994.3 234281.3 .9817018 4365
3 1168364 1171406 .997403 15060

Putting NP in line 100 raised the 2-pipe fraction a lot, but that would drop
with shorter shower intervals...

The 3-pipe version still recovers 92% with a 1 hour interval:

20 DIM TF(50),TG(50):pI=4*ATN(1)
30 VG=1.25*8.33/62.33'volume of 1.25 gallons (ft^3)
40 V4=PI*(2/12)^2'volume of 1' of 4" pipe (ft^3)
50 FOR NP=1 TO 3'number of 1" pipes
55 HEAT=0:pUMP=0
60 V1=NP*PI*(.5/12)^2'volume of 1' of 1" pipes (ft^3)
70 LS=VG/(V4-V1)'simulation segment length (feet)
80 NS=INT(100/LS+.5)'number of simulation segments
100 UPIPE=10*LS*NP*PI/12'U-value of L' section of 1" pipe (Btu/h-F)
110 CFRESH=LS*V1*62.33'thermal capacitance of L' of 1" pipe (Btu/F)
120 CGREY=VG*62.33'capacitance of L' of greywater (Btu/F)
130 CSERIES=CFRESH*CGREY/(CFRESH+CGREY)'caps in series (Btu/F)
140 RC=CSERIES/UPIPE'combined time constant (hours)
150 EXPF=EXP(-1/60/RC)'exponential factor
160 FOR SHOWER = 1 TO 500'simulate showers
170 FOR M=0 TO 59'simulate 10 min shower every 60 minutes
180 IF M>9 GOTO 250'rest vs shower
190 IF SHOWER <500 OR NP<>3 THEN GOTO 210
200 PRINT 600+M;"'";M,TG(NS-1),PUMP
210 FOR S=NS-1 TO 1 STEP -1'pipe section (ns-1<->fw in and gw out)
220 TG(S)=TG(S-1)'move greywater down
230 NEXT S
240 TG(0)=100'move greywater in
250 IF (TG(0)-TF(0))>5 OR TG(0)<60 GOTO 310'no pumping
260 IF SHOWER>249 THEN HEAT=HEAT+CFRESH*(TF(0)-55):pUMP=PUMP+1
270 FOR S=0 TO NS-2'shift fresh water up
280 TF(S)=TF(S+1)
290 NEXT S
300 TF(NS-1)=55'move cold water in at the bottom
310 FOR S=0 TO NS-1'rest
320 TFINAL=(TF(S)*CFRESH+TG(S)*CGREY)/(CFRESH+CGREY)
330 TF(S)=TFINAL+(TF(S)-TFINAL)*EXPF'new fresh temp (F)
340 TG(S)=TFINAL+(TG(S)-TFINAL)*EXPF'new grey temp (F)
350 NEXT S
360 NEXT M
370 NEXT SHOWER
380 SHOWERGY=250*10*CGREY*(100-55)'250 showers with no GWHX (Btu)
390 PRINT 500+NP;"'";HEAT,SHOWERGY,HEAT/SHOWERGY,PUMP/250
395 NEXT NP

number of recovered required recovered pumps per
pipes heat (Btu) heat (Btu) fraction interval

1 463021.7 1171406 .3952699 60.24
2 889123.9 1171406 .7590227 58.568
3 1075658 1171406 .9182622 48.792

min gw outlet pump

0 56.68379 F 12150
1 57.10714 12150
2 57.5682 12150
3 58.04217 12150
4 58.53187 12150
5 59.03623 12150
6 59.55684 12150
7 60.08795 12150
8 60.63144 12150
9 61.11055 12151

The pump only runs once during the last shower, in the last minute,
moving in Cfresh = 2.4 pounds of 55 F water...

Nick
 
D

daestrom

Yes. Thanks for noticing.


Most of the cold water flowing into the heat exchanger comes from the tank
bottom, since most pumping (about 30 Cfresh bursts over 2 hours) happens
during non-shower times, in order to keep the heat exchanger usefully
employed with significant temp diffs more of the time.

Run the pump to recover heat from warm greywater that just recently entered
the 4" pipe and stopped flowing? i.e., run the pump right *after* a shower
to recover heat from the greywater that is now stagnant in the drain pipe?
But not *during* the shower?

So during a shower, does cold water flow into the tank alone and not through
the heat-exchanger? Or is the 'hot-water to shower' a mixture of two
parallel paths, one through the tank and the other through the idle pump and
the heat-exchanger? From your code, it looks like there is no freshwater
flow throught the hx during the shower, but I don't see what prevents this
since TF(0) will heat up to TG(0) when the pump is stopped, and rapidly cool
when the pump is started.
There might be no
fresh water flow into the heat exchanger during a shower. This is not
the same as running a pump to increase fluid velocity and film
conductance.


I imagine the tank bottom temp will be close to 55 F, with a slow pump and
water heater stratification, with the lower heating element disabled.

Here's the result with the pipe volume fix, and another in line 100,
which didn't have the NP multiplier.

20 DIM TF(50),TG(50):pI=4*ATN(1)
30 VG=1.25*8.33/62.33'volume of 1.25 gallons (ft^3)
40 V4=PI*(2/12)^2'volume of 1' of 4" pipe (ft^3)
50 NP=3'number of 1" pipes
60 V1=NP*PI*(.5/12)^2'volume of 1' of 1" pipes (ft^3)
70 LS=VG/(V4-V1)'simulation segment length (feet)
80 NS=INT(100/LS+.5)'number of simulation segments
100 UPIPE=10*LS*NP*PI/12'U-value of L' section of 1" pipe (Btu/h-F)
110 CFRESH=LS*V1*62.33'thermal capacitance of L' of 1" pipe (Btu/F)
120 CGREY=VG*62.33'capacitance of L' of greywater (Btu/F)
130 CSERIES=CFRESH*CGREY/(CFRESH+CGREY)'caps in series (Btu/F)
140 RC=CSERIES/UPIPE'combined time constant (hours)
150 EXPF=EXP(-1/60/RC)'exponential factor
160 FOR SHOWER = 1 TO 500'simulate showers
170 FOR M=0 TO 119'simulate 10 min shower every 120 minutes
180 IF M>9 GOTO 250'rest vs shower
190 IF SHOWER <500 GOTO 210
200 PRINT 600+M;"'";M,TG(NS-1)
210 FOR S=NS-1 TO 1 STEP -1'pipe section (ns-1<->fw in and gw out)
220 TG(S)=TG(S-1)'move greywater down
230 NEXT S
240 TG(0)=100'move greywater in
250 IF (TG(0)-TF(0))>5 OR TG(0)<60 GOTO 310'no pumping
260 IF SHOWER>249 THEN HEAT=HEAT+CFRESH*(TF(0)-55):pUMP=PUMP+1
270 FOR S=0 TO NS-2'shift fresh water up
280 TF(S)=TF(S+1)
290 NEXT S
300 TF(NS-1)=55'move cold water in at the bottom
310 FOR S=0 TO NS-1'rest
320 TFINAL=(TF(S)*CFRESH+TG(S)*CGREY)/(CFRESH+CGREY)
330 TF(S)=TFINAL+(TF(S)-TFINAL)*EXPF'new fresh temp (F)
340 TG(S)=TFINAL+(TG(S)-TFINAL)*EXPF'new grey temp (F)
350 NEXT S
360 NEXT M
370 NEXT SHOWER
380 SHOWERGY=250*10*CGREY*(100-55)'250 showers with no GWHX (Btu)
390 PRINT 500+NP;"'";HEAT,SHOWERGY,HEAT/SHOWERGY,PUMP

number of recovered required recovered pumping
pipes heat (Btu) heat (Btu) fraction events

1 175586.9 234281.3 .7494707 6095
2 229994.3 234281.3 .9817018 4365
3 1168364 1171406 .997403 15060

That third column doesn't make sense. The heat required for a ten minute
shower of 100F water from 55F water should be the same in all three cases.
VG and CGREY are constant regardless of the number of pipes, so SHOWERGY
should also be a constant regardless of the number of pipes. Something very
'fishy' about the cases with one or two pipes are identical, yet magically
the third case changes to a smaller value. I calculate the total energy
needed for such a shower is 1171406 BTU (the same as the 3-pipe case). Yet
your calculations for the 1 and 2 pipe case claim to have recovered more
energy than the total energy required (implying an efficiency greater than
100%). Looks like more GIGO.

The very large number of pumping events for the 3 pipe case suggests that
the 'pump' is cycling every other iteration because the TF(0) temperature is
jumping up and down. That averages to 60 times for each 'shower interval',
every two minutes. This suggests to me that the model is unstable and needs
finer time-steps. But I don't see an explicit value for pump flow, so it
seems the model is assuming the same 1.25 gpm. That is much too high as it
is cooling TF(0) so much that it cycles the pump off each time the pump
starts. I thought your idea was to use a very low flow pump to avoid mixing
in the tank?

The only way that TF(NS-1) would always be 55F is if the tank were to stay
well stratified. And no flow through the hx when the shower is on, only
when the pump is on *after* the shower turns off. Tank stratification and a
'perforated dip-tube' would be necessary so the warm freshwater out of the
hx when the pump is running enters into the tank at the correct elevation.
Entering directly in the top would trigger the upper heating element, and
entering through a conventional, solid dip-tube would warm the bottom of the
tank excessively, reducing the heat that can be recovered in the hx by
raising freshwater inlet temperature.
Putting NP in line 100 raised the 2-pipe fraction a lot, but that would
drop
with shorter shower intervals. I increased the number of 3-pipe showers
from
100 to 500 because its fraction came out greater than 1, given the
stochastic
pumping. The greywater outlet seems surprisingly warm during the last
shower.
The 3-pipe simulation only has 13 pipe sections. It may need more.

min gw outlet

0 59.37316 F
1 60.09058
2 60.88006
3 61.63319
4 62.3915
5 63.15523
6 63.91952
7 64.68189
8 65.44382
9 66.20461

Yeah, there's definitely something wrong with all this. With those gw
outlet temperatures, you have....

10.4125*(59.37316-55) = 45.5 Btu
10.4125*(60.09058-55) = 53.0 Btu
10.4125*(60.88006-55) = 61.2 Btu
10.4125*(61.63319-55) = 69.1 Btu
10.4125*(62.39150-55) = 77.0 Btu
10.4125*(63.15523-55) = 84.9 Btu
10.4125*(63.91952-55) = 92.9 Btu
10.4125*(64.68189-55) = 100.8 Btu
10.4125*(65.44382-55) = 108.7 Btu
10.4125*(66.20461-55) = 116.7 Btu

for a total of 809.8 Btu going down the drain as greywater, yet your
calculations show a loss of (1171406-1168364)= 3042 Btu. Something
somewhere doesn't add up. You may need to go with shorter time steps than
one minute, and find a different way to control the cycling of the pump or
reduce its flow rate considerably.

daestrom
 
D

daestrom

The very large number of pumping events for the 3 pipe case suggests that
the 'pump' is cycling every other iteration because the TF(0) temperature
is jumping up and down. That averages to 60 times for each 'shower
interval', every two minutes. This suggests to me that the model is
unstable and needs finer time-steps. But I don't see an explicit value
for pump flow, so it seems the model is assuming the same 1.25 gpm.

Nope. It is assuming the flow is one LS*V1 segment per minute, or about
0.29 gpm. But even that is causing the TF(0) to make it cycle quite a lot
when the shower is off.

daestrom
 
daestrom said:
Run the pump to recover heat from warm greywater that just recently entered
the 4" pipe and stopped flowing? i.e., run the pump right *after* a shower
to recover heat from the greywater that is now stagnant in the drain pipe?
But not *during* the shower?

Yes. I was hoping someone would notice this :)
So during a shower, does cold water flow into the tank alone and not through
the heat-exchanger?

For the most part. All the shower water comes from the top of the tank.
... From your code, it looks like there is no freshwater flow through
the hx during the shower

Just 2.4 pounds of water, during the last minute of the last shower.
The pump only turns on when the greywater-inlet-to-freshwater-outlet
temp diff is LESS than 5 F, in order to make the heat exchanger more
useful in non-shower times.
That third column doesn't make sense. The heat required for a ten minute
shower of 100F water from 55F water should be the same in all three cases.

There were only 100 1- and 2- pipe showers in this simulation run,
vs one I posted later with 3 runs of 500 showers.
... I don't see an explicit value for pump flow, so it seems the model is
assuming the same 1.25 gpm.

One pump cycle moves Cfresh pounds of water in 1 minute,
2.4 pounds for 3 pipes, ie 0.29 gpm max.
... your idea was to use a very low flow pump to avoid mixing in the tank?

Yes. Or a throttled or bypassed pump.
The only way that TF(NS-1) would always be 55F is if the tank were to stay
well stratified. And no flow through the hx when the shower is on, only
when the pump is on *after* the shower turns off.

I think some flow during the shower is OK.
Tank stratification and a 'perforated dip-tube' would be necessary so
the warm freshwater out of the hx when the pump is running enters into
the tank at the correct elevation.

I don't think we need a holey dip tube or perfect stratification here.
We just want to keep the tank bottom cool.
Entering directly in the top would trigger the upper heating element

That's OK.
Yeah, there's definitely something wrong with all this. With those gw
outlet temperatures, you have....

10.4125*(59.37316-55) = 45.5 Btu
10.4125*(60.09058-55) = 53.0 Btu
10.4125*(60.88006-55) = 61.2 Btu
10.4125*(61.63319-55) = 69.1 Btu
10.4125*(62.39150-55) = 77.0 Btu
10.4125*(63.15523-55) = 84.9 Btu
10.4125*(63.91952-55) = 92.9 Btu
10.4125*(64.68189-55) = 100.8 Btu
10.4125*(65.44382-55) = 108.7 Btu
10.4125*(66.20461-55) = 116.7 Btu

for a total of 809.8 Btu going down the drain as greywater, yet your
calculations show a loss of (1171406-1168364)= 3042 Btu. Something
somewhere doesn't add up...

Check out the next simulation I posted, s'il te plait. With random
asynchronous pump cycles , each shower is different, so we can't
measure the overall greywater loss with data from only one shower.

Nick
 
More simulation details:

20 DIM TF(50),TG(50):pI=4*ATN(1)
30 VG=1.25*8.33/62.33'volume of 1.25 gallons (ft^3)
40 V4=PI*(2/12)^2'volume of 1' of 4" pipe (ft^3)
50 NSHOW=1000'simulate nshow showers
60 FOR NP=1 TO 3'number of 1" pipes
70 HEAT=0:GHEAT=0:pUMP=0
80 V1=NP*PI*(.5/12)^2'volume of 1' of 1" pipes (ft^3)
90 LS=VG/(V4-V1)'simulation segment length (feet)
100 NS=INT(100/LS+.5)'number of simulation segments
110 UPIPE=10*LS*NP*PI/12'U-value of L' section of 1" pipe (Btu/h-F)
120 CFRESH=LS*V1*62.33'thermal capacitance of L' of 1" pipe (Btu/F)
130 CGREY=VG*62.33'capacitance of L' of greywater (Btu/F)
140 CSERIES=CFRESH*CGREY/(CFRESH+CGREY)'caps in series (Btu/F)
150 RC=CSERIES/UPIPE'combined time constant (hours)
160 EXPF=EXP(-1/60/RC)'exponential factor
170 FOR SHOWER = 1 TO NSHOW'simulate showers
180 FOR M=0 TO 59'simulate 10 min shower every 60 minutes
190 IF M>9 GOTO 270'rest vs shower
200 IF SHOWER <NSHOW/2 THEN GOTO 230'skip early results
210 GHEAT=GHEAT+CGREY*(TG(NS-1)-55)'greywater heat loss (Btu)
220 IF SHOWER=NSHOW AND NP=3 THEN PRINT 600+M;"'";M,TG(NS-1)
230 FOR S=NS-1 TO 1 STEP -1'pipe section (ns-1<->fw in and gw out)
240 TG(S)=TG(S-1)'move greywater down
250 NEXT S
260 TG(0)=100'move greywater in
270 IF (TG(0)-TF(0))>5 OR TG(0)<60 THEN PP$="0" ELSE PP$="1"
280 IF NP=3 AND SHOWER=NSHOW THEN P$=P$+PP$'record pump cycles
290 IF PP$="0" GOTO 360'no pumping
300 IF SHOWER<NSHOW/2 GOTO 320
310 HEAT=HEAT+CFRESH*(TF(0)-55):pUMP=PUMP+1
320 FOR S=0 TO NS-2'shift fresh water up
330 TF(S)=TF(S+1)
340 NEXT S
350 TF(NS-1)=55'move cold water in at the bottom
360 FOR S=0 TO NS-1'rest
370 TFINAL=(TF(S)*CFRESH+TG(S)*CGREY)/(CFRESH+CGREY)
380 TF(S)=TFINAL+(TF(S)-TFINAL)*EXPF'new fresh temp (F)
390 TG(S)=TFINAL+(TG(S)-TFINAL)*EXPF'new grey temp (F)
400 NEXT S
410 NEXT M
420 NEXT SHOWER
430 SHOWERGY=NSHOW/2*10*CGREY*(100-55)'500 showers with no GWHX (Btu)
440 PRINT 500+NP;"'";HEAT;GHEAT;SHOWERGY,HEAT/SHOWERGY,PUMP/500
450 NEXT NP
460 PRINT"000000000011111111112222222222333333333344444444445555555555"
470 PRINT"012345678901234567890123456789012345678901234567890123456789"
480 PRINT P$

number recovered gw loss required recovered pumps per
of pipes heat (Btu) (Btu) heat (Btu) fraction interval

1 924247.8 1423304 2342813 .3945035 60.12
2 1774710 572801.1 2342813 .7575127 58.45
3 2147125 200379 2342813 .9164734 48.698

The required minus recovered heat is close to the gw loss, and 48.698x2.4
= 116.9 pounds, ie 14 gallons of water, vs 12.5 consumed in each shower.

min gw outlet during each minute of last shower

0 56.68665
1 57.11065
2 57.57262
3 58.04748
4 58.53792
5 59.04344
6 59.56254
7 60.09698
8 60.64168
9 61.12356

000000000011111111112222222222333333333344444444445555555555 minutes during
012345678901234567890123456789012345678901234567890123456789 last interval

000000001111111111111111111111111111011111111101111111011111 pump cycles

The pump mostly runs after the shower ends. Flotec's model 011H05
115 V 2 amp 350 gph pump ($79 at Home Depot) might run about 5%
of the time for an hour after the shower.

Nick
 
Top