Courses: Introduction to GoldSim:
Unit 8 - Representing Complex Dynamics: Loops and Delays
Lesson 1 - Unit 8 Overview
"The global climate is a complex interactive system, with all kinds of nonlinear feedback loops."
- Alex Shoumatoff
You should recall that we noted in a previous Lesson (Unit 6, Lesson 5) that by far the most important and interesting way to make a model vary with time is by using elements that implicitly compute their outputs as a function of time. This generates endogenous dynamic behavior. Endogenous behavior is something that comes from “inside” the model and is explained by the relationships within the model. That is, if a system evolves endogenously, it means that the model structure itself is inherently causing the model variables to change with time.
We pointed out that in order to generate endogenous dynamic behavior, an element must have “memory” or “inertia” with regard to the past. That is, the current value of the element’s output(s) must be a function of inputs to the element at previous timesteps. If the current value of the element’s output(s) are only a function of the inputs to the element at the current timestep, the element cannot generate endogenous dynamics.
The most commonly used elements that generate such behavior are the “stock elements” (i.e., Pools, Reservoirs, and Integrators). These elements solve time integrals, so by definition, they are inherently a function of time (and their current value is a function of their inputs at previous timesteps). We’ve discussed the Reservoir and Pool elements in detail in the previous Unit (and the Integrator is just a simplified version of the Reservoir). Other GoldSim elements also generate endogenous behavior, including delay elements.
Although these elements can generate simple dynamics by themselves (as we saw in the previous Unit), much more interesting (and in many cases, non-intuitive) dynamics can be generated when these elements are used to represent feedback loops and time delays.
Feedback loops are present in one form or another in most real-world systems. Feedback loops represent a looping chain of cause and effect. A simple example of a feedback loop is as follows: the more chickens we have, the more eggs that are produced; the more eggs that are produced, the more chickens we have. Note that the terms “feedback” and “cause and effect” intentionally imply that the relationship between the variables is dynamic and the system changes over time (although as we shall see, systems with feedback loops can also reach a dynamic equilibrium).
In addition to feedback loops, many systems involve significant time delays. For example, there are time delays in the simple example mentioned above. From the time an egg is laid, there is a delay (an incubation period) until it hatches and produces a chicken. Also, once an egg hatches, there is a delay before a hen can produce eggs.
The combination of feedback loops and time delays generates much of the complex dynamics we see in the real world. In this Unit, we will build upon the knowledge we gained in the previous Unit (modeling material flows) and learn how to represent complex dynamics involving feedback loops and delays. Along the way, we will also introduce an important new element: the Lookup Table.
In particular, in this Unit we will discuss the following:
- Understanding feedback loops;
- Understanding how GoldSim handles feedback loops;
- Representing response surfaces using Lookup Table elements;
- Simulating feedback control systems;
- Complex dynamics arising from interacting feedback loops;
- Understanding delays;
- Modeling material delays; and
- Handling recirculating (recursive) logic.
This Unit also includes four Exercises.
This Unit has a total of 13 Lessons (including this overview and a summary at the end). Because this Unit deals with a number of important and complex topics in some detail, and includes four Exercises, it will likely take you more time than previous Units. However, it is still presented as a single Unit as all of the topics are closely related.