STELLA Model
Many situations exist where the rate at which an amount is changing is proportional
to the amount present. Such might be the case for a population, say of people, deer, or bacteria. When
money is compounded continuously, the rate of change of the amount is also proportional to the amount
present. For a radioactive element, the amount of radioactivity decays at a rate proportional to the
amount present.
For example, suppose we have a population in which no individuals arrive or depart;
the only change in the population comes from births and deaths. No constraints, such as competition for
food or a predator, exist on growth of the population. When no limiting factor exists, the rate of change
of the population is directly proportional to the number of individuals in the population. If P
represents the population and t represents time, then we have the following proportion:
For a positive growth rate, the larger the population, the greater the change in
the population. With the same positive growth rate in two cities, say New York City and Greenville, the
population of the larger New York City increases more in a year than that of Greenville.
We write the above proportion in equation form as follows:
The constant r is the growth rate or instantaneous growth rate
or continuous growth rate, while dP/dt is the rate of change of the population.
The diagram in Figure 1, developed with the modeling tool software STELLA,
depicts the situation. Both population and growth rate are necessary to determine the growth. The growth is
the additional number of organisms that joins the population.
Figure 1. STELLA model of population where all change comes from births and deaths
Suppose we start with a bacteria population of 100, an instantaneous growth rate of
10% = 0.10, and time measured in hours. Thus, we have
with P0 = 100. With this data, STELLA generates the
following equations:
population(t) = population(t - dt) + (growth) * dt
INIT population = 100
INFLOWS:
growth = growth_rate * population
growth_rate = 0.10
|
For a simulation with STELLA or a program we write, we consider time
advancing in small, incremental steps. The first equation indicates the population at one time step is the
population at previous time step plus the change in population over that time interval:
(new population) = (old population) + (change in population)
The growth is the growth_rate (r above) times the current
population (P above). For example, initially, the population is population(0) = 100,
so that growth is 0.01 * 100 = 10 bacteria per hour at that instant. For our simulation, suppose the
time step (dt) is 0.005 hr =
. Thus, in that initial time step of 18 sec,
the change in the population of bacteria is approximately 10 * 0.005 = 0.05 bacteria. The population at
time 0.005 hr is
population(0.005) = population(0) + 0.05 = 100.05
With this new population, the growth changes to 10% of the new population, 0.10 *
100.05 = 10.005 per hour. Therefore, at the next time step, 2 * 0.005 hr = 0.01 hr, the change in the
population is approximately 10.005 bacteria/hr * 0.005 hr = 0.050025 bacteria, and the new population is
population(0.010) = population(0.005) + 0.050025 = 100.05 + 0.050025 = 100.100025
The Table 1 gives the computation of the population for the first few time steps:
Table 1. Table of estimated populations, where the initial population is 100, the growth rate is 10%, and
the time step is 0.005 hr.
| t |
population(t) |
= |
population(t - dt) |
+ |
(growth) |
* |
dt |
| 0.000 |
100.000000 |
|
|
|
|
|
|
| 0.005 |
100.050000 |
= |
100.000000 |
+ |
10.000000 |
* |
0.005 |
| 0.010 |
100.100025 |
= |
100.050000 |
+ |
10.005000 |
* |
0.005 |
| 0.015 |
100.150075 |
= |
100.100025 |
+ |
10.010003 |
* |
0.005 |
| 0.020 |
100.200150 |
= |
100.150075 |
+ |
10.015008 |
* |
0.005 |
| 0.025 |
100.250250 |
= |
100.200150 |
+ |
10.020015 |
* |
0.005 |
| 0.030 |
100.300375 |
= |
100.250250 |
+ |
10.025025 |
* |
0.005 |
| 0.035 |
100.350525 |
= |
100.300375 |
+ |
10.030038 |
* |
0.005 |
| 0.040 |
100.400701 |
= |
100.350525 |
+ |
10.035053 |
* |
0.005 |
|
Quick
Review Question |
| Quick Review Question 1
Evaluate to six decimal places population(0.045), the population
at the next time interval after the end of Table
1. |
|
|
Because of the compounding, the number of bacteria at
t = 1 hr is slightly more than 10% of 100, namely 110.51. Table 2 lists
the growth and the population on the hour for 20 hours, and Figure
2 graphs the population versus time. The model states and the table and figure
illustrate that as the population increases, the growth does, too.
Table 2. Table of estimated growths and populations, reported on the hour, where the initial population is
100, the growth rate is 10%, and the time step is 0.005 hr
| t (hr) |
growth |
population |
| .000 |
10.00 |
100.00 |
| 1.000 |
11.05 |
110.51 |
| 2.000 |
12.21 |
122.13 |
| 3.000 |
13.50 |
134.98 |
| 4.000 |
14.92 |
149.17 |
| 5.000 |
16.49 |
164.85 |
| 6.000 |
18.22 |
182.18 |
| 7.000 |
20.13 |
201.34 |
| 8.000 |
22.25 |
222.51 |
| 9.000 |
24.59 |
245.90 |
| 10.000 |
27.18 |
271.76 |
| 11.000 |
30.03 |
300.33 |
| 12.000 |
33.19 |
331.91 |
| 13.000 |
36.68 |
366.81 |
| 14.000 |
40.54 |
405.38 |
| 15.000 |
44.80 |
448.00 |
| 16.000 |
49.51 |
495.11 |
| 17.000 |
54.72 |
547.16 |
| 18.000 |
60.47 |
604.69 |
| 19.000 |
66.83 |
668.27 |
| 20.000 |
|
738.54 |
Figure 2. Graph of population versus time for the data in Table 2
The model gives an estimate of the population at various times. If the model is
analytically correct, the STELLA simulation estimates the values for growth and
population. The smaller the step size, the more accurate the results will be.
Simulation Program
In developing a simulation program, we use statements similar to the
STELLA equations. We initialize constants, such as GrowthRate, population, dt,
and the length of time the simulation is to run (SimulationLength), and establish the length of the
simulation. In a loop, we increment time t by dt on each iteration. Algorithm 1 contains the
design for generating and displaying the time, growth, and population at each time step.
Algorithm 1. Algorithm for simulation of exponential growth
initialize SimulationLength
initialize population
initialize GrowthRate
initialize dt
for t going from 0 to SimulationLength in steps of size dt do the following:
growth <-- GrowthRate * population
population <-- population + growth * dt
display t, growth, and population
|
If we do not need to display growth (derivative) at each step and the length
of a step (dt) is constant throughout the simulation, we can calculate the constant growth rate per
step (GrowthRatePerStep) before the loop, as follows:
GrowthRatePerStep <-- GrowthRate * dt
Within the loop, we do not compute growth but estimate population as
follows:
population <-- population + GrowthRatePerStep * population
Thus, within the loop, we have one assignment instead of two and one multiplication
instead of two, saving time in a lengthy simulation.
Analytic Solution
The equation
with the initial condition
P0 = 100 is a differential equation because it contains a derivative. We can solve
this model analytically.
Click the explanation you prefer:
Using the initial condition that P0 = 100, we can determine a
particular value of k and, thus, a particular solution of the form P =
ke0.10t. Substituting 0 for t and 100 for P, we have the following:
100 = k e0.10(0) = k
The constant is the initial population. For this example,
P = 100 e0.10t
In general, the solution to
is
P = P0ert
Figure 3 displays the dramatic increase in the bacteria population as time advances.
Figure 3. Bacteria population with a continuous growth rate of 10% per
hour and an initial population of 100 bacteria
|
Quick
Review Question |
Quick Review Question 2
Complete the solution of the differential equation ,
where P0 = 57.
P = _(a)_e_(b)_
|
|
|
The simulated values for the bacteria population are slightly less than those the
model P = 100 e0.10t determines. For example, after 20 hours, the STELLA
simulation displays in two decimal places a population of 738.54. However, 100 e0.10(20),
expressed to two decimal places, is 738.91. The simulation compounds the population every step, and, in
this case, the step size is dt = 0.005 hr. The analytic model compounds the population continuously;
that is, the analytic solution is the limit of simulated values as the step size goes to zero and the
number of steps goes to infinity.
Both the analytic model and simulation produce valid estimates of the population of
bacteria. After 20 hours, the number of bacteria will be an integer, not a decimal number, such as 738.54
or 738.91. Moreover, the population probably does not grow in an ideal fashion with a 10%-per-hour growth
rate at every instant. Both the analytic model and the simulation produce estimates of the population at
various times.
Further Refinement
We can refine the model further by having parameters for birth rate and death rate
instead of the combined growth rate. Thus,
GrowthRate = birth_rate - death_rate
Unconditional Decay
The rate of change of the mass of a radioactive substance is proportional to the
mass of the substance, and the constant of proportionality is negative. Thus, the mass decays with time.
For example, the constant of proportionality for radioactive carbon-14 is approximately -0.000120968. The
continuous decay rate is about 0.0120968% per year, and the differential equation is as follows, where
Q is the quantity (mass) of carbon-14:
As determined in the "Analytic Solution" section, the analytical solution to this
equation is
Q = Q0e-0.000120968t
After 10,000 years, only about 29.8% of the original quantity of carbon-14 remains,
as the following shows:
Q = Q0e-0.000120968(10,000) = 0.298292 Q0
Figure 4 displays the decay of carbon-14 with time.
Figure 4. Exponential decay of radioactive carbon-14 as a fraction of the
initial quantity, Q0
Carbon dating uses the amount of carbon-14 in an object to estimate the age
of an object. All living organisms accumulate small quantities of carbon-14, but accumulation stops when
the organism dies. For example, we can compare the proportion of carbon-14 in living bone to that in the
bone of a mummy and estimate the age of the mummy using the model.
Example 1
Suppose the proportion of carbon-14 in a mummy is only about 20% of that in a living human.
To estimate the age of the mummy, we use the above model with the information that Q =
0.20Q0. Substituting into the analytical model, we have
0.20Q0 = Q0 e-0.000120968t
After canceling Q0, we solve
for t by taking the natural logarithm of both
sides of the equation. Because the natural logarithm and the exponential functions are inverses of
each other, we have the following:
ln(0.20) = -0.000120968t
t = ln(0.20)/(-0.000120968) ≈ 13,305 years
|
We often express the rate of decay in terms of the half-life of the radioactive
substance. The half-life is the period of time that it takes for the substance to decay to half of
its original amount. Figure 5 illustrates that the half-life of radioactive carbon-14 is about 5730 years.
We can determine this value analytically as we did in Example 1 using 50% instead of 20%; Q =
0.50Q0.
| Definition |
The half-life is the period of time that it
takes for a radioactive substance to decay to half of its original amount. |
Figure 5. The half-life of radioactive carbon-14 indicated as 5730 years
|
Quick
Review Question |
| Quick Review Question 3
Radium-226 has a continuous decay rate of about 0.0427869% per year. Determine its
half-life in whole years.
|
|
|
Exercises
1. a. For an initial population of 100 bacteria and a growth rate of 10% per hour, determine the
number of bacteria at the end of one week.
b. How long will it take the population to double?
2. a. Suppose the initial population of a certain animal is 15,000, and its growth rate is
0.2% per year. Determine the population at the end of 20 years.
b. Suppose we are performing a simulation of the population using a step
size of 0.083 yr. Determine the growth and the population at the end of the first three time steps.
3. Adjust the STELLA model in Figure 1 to accommodate birth rate and death rate instead of
just growth rate.
4. a. Newton's Law of Heating and Cooling states that the rate of change
of the temperature (T) with respect to time (t) of an object is
proportional to the difference between the temperatures of the object and of its
surroundings. Suppose the temperature of the surroundings is 25o C. Write
the differential equation that models Newton's Law.
b. Solve this equation for T as a function of time t.
c. Suppose cold water at 6o C is placed in a room that has temperature 25o C. After one
hour, the temperature of the water is 20o C. Determine all constants in the equation for T.
d. What is the temperature of the water after 15 minutes?
e. How long will it take for the water to warm to room temperature?
5. a. Suppose someone, whose temperature is originally 37o C, is murdered in a room that has
constant temperature 25o C. The temperature is measured as 28o C when the body is found and at
27o C one hour later. How long ago was the murder committed from discovery of the body? See
Exercise 4
for Newton's Law of Heating and Cooling.
b. Suppose we are performing a simulation using a step size of 0.004 hr. Using the decay rate from
Part a, determine the temperature at the end of the first three time steps after discovery of the body.
6. a. What proportion of the original quantity of carbon-14 is left after 30,000 years?
b. If 60% is left, how old is the item?
7. a. The half-life of radioactive strontium-90 is 29 years. Give the model for the quantity present
as a function of time.
b. What proportion of strontium-90 is present after 10 years?
c. After 50 years?
Projects
1. Adjust Algorithm 1 so that the user enters
the report interval, which should be an integer multiple of dt. Implement
the adjusted algorithm.
2. Develop a program based on Algorithm 1 to
perform the simulation discussed in the "STELLA Model"
section.
3. Develop a program based on Algorithm
1 to perform a simulation for Exercise 2.
4. Develop a program based on Algorithm
1 to perform a simulation for Exercise 3.
5. Develop a STELLA model for Newton's Law of Heating and Cooling
(see Exercise 4). Using this model, answer the questions
of Exercises 4 and 5.
6. Develop a computer program to model Newton's Law of Heating and Cooling
(see Exercise 4). Using this model, answer the questions
of Exercises 4 and 5.
Copyright © 2002 -
, Dr. Angela B. Shiflet
All rights reserved