Please enable JavaScript to view this site.

Vensim Help

We will start the modeling process by defining the variables that we need to test our Reality Check equations and then entering our Reality Check equations.  The Reality Check equations we have outlined talk about the number of yeast, the amount of water, the amount of sugar, the number of yeast divisions and temperature.  Identifying levels, we put these into a skeletal model as:

For clarity, we want to build up our Reality Check equations in a second view.  If you are using Vensim PLE you will need to put them in the same view with the model structure.  The first step is to place all of the model elements as shadow variables.  Using shadow variables allows the model structure to change without requiring modification to the Reality Check diagram.

There is no fixed set of rules for structuring Reality Check diagrams.  In our experience, making a column for normal model variables, Test Inputs and Constraints is the easiest format to follow.  It can also be helpful to color code (e.g., blue for Test Inputs and red for Constraints).  The arrows can get pretty messy this way, but if you organize Reality Check information by the variables that are affected, this is usually not a big problem.

You can enter the Constraints and Test Inputs in the Equation Editor:

EQEDRealityCold

You will need to select the equation Type Reality Check and the subtype Constraint.  The conditional and consequence are split into two separate windows.

The Reality Check equations are:

cold is dormant :THE CONDITION: temperature < 50 :IMPLIES: 
       divisions = 0
hot is dead :THE CONDITION: temperature = RC STEP(120,1)
       :IMPLIES: Yeast Count <= RC DECAY CHECK(1,Yeast Count,2)

For hot is dead we have used a step in the temperature  and then used a RC DECAY CHECK function to check Yeast Count.  For this model a decay is appropriate for looking at the behavior of Yeast Count since we are focusing in on situations of dying out.

eat or die :THE CONDITION: Sugar = RC STEP(Sugar,0) 

:AND: temperature > 65 :IMPLIES:
       Yeast Count <= RC DECAY CHECK(1,Yeast Count,15)

Here, the Constraint requires the Yeast Count decline toward zero with an average death time of 15.

drink or die :THE CONDITION: Water = RC STEP(Water,0) 
       :AND: temperature > 65
       :IMPLIES: Yeast Count <= RC DECAY CHECK(1,Yeast Count,1)

big growth :TEST INPUT: divisions = 1e+022

hunger from growth :THE CONDITION: big growth :IMPLIES:
       Sugar <= RC DECAY CHECK(1,Sugar,0.5,INITIAL TIME)
thirst from growth :THE CONDITION: big growth :IMPLIES:
       Water <= RC DECAY CHECK(1,Water,0.5,INITIAL TIME)

Notice that for the last two Constraints the RC DECAY CHECK function starts checking at INITIAL TIME since the Test Input starts from the beginning of the simulation.  If the Test Input had used an RC STEP function to start during the simulation the INITIAL TIME argument would have been left off of the last two RC DECAY CHECK uses.

Finally we have:

RC START TIME = 10

The time is arbitrary.  It might be that starting early there will be few yeast and lots of sugar, while starting later there would be more yeast and less sugar.  When a model passes Reality Check equations to your satisfaction it is a good idea to change RC START TIME and retest.