Numerical Simulation of SD Equations

Use this forum to discuss any issues relating to Systems Dynamics and Systems Thinking.
Post Reply
duilio
Senior Member
Posts: 59
Joined: Wed Oct 20, 2004 3:07 pm

Numerical Simulation of SD Equations

Post by duilio »

Hi there,
I'm seeking for material to explain the mathematical theory behind SD. Basically I need stuff to explain what the software (namely VENSIM) is doing "behind the scene". The audience will be a class of undergraduate students in economics. So their mathematical background is not so strong

Any material that may help me in explaining what a differential equation is and how simulation software may solve it through numerical integration will be highly appreciated.

I receive an order to do that, so there's no room for discussion whether this is useful or not..:)

Thanks a lot in advance

G
LAUJJL
Senior Member
Posts: 1427
Joined: Fri May 23, 2003 10:09 am
Vensim version: DSS

numerical simulation

Post by LAUJJL »

Hi G
Having the necessity to build a bridge between numerical simulation using Vensim and differential equations, I would start very simply trying to find some very
simple differential equations in the other courses the students follow, either in mathematic or in economy for instance.
I will take an example taken from elementary mechanic.
I would first draw a parallel between the simplest differential equations lets say a DE, and the simplest SD model possible.
This is the case with the uniform movement of a point on a line, represented by the DE : dx = V * dt, with V being a constant
which has the solutions: x = VT + C, where C is the position of the starting point.
The equivalent in Vensim is a simple stock and flow with a constant rate and the initial value of the level being equal to C.
One cannot find something simpler, and it is then a good start.
One can then imagine the point being on a plane instead of being on a line, and that would lead to a system of two DE. dx = VL * dt and dy = VH * dt where
VL and VH are two constants representing the two speeds relative to both coordinates. You can then eventually complicate a bit, offering your students to find the
change of coordinates that makes VL or VH equal to 0. In Vensim this will translate into a set of two independent stock and flow with two constant rates.
You can do the same with a point in space with three coordinates.
Then you can change the first equation dx = V * dt or x’(t) = V into a second derivative X’’(t) = A, where A is the acceleration and show the equivalent in Vensim
which is a stock and flow with a constant rate, the acceleration and with a level the speed, and a second stock and flow where the rate is equal to the speed.
To resume two stock and flow related with a link from one of the stock to the rate of the other one. The two initial level values will be the initial position
and the initial speed. There is up to that point no loops, although there is some dynamic.
To illustrate a negative loop, I would imagine that there is some friction, which generates a force proportional to the speed, and then generates a negative acceleration equals to
rhe speed divided by the mass of the point. I would translate this into a DE and into Vensim. On can too translate the DE into a conventional programming procedural language as C
to show that Vensim does not make more than a procedural language but with some advantages.
You can show the effect of the dampening effect and the negative loop and find the limit of the speed and show how the effect of the mass on the speed limit, example with a feather.
You can then show that delays generate oscillations.
You can imagine that the point is somebody with a parachute who can modify the speed of his jump, and alternatively slows down the speed
or increases it if he feels that the speed is too quick or slow, and the magnitude of the oscillation depends on how long it takes for him to realize
that the speed does not correspond to his wish.
You can then generate a positive loop by imagining that the intention of the jumper is too increase his speed to the maximum but that he is limited by his fear of something happening.
His confidence may be a level that is smoothed or directly proportional to the speed divided by his level of fear.
If he is increasing his speed, and his level of fear is staying the same, he is increasing his confidence and can then increase his speed again.
This is a positive loop, that has a sister negative loop generated by the maximum limit speed the parachute can drop.
Regards.
JJ
duilio
Senior Member
Posts: 59
Joined: Wed Oct 20, 2004 3:07 pm

Numerical Simulations on SD Equations

Post by duilio »

Hi JJ,
as useful your contribution is very valuable!!

Thanks a lot, you gave some interesting ideas to think about.

Cheers
G
Post Reply