Writing level equations

Use this forum to post Vensim related questions.
Post Reply
Monte
Senior Member
Posts: 133
Joined: Sat Aug 13, 2005 4:18 am
Vensim version: PLE+

Writing level equations

Post by Monte »

Hi,

We have many ways to write a level equation with a single rate.

In DYNAMO, we write

LEVEL.K=LEVEL.J+(DT)RATE.JK

In Vensim, however, the same equation is

Level=INTEG(rate, INITIAL LEVEL)

which makes time notation implicit.

Here are my two questions:

I. Do you think RATE.JK is indeed equal to RATE.J?
In the 1960s, several authors write RATE.JK instead of RATE.J, although mere RATE.J is multiplied by

DT to find LEVEL.K.

II. Are Vensim's levels equivalent to this equation?

L(t)=L(t-DT)+(DT)R(t-DT)

where L(t-DT) is LEVEL.J; DT a constant time step; and R(t-DT) is RATE.J.
Assume that R(t-DT)=f(h, d) and Euler method is used.

Thanks for your helps.
Monte
bob@vensim.com
Senior Member
Posts: 1107
Joined: Wed Mar 12, 2003 2:46 pm

Post by bob@vensim.com »

Hi Monte,

The old Dynamo syntax emphasized Euler integration, which is effectively a discrete time conceptualization. Usually it is better to conceptualize continuously. rate.jk meant the rate as computed using everything else at time j. You could actually write rate.kl in dynamo, though I don't think it did anything differently.

As far as Vensim goes with euler integraion

Level(Time) = Level(Time-TIME STEP) + Rate(Time - TIME STEP) * TIME STEP
Rate(Time-TIME STEP) = some function of(Level(Time - TIME STEP))

with difference integration

Level(Time) = Level(Time - TEMP STEP) + Rate(Time) * TIME STEP
Rate(Time) = some function of(Level(Time - TIME STEP))

The difference is actually only one of reporting, not computation.

I hope that helps.
Post Reply