Groundwater Clean-Up
One way to clean up a pollutant, such as fuel, in groundwater is to use bacteria that will breakdown the substance for food. We can consider a simple model of this letting the pollutant flow in one dimension, and letting the bacteria eat the pollutant and grow.
A simple model of one dimensional flow with diffusion is to consider a series of cells. Each time step, a certain proportion of the pollutant in one cell flows into the next. This gives us something like
![]()
In a spreadsheet we can us something like
|
|
A |
B |
C |
D |
E |
F |
|
1 |
|
x |
0 |
=C1+delx |
=D1+delx |
=E1+delx |
|
2 |
t |
|
|
|
|
|
|
3 |
0 |
Pollutant |
1 |
0 |
0 |
0 |
|
4 |
=A3+delt |
|
=(1-r*delt)*C3 |
=(1-r*delt)*D3+r*delt*C3 |
=(1-r*delt)*E3+r*delt*D3 |
=(1-r*delt)*F3+r*delt*E3 |
|
5 |
=A4+delt |
|
=(1-r*delt)*C4 |
=(1-r*delt)*D4+r*delt*C4 |
=(1-r*delt)*E4+r*delt*D4 |
=(1-r*delt)*F4+r*delt*E4 |
|
6 |
=A5+delt |
|
=(1-r*delt)*C5 |
=(1-r*delt)*D5+r*delt*C5 |
=(1-r*delt)*E5+r*delt*D5 |
=(1-r*delt)*F5+r*delt*E5 |
Where delx, delt, and r are parameters we define.
Running this with real numbers we get
|
|
x |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
|
t |
|
|
|
|
|
|
|
|
|
0 |
Pollutant |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0.5 |
|
0.85 |
0.1275 |
0.019125 |
0.0028688 |
0.00043 |
6.45E-05 |
9.68E-06 |
|
1 |
|
0.7225 |
0.21675 |
0.04876875 |
0.0097538 |
0.001829 |
0.000329 |
5.76E-05 |
|
1.5 |
|
0.614125 |
0.27635625 |
0.08290688 |
0.0207267 |
0.004664 |
0.000979 |
0.000196 |
|
2 |
|
0.5220063 |
0.31320375 |
0.11745141 |
0.0352354 |
0.009249 |
0.00222 |
0.000499 |
|
2.5 |
|
0.4437053 |
0.332778984 |
0.14975054 |
0.0524127 |
0.015724 |
0.004245 |
0.001061 |
|
3 |
|
0.3771495 |
0.339434564 |
0.17820315 |
0.0712813 |
0.024057 |
0.007217 |
0.001985 |
|
3.5 |
|
0.3205771 |
0.336605943 |
0.20196357 |
0.0908836 |
0.034081 |
0.011247 |
0.003374 |
|
4 |
|
0.2724905 |
0.32698863 |
0.22071733 |
0.1103587 |
0.045523 |
0.016388 |
0.005326 |
|
4.5 |
|
0.2316169 |
0.312682877 |
0.23451216 |
0.1289817 |
0.058042 |
0.022636 |
0.007923 |
|
5 |
|
0.1968744 |
0.295311607 |
0.24363208 |
0.1461792 |
0.071262 |
0.02993 |
0.011224 |
|
5.5 |
|
0.1673432 |
0.276116352 |
0.24850472 |
0.1615281 |
0.084802 |
0.038161 |
0.015264 |
|
6 |
|
0.1422418 |
0.256035163 |
0.24963428 |
0.174744 |
0.098293 |
0.047181 |
0.020052 |
|
6.5 |
|
0.1209055 |
0.235765712 |
0.247554 |
0.1856655 |
0.111399 |
0.056814 |
0.025566 |
|
7 |
|
0.1027697 |
0.215816306 |
0.24279334 |
0.1942347 |
0.123825 |
0.066865 |
0.031761 |
|
7.5 |
|
0.0873542 |
0.196546993 |
0.23585639 |
0.2004779 |
0.135323 |
0.077134 |
0.038567 |
|
8 |
|
0.0742511 |
0.178202607 |
0.22720832 |
0.2044875 |
0.145697 |
0.087418 |
0.045895 |
|
8.5 |
|
0.0631134 |
0.160939229 |
0.21726796 |
0.2064046 |
0.154803 |
0.097526 |
0.053639 |
|
9 |
|
0.0536464 |
0.144845306 |
0.20640456 |
0.2064046 |
0.162544 |
0.107279 |
0.061685 |
|
9.5 |
|
0.0455994 |
0.129958428 |
0.19493764 |
0.2046845 |
0.168865 |
0.116517 |
0.06991 |
|
10 |
|
0.0387595 |
0.116278593 |
0.18313878 |
0.2014527 |
0.173753 |
0.125102 |
0.078189 |
|
10.5 |
|
0.0329456 |
0.103778644 |
0.17123476 |
0.19692 |
0.177228 |
0.132921 |
0.086399 |
|
11 |
|
0.0280038 |
0.092412412 |
0.15941141 |
0.1912937 |
0.179338 |
0.139884 |
0.094421 |
|
11.5 |
|
0.0238032 |
0.08212103 |
0.14781785 |
0.1847723 |
0.180153 |
0.145924 |
0.102147 |
|
12 |
|
0.0202327 |
0.072837783 |
0.13657084 |
0.1775421 |
0.179761 |
0.151 |
0.109475 |

Now we can add bacterial growth. Suppose the change in the bacterial population is proportional to the difference between the carrying capacity and the bacterial population
![]()
where the carrying capacity is a function of P that increases with P but levels off, such as
![]()
(this leaves a low level population when there is no pollution.) Subtracting the amount of food consumed we get the situation shown on sheet 1.