D-4526 1
VENSIM CONVERSION GUIDE
Aaron Diamond
December 2000
I. Introduction
Since the Road Maps series was begun in 1992, a number of software programs
for system dynamics modeling have come to market. Because many system dynamics
modelers use Vensim software to create their models, we are adding new Vensim sections
to the current Road Maps papers which were written using STELLA examples. Vensim
software is sold by Ventana Systems Inc. at [Link] The Personal
Learning Edition (PLE) can be downloaded from Ventana free and offers a less complete
(but adequate for Road Maps models) version of Vensim. (Vensim PLE Plus, or Vensim
PLE32, is a slightly updated version of Vensim PLE and was used for the creation of
Vensim additions found in Road Maps chapters 2-9.) Beginning with Chapter 10, we
expect to use only Vensim examples and exercises.
In this "Vensim Conversion Guide to Road Maps," we are addressing differences
between STELLA and Vensim, Vensim PLE and Vensim PLE Plus in system dynamics
modeling. The individual appendices are not intended to give step by step instructions for
how to create the models, but provide correct models created according to the
specifications in Road Maps' text. To access explicit instructions for creating models
using Vensim Software, the following references are extremely helpful:
2 D-4526
* D-4697, Road Maps 2, "Formulating Models of Simple Simple Systems Using
Vensim PLE," Leslie Martin, MIT,
from the world wide web:
* Vensim's PLE Guide: [Link] Guide,
* “Vensim PLE Quick Reference and Tutorial”:
[Link]
II. Differences between STELLA models and the Vensim models in the appendices
In this section, we will address some of the differences between modeling with Vensim
and STELLA:
1. Naming standard: All models should follow what is called the Vensim Naming
Standard. The Standard universalizes the way in which variables in models are named:
* Stocks are written with the first letter of each word capitalized
* CONSTANTS or FRACTIONS--variables whose value is not affected by other
variables within the model--are written in all capital letters;
* flows or rates, as well as endogenous variables are written in all lower-case
letters.
You will notice that the STELLA models in Road Maps do not follow a naming standard,
whereas the Vensim Conversion Guides follow the Vensim Naming Standard.
2. Documentation: Contrary to Stella's stock/flow ordering, Vensim PLE
documentation is alphabetized (Vensim Plus allows the modeler to choose stock/flow
ordering or alphabetized ordering). The documentation attached to models in the Vensim
Conversion Appendices is the documentation Vensim gives after each equation is entered
D-4526 3
in the model. It does not show how to enter the data, but after reviewing the Vensim user
guides, the documentation accompanying the models will be quite helpful.
3. Lookup Functions: Entering lookup functions in Vensim models is significantly
different from entering lookup functions in Stella models. The most effective method for
entering a lookup function in a Vensim model is the following:
a) The LOOKUP is entered as a constant, connected usually to what is an “effect”
variable. The LOOKUP contains the actual lookup graph (or coordinates), whereas the
“effect” variable contains the LOOKUP as a function of another variable in the model.
The “effect” variable’s equation is entered as … LOOKUP (“variable”), where quotations
are not used. For example: land/availability multiplier=LAND AVAILABILITY
LOOKUP(land fraction occupied). In this case, "land fraction occupied" is an input to the
LOOKUP, and the LOOKUP outputs the corresponding value as dictated by the
LOOKUP graph or coordinates.
b) To enter the LOOKUP function, first access the equation editor to open the
"equation" box for the LOOKUP. To the left, just below the equation box, there is a small
rectangle with the name "Auxiliary."
c) Click and hold on the box marked "Auxiliary" (on the downward pointing
triangle). Slide down to "Lookup" and let go of the mouse button.
d) You will see, just below what should now be a "Lookup” rectangle, a small
rectangle with the words “As Graph” appears. Click on the "As Graph" rectangle.
e) A graph will appear, where you can either type in the points on the left or click
on the graph where you want the points to be. Using the equation for the Lookup (which,
for Road Maps models is found in the Vensim Example at the end of each paper), enter
4 D-4526
the input/output for each point. You should see the shape of the curve on the graph to the
right.
f) Click "OK" once the values are entered. If you have any trouble with Lookup
Functions in Vensim, the third suggested Vensim user guide, found at
[Link] provides a very useful tutorial.
4. Initial Variables: Every Vensim model has an additional input for each stock,
called "INITIAL ‘STOCK NAME.'" Unlike the STELLA models currently in Road Maps,
where the initial value of the stock is numerically entered into the Initial Value "equation"
box, in Vensim models, the name "INITIAL 'STOCK NAME'" is typed into the Initial
Value box for the Stock, and the numeric value is entered in the equation of the "INITIAL
‘STOCK NAME.'" For Vensim Version 3.0 (or lower), the "INITIAL ‘STOCK NAME'"
cannot be attached to the stock, and must be "floating." For Vensim PLE Plus and the
newer versions of Vensim, the "INITIAL ‘STOCK NAME'" can be attached using an
arrow (the arrow will either become smaller, turn blue, or shadow). This convention
makes it considerably more convenient to change initial conditions while running
simulations.
5. Special Functions: Entering SMOOTH, PULSE, STEP, MIN/MAX, and RAMP
functions in Vensim is slightly different from Stella. When entering an equation for a
variable, simply click on the rectangle to the right of the “Variables” rectangle in the
equation editor and the list will appear. Once a function is selected, the equation box will
instruct on what variables to enter in the equation. If you need further help, the PLE
Guide will instruct you on how to enter special functions.
D-4526 5
6. Units: Vensim has a units check. Because the earlier versions of Stella do not,
there are several units errors in some of the Stella models in Road Maps. The units for the
models in all the Vensim Conversion Appendices, however, are consistent. Some Vensim
models contain extra variables, or "Normalizing Variables" that ensure that the units work
out. To check units using Vensim, type ctrl-u, and Vensim will tell you if "Units are
A.O.K." or if there are any units errors.
7. Restrictions on embedded constants: Vensim only allows numeric entries to be
used in the equations for constants. Because of this restriction, a variable cannot have a
constant embedded in its equation, as it must have the name of the constant entered
instead. Because some of the original Stella models had embedded constants entered in
equations, the corresponding Vensim models have extra variables and equations
representing those constants. Placing restrictions on embedded constants makes it
considerably easier to change constants while running simulations.
III. Conclusion
Once you are able to understand the differences between the STELLA and Vensim
models and apply the Vensim methods to your models, your modeling skills will be greatly
enhanced. The Vensim examples in the Road Maps series can serve as a guide for
building Road Maps models. Each of the models has been run according to the
specifications in the text, and the graphs are supplied. Also, each model is created using
the proper modeling conventions and the documentation contains consistent units.
6 D-4526
We hope you find the Vensim Conversion Appendices to be useful while
developing your modeling skills. Please e-mail your comments or suggestions on the
Vensim Guide or any of the appendices to <rm-help@[Link]>.