You are on page 1of 23

System Dynamics 2

CAP4800/5805
Systems Simulation
What we covered last time
What is System Dynamics
Causal Loop Diagram
Augmenting Causal CLD
Loop dominance
Labeling link polarity
Determining loop polarity
Exogenous items and delays
System Dynamics Modeling
Identify a problem
Develop a dynamic hypothesis explaining the cause of
the problem
Create a basic causal graph
Augment the causal graph with more information
Convert the augmented causal graph to a
System Dynamics flow graph
Translate a System Dynamics flow graph into
DYNAMO programs or equations
Simulate the DYNAMO programs or equations
Casual-loops
Provide insight into a system's structure
Often difficult to infer the behavior of a
system from its casual-loop representation
Need to use computer simulation
Simulation model: flow diagrams, equations,
simulation language
DYNAMO (DYNAmic Models):
Not a general-purpose language but special
purpose language to aid in building
computer models
Flow Graph Symbols
Level

Rate Flow arc

Auxiliary Cause-and-effect arc

Source/Sink

Constant
Level:
AKA stock, accumulation, or state
variable
A quantity that accumulates over
time
Change its value by accumulating or
integrating rates
Change continuously over time even
when the rates are changing
discontinuously
Rate/Flow:
AKA flow, activity, movement
Change the values of levels
The value of a rate is
Not dependent on previous values of that
rate
But dependent on the levels in a system
along with exogenous influences
Auxiliary:
Arise when the formulation of a levels
influence on a rate involves one or more
intermediate calculations
Often useful in formulating complex rate
equations
Used for ease of communication and clarity
Value changes immediately in response to
changes in levels or exogenous influences
Source and Sink:
Source represents systems of levels
and rates outside the boundary of the
model
Sink is where flows terminate outside
the system
Example 1
(Population and birth)

Births Population
+

Births
Population
Example 2
(Children and adults)
+ + +
Births Children - Children maturing Adults
-
+ +

Children
Births maturing
children Adults
DYNAMO
Originally developed by Jack Pugh at MIT
First system dynamics simulation language
For a long time the language and the field were
considered synonymous
Provides an equation based development
environment for system dynamics models
DYNAMO today runs on PC compatibles under
Dos/Windows.
Time in DYNAMO
LEVEL.K: a level calculated at the present time
LEVEL.J: a level calculated one time interval
earlier
DT: the length of the time interval between J
and K

dt dt

J: past K: present L: future


DYNAMO Program
(Population and birth model)
Births

Population

Star statement * Population Growth


Level statement L POP.K = POP.J + DT*BIRTH.JK
present one time interval earlier between J and K

Initial value statement N POP = 10


Rate statement R BIRTH.KL = (POP.K)(PAR)
Constant statement C PAR = 0.1
SPEC statement
SPEC DT = 1.0
Integral/Differential Equations
Diagran
R1 R2
L

Integral Equation
t
L(t) = t0 [R1(s) R2(s) ] ds + L(t0)

Differential Equation
dL/dt = Net Change in L = R1(t) - R2(t)
System Dynamics Algorithm
Program Main
We are given a concept graph with modes and arcs
The arcs require sign (+,-) labeling
The nodes require labeling: source, rate, level, constant,
auxiliary
For each level node (L) with an input rate node (R1) and
and output rate node (R2) write:
dL/dt = k1 * R1 k2 * R2 ; k1 and k2 are rate constants
End for
For all other nodes (N) write:
N(t) = a linear function of all inset members of this node
End for
End Main
From Causal Loop Diagram
To Simulation Models 1
Causal Graph Flow Graph
R
+
R L L
+

Equations Block Model


dL/dt = k1*R(t) L L

R(t) = k2*L(t)
k1*k2
dL/dt = k1*k2*L(t)
From Causal Loop Diagram
To Simulation Models 2
Flow Graph Equations
R1 R2 dL/dt = R1 R2
L R2 = k2*L
R1 = k1
dL/dt = k1 - k2*L
Block Model

L1 L1

k2

- k1
From Causal Loop Diagram
To Simulation Models 3
Flow Graph Equations
dL1/dt = R1 R2
R1 R2 R3
dL2/dt = R2 R3
L1 L2
R1 = k1
R2 = K2 * L1
R3 = K3 * L2
dL1/dt = k1 k2*L1
Block Model dL2/dt = k2*L1 K3*L2
L1 L1 L2 L2
-
k2 k3
- k1
Building construction
Problem statement
Fixed area of available land for construction
New buildings are constructed while old buildings are
demolished
Primary state variable will be the total number of buildings
over time
Causal Graph
+ -

Industrial
Construction Demolition
+ buildings
Construction
+ + -
Average
fraction +
Fraction of lifetime
- for buildings
land occupied
Land available for Average area
- +
Industrial buildings per building
Simulation models
Flow Graph Equations
Construction (C) Demolition (D) dBl/dt = Cr Dr
Industrial
Cr = f1(CF, Bl)
Buildings (B)

Dr = f2(AL,Bl)
Average lifetime CF = f3(FLO)
for buildings
Construction (AL)
FLO = f4(LA,AA,Bl)
fraction
Fraction of
(CF)
land occupied
Land available for (FLO) Average area
industrial buildings per building
(LA) (AA)
Next Class
VenSim
System Dynamics Simulation Tool
http://www.vensim.com/
References
Simulation Model Design and Execution,
Fishwick, Prentice-Hall, 1995 (Textbook)
Introduction to Computer Simulation: A
system dynamics modeling approach,
Nancy Roberts et al, Addison-wesley, 1983
Business Dynamics: Systems thinking and
modeling for a complex world, John D.
Sterman, McGraw-Hill,2000

You might also like