Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
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 + + Adults
+

Children maturing

Births

Children 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 Level statement

* Population Growth

L POP.K = POP.J + DT*BIRTH.JK


present one time interval earlier between J and K

Initial value statement Rate statement Constant statement SPEC statement

N POP = 10 R BIRTH.KL = (POP.K)(PAR) C PAR = 0.1 SPEC DT = 1.0

Integral/Differential Equations
Diagran
R1
L R2

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

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
+ R + L

Flow Graph
R L

Equations
dL/dt = k1*R(t)

Block Model
L L k1*k2

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

From Causal Loop Diagram To Simulation Models 2


Flow Graph
R1 R2

Equations
dL/dt = R1 R2 R2 = k2*L R1 = k1

Block Model
L1 L1

dL/dt = k1 - k2*L

k2
k1

From Causal Loop Diagram To Simulation Models 3


Flow Graph
R1 L1 R2 R3

Equations
dL1/dt = R1 R2
dL2/dt = R2 R3 R1 = k1 R2 = K2 * L1 R3 = K3 * L2 dL1/dt = k1 k2*L1 dL2/dt = k2*L1 K3*L2 L2 L2 k3

L2

Block Model
L1 L1 k2 k1

Building construction
Problem statement

Causal Graph

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
+

Construction
+

Industrial buildings
+ +

Demolition
-

Construction fraction Land available for Industrial buildings

Fraction of land occupied


+

Average lifetime for buildings

Average area per building

Simulation models
Flow Graph
Construction (C) Industrial Buildings (B) Demolition (D)

Equations
dBl/dt = Cr Dr Cr = f1(CF, Bl) Dr = f2(AL,Bl)

Construction
fraction (CF) Land available for industrial buildings (LA) Fraction of land occupied (FLO)

Average lifetime for buildings (AL)

CF = f3(FLO) FLO = f4(LA,AA,Bl)

Average area per building (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