html5-img
1 / 72

Stock & Flow Diagrams

Stock & Flow Diagrams. James R. Burns Fall 2010. What are stocks and flows??. A way to characterize systems as stocks and flows between stocks Stocks are variables that accumulate the affects of other variables Rates are variables the control the flows of material into and out of stocks

sharis
Download Presentation

Stock & Flow Diagrams

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stock & Flow Diagrams James R. Burns Fall 2010

  2. What are stocks and flows?? • A way to characterize systems as stocks and flows between stocks • Stocks are variables that accumulate the affects of other variables • Rates are variables the control the flows of material into and out of stocks • Auxiliaries are variables that modify information as it is passed from stocks to rates

  3. Stock and Flow Notation--Quantities • STOCK • RATE • Auxiliary

  4. Stock and Flow Notation--Quantities • Input/Parameter/Lookup • Have no edges directed toward them • Output • Have no edges directed away from them

  5. Inputs and Outputs • Inputs • Parameters • Lookups • Inputs are controllable quantities • Parameters are environmentally defined quantities over which the identified manager cannot exercise any control • Lookups are TABLES used to modify information as it is passed along • Outputs • Have no edges directed away from them

  6. Stock and Flow Notation--edges • Information • Flow

  7. Some rules • There are two types of causal links in causal models • Information • Flow • Information proceeds from stocks and parameters/inputs toward rates where it is used to control flows • Flow edges proceed from rates to states (stocks) in the causal diagram always

  8. Robust Loops • In any loop involving a pair of quantities/edges, • one quantity must be a rate • the other a state or stock, • one edge must be a flow edge • the other an information edge

  9. CONSISTENCY • All of the edges directed toward a quantity are of the same type • All of the edges directed away from a quantity are of the same type

  10. Rates and their edges

  11. Parameters and their edges

  12. Stocks and their edges

  13. Auxiliaries and their edges

  14. Outputs and their edges

  15. STEP 1: Identify parameters • Parameters have no edges directed toward them

  16. STEP 2: Identify the edges directed from parameters • These are information edges always

  17. STEP 3: By consistency identify as many other edge types as you can

  18. STEP 4: Look for loops involving a pair of quantities only • Use the rules for robust loops identified above

  19. Distinguishing Stocks & Flows by Name NAME UNITS Stock or flow Revenue Liabilities Employees Depreciation Construction starts Hiring material standard of living

  20. System Dynamics Software • STELLA and I think • High Performance Systems, Inc. • best fit for K-12 education • Vensim • Ventana systems, Inc. • Free from downloading off their web site: www.vensim.com • Robust--including parametric data fitting and optimization • best fit for higher education • Powersim • What Arthur Andersen is using

  21. The VENSIM User Interface • The Time bounds Dialog box

  22. A single-sector Exponential growth Model • Consider a simple population with infinite resources--food, water, air, etc. Given, mortality information in terms of birth and death rates, what is this population likely to grow to by a certain time? • Over a period of 200 years, the population is impacted by both births and deaths. These are, in turn functions of birth rate norm and death rate norm as well as population. • A population of 1.6 billion with a birth rate norm of .04 and a death rate norm of .028

  23. Let’s Begin by Listing Quantities • Population • Births • Deaths • Birth rate norm • Death rate norm

  24. Equations • Birth rate = Birth rate norm * Population • Death rate = Death rate norm * Population • Population(t + dt) = Population(t) + dt*(Birth rate – Death rate) • t = t + dt • Population must have an initial defining value, like 1.6E9

  25. Units Dissection • Birth rate = Birth rate Norm * Population [capita/yr] = [capita/capita*yr] * [capita]

  26. A single-sector Exponential goal-seeking Model • Sonya Magnova is a resources planner for a school district. Sonya wishes to a maintain a desired level of resources for the district. Sonya’s new resource provision policy is quite simple--adjust actual resources AR toward desired resources DR so as to force these to conform as closely as possible. The time required to add additional resources is AT. Actual resources are adjusted with a resource adjustment rate

  27. What are the quantities?? • Actual resources • Desired resources • Resource adjustment rate • Adjustment time

  28. Equations • Adjustment time = constant • Desired resources = variable or constant • Resource adjustment rate = (Desired resources – Actual resources)/Adjustment time • Actual resources(t + dt) = Actual resources(t) + dt*Resource adjustment rate • Initial defining value for Actual resources

  29. Equation dissection • Resource adjustment rate = (Desired resources – Actual resources)/Adjustment time • An actual condition—Actual resources • A desired condition—Desired resources • A GAP—(Desired resources – Actual resources) • A way to express action based on the GAP: (Desired resources – Actual resources)/Adjustment time

  30. Units check Resource adjustment rate = (Desired resources – Actual resources)/Adjustment time [widgets/yr] = ([widgets] – [widgets])/[yr] CHECKS Notice that rates ALWAYS HAVE THE UNITS OF THE ASSOCIATED STOCK DIVIDED BY THE UNITS OF TIME, ALWAYS

  31. (1) Actual Resources= INTEG (Resource adjustment rate, 10) Units: **undefined** (2) Adjustment time= 10 Units: **undefined** (3) Desired Resources= 1000 Units: **undefined** (4) FINAL TIME = 100 Units: Month The final time for the simulation.

  32. (5) INITIAL TIME = 0 Units: Month The initial time for the simulation. (6) Resource adjustment rate= (Desired Resources - Actual Resources)/Adjustment time Units: **undefined** (7) SAVEPER = TIME STEP Units: Month [0,?] The frequency with which output is stored. (8) TIME STEP = 1 Units: Month [0,?] The time step for the simulation.

  33. Shifting loop Dominance • Rabbit populations grow rapidly with a reproduction fraction of .125 per month • When the population reaches the carrying capacity of 1000, the net growth rate falls back to zero, and the population stabilizes • Starting with two rabbits, run for 100 months with a time step of 1 month • (This model has two loops, an exponential growth loop (also called a reinforcing loop) and a balancing loop)

  34. Shifting loop Dominance • Assumes the following relation for Effect of Resources • Effect of Resources = (carrying capacity - Rabbits)/carrying capacity • This is a multiplier • Multipliers are always dimless (dimensionless) • When rabbits are near zero, this is near 1 • When rabbits are near carrying capacity, this is near zero • This will shut down the net rabbit birth rate

  35. Dimensionality Considerations • VENSIM will check for dimensional consistency if you enter dimensions • Rigorously, all models must be dimensionally consistent • What ever units you use for stocks, the associated rates must have those units divided by TIME • An example follows

  36. Cascaded rate-state (stock) combinations • In the oil exploration industry, unproven reserves (measured in barrels) become proven reserves when they are discovered. The extraction rate transforms proven reserves into inventories of crude. The refining rate transforms inventories of crude into refined petroleum products. The consumption rate transforms refined products into pollution (air, heat, etc.)

  37. Another cascaded rate-stock combination • Population cohorts. Suppose population is broken down into age cohorts of 0-15, 16-30, 31-45, 46-60, 61-75, 76-90 • Here each cohort has a “lifetime” of 15 years • Again, each rate has the units of the associated stocks divided by time

  38. The Sector Approach to the Determination of Structure • What is meant by “sector?” • What are the steps… • to determination of structure within sectors? • to determination of structure between sectors?

  39. Definition of sector • All the structure associated with a single flow • Note that there could be several stocks associated with a single flow • The uranium sector in the energy model has eight stocks in it

More Related