Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.2
_____________________________________________________________________________
Sometimes it is convenient to take the system unit to be the system itself; then the units become
simply mass of plankton (in the system), tons of plant matter, number of hares, or mass of organic
matter rather than these quantities per some system unit. Also, a given entity may be both a
resource and a consumer. For example, hares eat grass and are eaten by lynx, and fish may eat
plankton (or little fish) and be harvested and eaten by humans or bigger fish.
Components and component equations. We will call the functions that specify the rate of
consumption of a particular resource rate laws as we did for reacting systems. In so doing it should
be recognized that rate laws for resource systems may or may not be describing an actual reaction,
and that the form of the rate law may or may not stem from mechanistic considerations1.
Accounting equation. The form of the accounting equation often used for resource calculations is
essentially the same as the material balance:
dR dC
= rate of regeneration or addition rate of consumption or removal
or
dt
dt
[1]
Several examples will be given below. It may be noted that when the units of R or C are
concentration (material/volume) then equation [1] is truly a material balance. However, when the
units of R or C are numbers of individuals (e.g. of hares or fish), then equation [1] becomes a
population balance. In this case, we are actually modeling a discrete system as a continuous
system. This is a good approximation if the numbers are sufficiently large.
Non-Renewable Resources. When a resource is not regenerated or added to the system on an
ongoing basis, the resource may be said to be non-renewable. A fixed initial quantity of the
resource is consumed according to the rate laws involving that resource, and eventually is
exhausted. This corresponds to the situation for batch reacting systems as previously considered.
Example 1. Utilization of a non-renewable resource. Consider a non-renewable resource R and a
consumer C for which the rate of resource consumption and consumer production are given by:
rR = - k RC RC
[1]
rC = - YC/R rR = YC/R k RC RC
[2]
where
kRC is a rate constant (consumer units-1time-1)
YC/R is the yield of consumers produced per unit of resource consumed (consumer
units/resource units)
Empirically-determined rate laws that do not reflect mechanistic considerations are often used for reacting systems as
well as resource systems. The growth rate of microorganisms is a common example. We also saw something similar
in thermal systems, where thermal resistance for convection is typically derived from experimental measurements.
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.3
_____________________________________________________________________________
Note that the form of the rate expression for consumption of R in equation [1] is consistent with the
rate being proportional to the probability of the resource and consumer being in the same location at
the same time as discussed previously for reacting systems. Other forms may also be applicable for
a particular case (e.g. when the rate per consumer approaches a constant value at high R). These
two equations describe the common situation for which the yield of C with respect to resource
consumption is other than (an typically less than) unity. We can use material balance to write statespace equations for this system:
dC
= YC / R k RC RC
dt
dR
= k RC RC
dt
We can solve this system using ode45 in MATLAB, by writing a function that calculates the
derivative:
function y = dXdt(t,x)
%L. Lynd 1/00, rev. C. Sullivan 6/00
R= x(1);
C= x(2);
Kr = 0.04; %1/(consumer units)/(time)
Ycr = 0.2; %(consumer units)/(resource units)
y(1,1) = -Kr*R*C;
y(2,1) = Ycr*Kr*R*C;
Results with initial conditions R(0) = 10, C(0) = 0.1 are plotted in Figure 1 below. The shape of the
resource curve in Figure 1 is characteristic of non-renewable resource utilization and is called the
S curve.
R
Consumer or
Resource
Units
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.4
_____________________________________________________________________________
Renewable Resources. Renewable resources are either regenerated or continuously added to the
system. For some renewable resources, such as solar energy, the resource exists as a flow rather
than a stock. There is no need for a state variable and accounting to keep track of it. Putting a solar
panel in the sun today does not decrease the amount of sunlight that will be available tomorrow.
Thus, there will rarely be interesting system dynamics involved in describing such resources. (The
systems that use these resources, such as electrical power converters for photovoltaic systems, or
buildings that use solar heating, involve some very interesting system dynamics, some of which we
will see later in this course.) Renewable resources involving a flow may also have storage of a
stock. For example, a hydroelectric system such as Wilder Dam involves a large quantity of
potential energy stored in water behind the dam, and a flow replenishing that stored energy.
Perhaps the most interesting system dynamics in resources systems are those of biological
renewable resources. With a dam, the rate of replenishment is independent of the rate at which the
resource is used. In a biological system, however, the rate of regrowth of a resource depends on the
level of that resource. For a wolf, a rabbit is a resource, and the growth rate of rabbit population
depends, of course, on how many rabbits are around producing offspring. For a first approximation,
we can assume, then, that the regeneration rate is proportional to R (in this case, the population of
rabbits).
when rg is limited only by R
[3a]
rg = kg R
where
kg = a rate constant
Equation [3a] can be valid for a time when a population is growing under resource-plentiful
conditions and is limited by its rate of reproduction.
Alternatively, rg may be limited by some resource other than R, or may be self-limiting. In the selflimiting case, rg may be positive at low values of R but have a limiting value at high values of R.
An expression describing this behavior is
rg =
rg, max R
R + k sat
[3b]
where
rg,max is the maximum rate of formation of R (occurring at high R. The units of rR,max are the
units of R per time.
ksat is a saturation constant, which has the same units as R and is equal to the value of R
when rg/ rg,max = 1/2.
A common example of a situation for which the rate of resource-generation is self-limiting is plant
growth, where more plant matter (e.g. per hectare) allows increasing rates of plant production up to
a point until the available sunlight is fully utilized and addition of more plant matter would shade
plants (or parts of plants) that are already there.
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.5
_____________________________________________________________________________
Example 2. Utilization of a self-limiting renewable resource by a single consumer.
Consider the following system:
dR
= rate regeneration - rate consumption - rate decay
dt
rR,max R
=
- k RC RC - k d R
R + k sat
[4]
and
dC
= YC/R (net rate R is available for growth )
dt
= YC/R (gross rate R is consumed - rate R consumption required for " maintenance")
= YC/R (k RC RC - k m C )
[5]
= YC/R C (k RC R - k m )
where
kd is a rate constant for resource decay (time-1)
km is a rate constant reflecting the maintenance rate of resource consumption
(resource unitsconsumer units-1time-1)
The rate expression for resource consumption in equation [4] follows directly from equation [1].
Many resources are subject to some sort of decay. Note that without this term R would increase
without bound in the absence of C, which is not realistic.
In equation [5], the quantity kRCR corresponds to rate of resource consumption per consumer. If
kRCR > km, then dC/dt is positive and most resource consumption is used to produce more C rather
than for maintenance. In the limit if kRCR >> km, then essentially all resources are used for growth
of C and km may be neglected (this was implicitly assumed for example 1). If kRCR < km, then dC/dt
is negative which for many systems corresponds to starvation. In the limit if there is no R present,
then C declines with decay constant = YC/Rkm.
In order to simulation this system numerically, we can use ode45 with the following derivative
function.
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.6
_____________________________________________________________________________
function y = dXdt(t,x)
%Lynd/Sullivan
% modified 7/00
R= x(1);
C= x(2);
rgmax = 2;
Ksat = 1;
Krc = 0.03;
Simulations will be performed using the above file with the values of the constants varied to
demonstrate different situations of interest. In these simulations, R(0) = 5 and ODE45 is used to
obtain the solution.
First, let us consider the systems behavior in the absence of consumers, which can be simulated if
we let Ycr = 0 and C(0) = 0. Results are shown in Figure 2a below.
We find that in the absence of consumers, R rises to a steady-state value of 9.
10
9
8
Resource units
7
6
5
4
3
2
1
0
50
100
time
150
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.7
_____________________________________________________________________________
If we next put the consumers back into the simulation by letting Ycr = 0.5 and C(0) = 0.1 we obtain
the results shown in Figure 2b. We find that the steady state values of R and C are
Rss = 2.5, and Css = 1.9. Observe that while the resource level is high, the consumers overshoot
their final population, depleting the resource slightly below its final value, but then with the lower
resource level, the population of consumers decreases again, allowing the resource level to come up
to its final value, although not up to a level nearly as high as without consumers.
7
R
C
0
0
10
20
30
time
40
50
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.8
_____________________________________________________________________________
6
R
C
0
0
10
20
30
time
Fig. 2b Results with krc = 1.
40
50
It is interesting that changing the value of the parameter kRC affects the steady state value of C, even
though we have kept the resource requirement to sustain a given population, km, constant. The
strategy with which we use a resource determines the population that resource can sustain,
independent of how efficiently we use the resource.
The steady-state value of C, Css is referred to in ecology as the carrying capacity of the system.
We could continue a series of simulations to study the carrying capacity, but doing repeated
simulations gets tedious, and, in fact, we can easily calculate the carrying capacity by finding a
steady-state solution of our system equations.
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.9
_____________________________________________________________________________
To find the steady-state solution, we set the derivatives equal to zero in [4] and [5]. From [5], either
C = 0, or
0 = (k RC R - k m )
R = k m / k RC
[6]
km
k RC
km
+ k sat
k RC
rR, max k m
k m + k sat k RC
rR, max
k m + k sat k RC
- k RC
- kd
-
km
k
C - kd m = 0
k RC
k RC
km
= kmC
k RC
[7]
kd
=C
k RC
We can now use a simple MATLAB script (no differential equation solutions involved) to plot the
functions in [6] and [7] as a function of krc
% Plot steady state solution of renewable resource example
% Charlie Sullivan, 7/00
rm = 2;
%max resource growth rate (resource units/system units/time)
Ks = 1;
%1/2 saturation constant for resource growth (resource units/system
units)
Krc = linspace(0.06,2,100);
%resource consumption constant
%(system units/consumer units/time)
Krd = 0.2;
%resource decay constant (1/time)
Km = 0.5;
%Maintenance constant
%(resource units/consumer units/time)
R = Km./Krc;
C = rm./(Km + Ks*Krc) - Krd./Krc;
plot(Krc,R,Krc,C,'--')
legend('R','C')
ylabel('Consumer or resource units')
xlabel('k_{rc} [system units/consumer units/time]')
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.10
_____________________________________________________________________________
9
R
C
7
6
5
4
3
2
1
0
0
0.5
1
1.5
krc [system units/consumer units/time]
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.11
_____________________________________________________________________________
6
4
x 10 Figure 3a. Simulated preditor and prey populations, rgmax = 7.5e5, Ksat = 5e5
Prey
Predator
4
Population
3
10
20
30
40
50
60
time (years)
70
80
90
100
Results when this m-file is used with ode45 and with initial conditions R(0) = 1000, C(0) = 500 are
plotted in Figure 3a. We see that a slowly decaying oscillation occurs with a period of roughly 10
years. First, both R and C are low; next R grows (because there are not many C); then C grows
(because R is plentiful); R declines (because C is plentiful), and finally C declines (because R is
low), bringing us back to the original point.
It is instructive at this point to examine further equation [3b]:
rg =
rg, max R
R + k sat
[3b].
[6a]
rg,max
k sat
[6b]
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.12
_____________________________________________________________________________
Equation [6b] is of the same form as equation [3a]
[3a]
rg = kg R
Thus we see that the equation we have used to describe the rate or resource regeneration by selflimiting renewable resources [3b] approaches a constant when ksat << R and approaches the
equation for non self-limiting resources [3a] when ksat >> R.
When the size of renewable resource R is limited by C, it may be permissible to use equation [3a] to
describe the rate of regeneration of R.
rg = kg R
[3a]
This corresponds to the case when the rate of resource regeneration is not self-limiting.
Replacing equation [3a] with equation [3b] in the system represented by equations [4] and [5]
gives:
dR
= k g R - k RC RC - k d R
dt
[4b]
and
dC
= YC/R C (k RC R - k m )
dt
[5]
The following MATLAB derivative function can be used to solve an example of a system modeled
by equations [4b] and [5] with constants and initial conditions as for the example presented in
Figure 3a. (The only change is that we have changed the resource term so that it is not selflimiting).
function y = dXdt(t,x)
%x(1) = R
%x(2) = C
%L. Lynd 1/00
Kg = 1.5;
%resource units/system units/time
Krc = 1.5e-4;%resource consumption constant (system
%units/consumer units/time)
Kd = 0.1;
%resource decay constant (1/time)
Ycr = 0.6;
%resource -> consumer conversion efficiency
Km =1;
%Consumer maintenance constant (resource
%units/consumer units*time)
y(1,1) = Kg*x(1) - Krc*x(1)*x(2) - Kd*x(1);
y(2,1) = Ycr*x(2)*(Krc*x(1) - Km);
Sustained oscillation occurs with no decay in this case, as shown in Fig. 3c.
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.13
_____________________________________________________________________________
6
x 10
Prey
5
Predator
4
Population
3
10
20
30
40
50
60
time (years)
70
80
90
100
Figure 3b below presents historical data over a 90-year period for the number of lynx and snowshoe
hare pelts received by the Hudson Bay Company. The actual data are of course less uniform than
the simulation results due to factors not in the model such as variations in the weather, variations in
the numbers of hunters etc. However, the same overall trendsstrongly oscillating populations
with peaks every 10 years and the peaks in lynx population following the peaks in hare
populationare exhibited by both the model and the data.
Figure 3b.
If you are a consumer, the down-slopes in those oscillations are undesirable, and good resource
management policies often are intended to avoid such oscillations; to keep the system at a stable
steady state. Although you now have the ability to try any system model and see from a simulation
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.14
_____________________________________________________________________________
whether it oscillates, a direct calculation that shows what system parameter values will lead to a
stable steady state, and what values will lead to oscillation, can be useful in design and policy
making. The frequency-domain techniques that will be developed in the second half of this course
can be used to determine whether or not a system will have a stable steady-state operating point, or
will oscillate.
Example 4. Considering more variables.
Although the downslopes in an oscillation are undesirable for consumers, in the systems we have
seen so far, the population eventually recovers. Unfortunately, that is not the case for all types of
systems. In the homework, you will consider a system of plants (the resource) and consumers,
similar to what we have modeled, analyzed, and simulated above, but in which there is the
possibility of soil erosion as well. To model this, we can use three state variables: S, the amount of
soil (it could also represent the amount of a particular nutrient in the soil), and R and C as before.
The model for consumers is unchanged, but the growth rate of plants is depends on the soil. Once
there is enough soil, more soil doesnt help, so there is a saturation effect for soil as well as for R:
rg =
r g, max R
R+k
sat
S
S+S
sat
Now we need a model for soil. Its erosion rate is retarded by the presence of plants. We could
model it as simply inversely proportional to R, but we dont expect the erosion rate to be infinite in
the absence of plants, so we can modify that idea as follows:
re =
ke S
R + kx
where ke is an erosion constant and kx is the threshold level of plant matter (R) below which further
decreases in R dont speed erosion much. If we also assume soil growth is proportional to the
amount of plant matter (some of which dies, decays, and enriches and adds to the soil),
k S
dS
= ks R e
dt
R + kx
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.15
_____________________________________________________________________________
What if the number of boats is to be determined by the number of licenses issued rather than as a
response to the widely fluctuating fish population? We will examine this situation by looking at the
dynamics of the fish population, the steady-state harvest, and the harvest per boat per year with the
number of boats fixed at various levels. Changing the model used to generate the output shown in
Figure 3a so that B is at a fixed level we obtain:
function y = dXdt(t,x)
%x(1) = R
% Lee Lynd
rgmax = 750e3; % fish/yr
ksat = 500e3; % fish
kd = 0.1; %1/yr
krc = 0.15e-3; %fish/(boat*fish*year)
B = 500;
%Number of fishing licenses (boats) issued
rg = rgmax*x(1)/(x(1) + Ksat);
y(1,1) = rg - Krc*x(1)*B - Kd*x(1);
Results when this mfile is used with ode45 to simulate the system with initial conditions
R(0) = 1000 are plotted in Figure 5a below.
4
x 10
3.5
Fish
Population
2.5
1.5
0.5
10
20
30
40
50
time (years)
60
70
80
90
100
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.16
_____________________________________________________________________________
If we now change to 1000 boats, we have the situation shown in Figure 5b, with a steady-state fish
population of 2.5 million.
2.5
x 10 6
2
Fish
Population
1.5
0.5
10
20
30
40
50
60
time (years)
70
80
90
100
This can be repeated for different numbers of boats, but running many simulations is not necessary
in this case, because we can easily do a little bit of simple math, involve no solutions of differential
equations, and find the steady-state values. All we have to do is set the derivative equal to zero:
rR, max R
dR
=0=
- k RC RB - k d R
dt
R + k sat
Dividing by R results in
0=
rR, max
- k RC B - k d
R + k sat
which can be solved for the stead-state value of R, Rss, to obtain
rR, max
Rss =
- k sat
[5.1]
k RC B + k d
As consumers, we might care more about the total number of fish caught be year, rather than the
number of fish in the population. That is simply
Annual catch = k RC BRss
[5.2]
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.17
_____________________________________________________________________________
We can plot [5.1] and [5.2] with basic MATLAB commandsno differential equation solvers like
ode45 are needed. The result is shown in Figure 5c.
0.7
Fish Population, tens of millions
Annual catch, millions
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1
1000
2000
3000
7000
8000
9000 10000
Figure 5c. Fish population and annual catch as a function of number of boats,
computed analytically from steady-state solution. Code for this plot is on the following page.
We see that the harvest goes through a maximum at about 2000 boats (1915, to be exact). Both the
numbers of fish and the number of fish per boat decline with increasing number of boats. It is
reasonable to expect there to be some minimum threshold of boats/fish that would determine
economic viability. A more extensive model could add other factors such as the price of fish.
If we use the same model, but allow the number of boats to fluctuate in response to the fish supply,
oscillations in the number of boats and in the fish population result. Instead of a constant 1.4
million fish, (as with the optimum number of boats, above), we get a maximum fish population of
55,000 and much lower average and minimum values. Thus we see that by fixing the number of
boats we accomplish: 1) elimination of fluctuations in fish population, boats, and harvest; and 2) an
increase in the size of the fish population by over 20-fold.
The dynamic behavior indicated by our model has in fact been observed in real life, as recounted in
the article A Tale of Two Fisheries available as a handout separate from this one. This August
2000 New York Times article contrasts the decline of lobster and tuna fisheries in Point Judith
Rhode Island with the thriving fisheries of Port Lincoln Australia.
Engineering Sciences 22
Lumped Analysis of Resource Systems
Summer, 03 p.18
_____________________________________________________________________________