0% found this document useful (0 votes)
64 views5 pages

A Table Function Example: Rabbit Population

This document describes how to translate a table function from STELLA to Vensim using a rabbit population model. It explains that table functions are used to represent non-linear relationships between variables when no simple equation exists. In Vensim, two constants are created - NORMAL POPULATION DENSITY and LOOKUP OF DEATHS MULTIPLIER. NORMAL POPULATION DENSITY divides population density to create a dimensionless input for the lookup table. LOOKUP OF DEATHS MULTIPLIER contains data points representing the relationship between relative population density and deaths multiplier.

Uploaded by

Nikhil Mitra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views5 pages

A Table Function Example: Rabbit Population

This document describes how to translate a table function from STELLA to Vensim using a rabbit population model. It explains that table functions are used to represent non-linear relationships between variables when no simple equation exists. In Vensim, two constants are created - NORMAL POPULATION DENSITY and LOOKUP OF DEATHS MULTIPLIER. NORMAL POPULATION DENSITY divides population density to create a dimensionless input for the lookup table. LOOKUP OF DEATHS MULTIPLIER contains data points representing the relationship between relative population density and deaths multiplier.

Uploaded by

Nikhil Mitra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

D-4587

A TABLE FUNCTION EXAMPLE


By Lei Lei and Nathaniel Choge

January 2001

I.

Introduction
While building a system dynamics model, the modeler may be faced with a

situation where there is a relationship between two variables but no simple algebraic
equation to define the relationship. For example, the death rate of a population of rabbits
in a fixed area increases rapidly as the area gets more crowded. In cases where the
relationship between two variables is not linear, table functions can be used to represent
the relationship.
Table functions are used in preference to complicated equations because the
modeler can control the shape, slopes and saturation points to accurately represent the
non-linear relationship between two variables. Table functions are also easier to interpret
and visualize than complex algebraic equations.

II.

Using Table Functions in Vensim


The example below, shows how to translate table functions from STELLA to

Vensim using the Rabbit Populations model found in Generic Structures: S-Shaped
Growth I (D-4432-2) in Road Maps 5.
Rabbit Population

Births

Births Normal

Population Density

Deaths

~
Deaths Multiplier

Average Lifetime

Area

STELLA Version: S-Shaped Growth Structure I

The lookup function for deaths multiplier has a dimension in our STELLA
example which is not good modeling practice because it violates dimensional consistency

D-4587

in the model. It is better practice to have dimensionless inputs and outputs to all table
functions in system dynamics models.
A variable called normal is used to divide the input variable, which in the
example is population density, to produce a non-dimensional input to the lookup table.
Normals are constants that act as reference points for dynamic behavior e.g. in the
example above, the normal is the population density at which the deaths multiplier is
1 and the deaths is determined only by the average lifetime, Rabbit Population and
deaths multiplier.
In converting the example from STELLA to Vensim, first create two new
constants: NORMAL POPULATION DENSITY and lookup of deaths multiplier. The
constant, NORMAL POPULATION DENSITY divides population density to produce the
relative population density, a non-dimensional input to the lookup table.
The relationship lookup of deaths multiplier will contain all the data points
representing the non-linear relationship between the two variables: relative population
density and deaths multiplier.
To input data points for the lookup of deaths multiplier, go to the equation editor
and under type, select Lookup, then As Graph and you will be taken to a screen
where you can enter the data points in the form of a graph:

D-4587

The equation that relates the table function, normal and multiplier is:
deaths multiplier = lookup of deaths multiplier (relative population density)

The complete Vensim version of the example is shown below:

births

Rabbit
Population

deaths

AVERAGE LIFETIME

BIRTHS NORMAL population density


deaths multiplier
AREA

relative population
density
NORMAL
POPULATION
DENSITY

LOOKUP OF DEATHS MULTIPLIER

Vensim Version: S-Shaped Growth Structure I


Documentation for Rabbit Population Model
(01) AREA = 1

Units: acre

The amount of land the rabbit population is living on.

(02)

AVERAGE LIFETIME = 4

Units: year

The number of rabbits that die per rabbit in the population per year.

(03)

births = Rabbit Population*BIRTHS NORMAL

Units: Rabbits/year

The number of rabbits being born each year.

(04)

BIRTHS NORMAL = 1.5


Units: 1/year
The number of rabbits born into the population per rabbit in the population each
year.

(05)

deaths = (Rabbit Population/AVERAGE LIFETIME)*deaths multiplier

Units: Rabbits/year

The number of rabbits that die each year.

D-4587

(06)

deaths multiplier = LOOKUP OF DEATHS MULTIPLIER (relative population


density)
Units: dmnl
deaths multiplier gives the effect of population density on the rate of deaths of
rabbits.

(07)

FINAL TIME = 12
Units: year
The final time for the simulation.

(08)

INITIAL TIME = 0
Units: year
The initial time for the simulation.

(09)

LOOKUP OF DEATHS MULTIPLIER([(0,0)


0,10)],(0,0.9),(1,1),(2,1.2),(4,2),(7,5),(10,10))
Units: dmnl
Lookup of Deaths Multiplier relates population density to the deaths multiplier. It
converts density to a factor which affect the number of deaths(i.e. it makes deaths
affected by population density).

(10)

NORMAL POPULATION DENSITY = 1


Units: Rabbits/acre

(11)

population density = Rabbit Population/AREA


Units: Rabbits/acre
The number of rabbits per unit of area.

(12)

Rabbit Population= INTEG (births-deaths,1)


Units: Rabbits
The number of rabbits in the rabbit population.

(13)

relative population density = population density/NORMAL POPULATION


DENSITY
Units: dmnl
relative population density gives the ratio of population density to NORMAL
POPULATION DENSITY to provide a dimensionless input to the lookup table.

(14)

SAVEPER = TIME STEP


Units: year
The frequency with which output is stored.

(15)

TIME STEP = 0.0625


Units: year
The time step for the simulation.

D-4587

To see the complete STELLA version of the example refer to Generic Structures:
S-Shaped Growth I (D-4432-2) in Chapter 5 of Road Maps. A detailed discussion of
table

functions,

normals

and

multipliers

can

be

found

in

Mistakes

Misunderstandings: Table Functions (D-4653) in Chapter 9 of Road Maps.

and

You might also like