[{"data":1,"prerenderedAt":1186},["ShallowReactive",2],{"/systemdynamics":3,"/systemdynamics-surround":1175},{"id":4,"title":5,"body":6,"description":1142,"extension":1143,"meta":1144,"navigation":1162,"path":1171,"seo":1172,"stem":1173,"__hash__":1174},"content/systemdynamics.md","System Dynamics Modeler",{"type":7,"value":8,"toc":1116},"minimark",[9,21,25,57,65,68,71,74,77,87,90,97,103,109,115,122,131,134,144,150,156,163,177,186,189,192,202,213,216,351,360,363,369,375,381,390,401,404,413,425,437,446,449,452,455,478,481,495,509,530,541,550,553,560,563,572,592,595,614,626,657,660,680,683,696,699,720,732,735,757,769,778,794,899,902,915,918,921,930,1083,1086,1104],[10,11,15],"h1",{"id":12,"className":13},"system-dynamics-modeler",[14],"section-heading",[16,17,5],"a",{"className":18,"href":20},[19],"section-anchor","#system-dynamics-modeler",[22,23,24],"p",{},"This guide has three parts:",[26,27,28,39,48],"ul",{},[29,30,31,38],"li",{},[16,32,34],{"href":33},"#what",[35,36,37],"strong",{},"What is the System Dynamics Modeler?",": A general description of\nthe tool, including the ideas and principles behind it.",[29,40,41,47],{},[16,42,44],{"href":43},"#how",[35,45,46],{},"How It Works",": Describes the interface and how you use it.",[29,49,50,56],{},[16,51,53],{"href":52},"#tutorial",[35,54,55],{},"Tutorial: Wolf-Sheep Predation (aggregate)",": Walks you through\ncreating a model with the System Dynamics Modeler.",[58,59,61],"h2",{"id":60},"what-is-the-netlogo-system-dynamics-modeler",[16,62,64],{"id":63,"href":33},"what","What is the NetLogo System Dynamics Modeler?",[22,66,67],{},"System Dynamics is a type of modeling where you try to understand how things\nrelate to one another. It is a little different from the agent-based approach we\nnormally use in NetLogo models.",[22,69,70],{},"With the agent-based approach we usually use in NetLogo, you program the\nbehavior of individual agents and watch what emerges from their interaction. In\na model of Wolf-Sheep Predation, for example, you provide rules for how wolves,\nsheep and grass interact with each other. When you run the simulation, you watch\nthe emergent aggregate-level behavior: for example, how the populations of\nwolves and sheep change over time.",[22,72,73],{},"With the System Dynamics Modeler, you don’t program the behavior of individual\nagents. Instead, you program how populations of agents behave as a whole. For\nexample, using System Dynamics to model Wolf-Sheep Predation, you specify how\nthe total number of sheep would change as the total number of wolves goes up or\ndown, and vice versa. You then run the simulation to see how both populations\nchange over time.",[22,75,76],{},"The System Dynamics Modeler allows you to draw a diagram that defines these\npopulations, or “stocks”, and how they affect each other. The Modeler reads your\ndiagram and generates the appropriate NetLogo code — global variables,\nprocedures and reporters — to run your System Dynamics model inside of NetLogo.",[78,79,82],"h3",{"id":80,"className":81},"basic-concepts",[14],[16,83,86],{"className":84,"href":85},[19],"#basic-concepts","Basic Concepts",[22,88,89],{},"A System Dynamics diagram is made of four kinds of elements: Stocks, Variables,\nFlows and Links.",[22,91,92,93,96],{},"A ",[35,94,95],{},"Stock"," is a collection of stuff, an aggregate. For example, a Stock can\nrepresent a population of sheep, the water in a lake, or the number of widgets\nin a factory.",[22,98,92,99,102],{},[35,100,101],{},"Flow"," brings things into, or out of a Stock. Flows look like pipes with a\nfaucet because the faucet controls how much stuff passes through the pipe.",[22,104,92,105,108],{},[35,106,107],{},"Variable"," is a value used in the diagram. It can be an equation that\ndepends on other Variables, or it can be a constant.",[22,110,92,111,114],{},[35,112,113],{},"Link"," makes a value from one part of the diagram available to another. A\nlink transmits a number from a Variable or a Stock into a Stock or a Flow.",[22,116,117,118,121],{},"The System Dynamics Modeler figures out how the value of your Stocks change over\ntime by estimating them over and over. The estimation isn’t always perfect, but\nyou can affect its accuracy by changing the value of ",[35,119,120],{},"dt",". As dt decreases,\nyou estimate the model more frequently, so it gets more accurate. However,\ndecreasing dt also makes the model slower.",[78,123,126],{"id":124,"className":125},"sample-models",[14],[16,127,130],{"className":128,"href":129},[19],"#sample-models","Sample Models",[22,132,133],{},"There are four basic models in the Sample Models section of the NetLogo Models\nLibrary that demonstrate the use of the System Dynamics Modeler. All four basic\nmodels explore population growth (and, in models with predation, population\ndecline).",[22,135,136,139,140,143],{},[35,137,138],{},"Exponential Growth"," and ",[35,141,142],{},"Logistic Growth"," are simple examples of growth in\none stock.",[22,145,146,149],{},[35,147,148],{},"Wolf Sheep Predation (System Dynamics)"," is an example of a system with\nmultiple stocks influencing one another. It models a predator-prey ecosystem\nusing the System Dynamics Modeler.",[22,151,152,155],{},[35,153,154],{},"Wolf Sheep Predation (Docked Hybrid)"," is an example of a model that runs both\nthe a System Dynamics model and an agent-based model side-by-side. It runs the\nSystem Dynamics implementation of Wolf-Sheep Predation next to the agent-based\nWolf Sheep Predation model from the Biology section of Sample Models.",[58,157,159],{"id":158},"how-it-works",[16,160,162],{"id":161,"href":43},"how","How it Works",[22,164,165,166],{},"To open the System Dynamics Modeler, choose the System Dynamics Modeler item in\nthe Tools menu. The System Dynamics Modeler window will appear. ",[167,168],"img",{"alt":169,"className":170,"src":172,"width":173,"height":174,"style":175},"systemdynamics/window.png",[171],"netlogo-image","/_content/images/systemdynamics/window.png",717,327,{"aspectRatio":176},"717/327",[78,178,181],{"id":179,"className":180},"diagram-tab",[14],[16,182,185],{"className":183,"href":184},[19],"#diagram-tab","Diagram Tab",[22,187,188],{},"The Diagram tab is where you draw your System Dynamics diagram.",[22,190,191],{},"The toolbar contains buttons to edit, delete and create items in your diagram.",[193,194,197],"h4",{"id":195,"className":196},"creating-diagram-elements",[14],[16,198,201],{"className":199,"href":200},[19],"#creating-diagram-elements","Creating Diagram Elements",[22,203,204],{},[167,205],{"alt":206,"className":207,"src":208,"width":209,"height":210,"style":211},"systemdynamics/elementbuttons.png",[171],"/_content/images/systemdynamics/elementbuttons.png",236,55,{"aspectRatio":212},"236/55",[22,214,215],{},"A System Dynamics diagram is made up of four kinds of components: Stocks,\nVariables, Flows and Links.",[217,218,219,223,233,237,246,250,342,346],"dl",{},[120,220,221],{},[22,222,95],{},[224,225,226],"dd",{},[22,227,228,229,232],{},"To create a Stock, press the Stock button in the toolbar and click in the\ndiagram area below. A new Stock appears. Each Stock requires a unique name,\nwhich becomes a global variable. Stocks also require an ",[35,230,231],{},"Initial value",". It\ncan be a number, a variable, a complex NetLogo expression, or a call to a\nNetLogo reporter.",[120,234,235],{},[22,236,107],{},[224,238,239],{},[22,240,241,242,245],{},"To create a Variable, press the Variable button and click on the diagram. Each\nVariable in the System Dynamics Model requires a unique name, which becomes the\nname of a procedure, or a global variable. Variables also require an\n",[35,243,244],{},"Expression",". This expression can be a number, a variable, a complex NetLogo\nexpression, or a call to a NetLogo reporter.",[120,247,248],{},[22,249,101],{},[224,251,252,258,264],{},[22,253,254,255,257],{},"To create a Flow, press the Flow button or use the right mouse button to Click\nand hold where you want the Flow to begin — either on a Stock or in an empty\narea — and drag the mouse to where you want the Flow to end — on a Stock or in\nan empty area. Each Flow requires a unique name, which becomes a NetLogo\nreporter. Flows require an ",[35,256,244],{},", which is the rate of flow from the\ninput to the output. This expression can be a number, a variable, a complex\nNetLogo expression, or a call to a NetLogo reporter. If the value is negative,\nthe flow is in the opposite direction.",[22,259,260,261,263],{},"When more than one Flow is connected to a Stock, it is important to consider how\nthey should interact with one another. NetLogo will not enforce that the Flows\nout of a stock occur in any particular order. Also, NetLogo will not ensure that\nthe sum of Flows out of a Stock are less than or equal to the value of the\nStock. These behaviors can be implemented explicitly when creating the\n",[35,262,244],{}," for a Flow.",[22,265,266,267,279,280,306,307,341],{},"For example, if the Flow is defined as a constant value, 10, you can ensure it\nnever draws more than the value of the Stock by using the ",[268,269,271],"primitive",{"displayText":270,"permalink":270},"min",[16,272,270],{"href":273,"className":274,"dataDisplayText":270,"rel":276,"target":278,"title":270},"/dictionary#min",[275],"netlogo-wiki-link",[277],"noopener","_self"," primitive:\n",[281,282,283,289,290,294,295,294,300,305],"code",{},[284,285,270],"span",{"className":286},[287,288],"token","reporter"," (",[284,291,293],{"className":292},[287,288],"list"," ",[284,296,299],{"className":297},[287,298],"variable","stock",[284,301,304],{"className":302},[287,303],"number","10",")",". If I want Flow A to deplete a Stock before Flow B is\ncalculated, I can link Flow A to Flow B and modify Flow B to subtract Flow A’s\nvalue from the stock: ",[281,308,309,289,312,289,315,289,319,294,322,289,326,294,329,294,333,337,338,305],{},[284,310,270],{"className":311},[287,288],[284,313,293],{"className":314},[287,288],[284,316,318],{"className":317},[287,288],"max",[284,320,293],{"className":321},[287,288],[284,323,325],{"className":324},[287,303],"0",[284,327,299],{"className":328},[287,298],[284,330,332],{"className":331},[287,288],"-",[284,334,336],{"className":335},[287,298],"flow-a","))) ",[284,339,304],{"className":340},[287,303],".",[120,343,344],{},[22,345,113],{},[224,347,348],{},[22,349,350],{},"To create a Link, press the Link button, or using the right mouse button, click\nand hold on the starting point for the link — a Variable, Stock or Flow — and\ndrag the mouse to the destination Variable or Flow.",[193,352,355],{"id":353,"className":354},"working-with-diagram-elements",[14],[16,356,359],{"className":357,"href":358},[19],"#working-with-diagram-elements","Working with Diagram Elements",[22,361,362],{},"When you create a Stock, Variable, or Flow, you see a red question-mark on the\nelement. The question-mark indicates that the element doesn’t have a name yet.\nThe red color indicates that the Stock is incomplete: it’s missing one or more\nvalues required to generate a System Dynamics model. When a diagram element is\ncomplete, the name turns black.",[22,364,365,368],{},[35,366,367],{},"Selecting:"," To select a diagram element, click on it. To select multiple\nelements, hold the shift key. You can also select one or more elements by\ndragging a selection box.",[22,370,371,374],{},[35,372,373],{},"Editing:"," To edit a diagram element, select the element and press the “Edit”\nbutton on the toolbar. Or just double-click the element. (You can edit Stocks,\nFlows and Variables, but you can’t edit Links).",[22,376,377,380],{},[35,378,379],{},"Moving:"," To move a diagram element, select it and drag the mouse to a new\nlocation.",[193,382,385],{"id":383,"className":384},"editing-dt",[14],[16,386,389],{"className":387,"href":388},[19],"#editing-dt","Editing dt",[22,391,392],{},[167,393],{"alt":394,"className":395,"src":396,"width":397,"height":398,"style":399},"systemdynamics/dt.png",[171],"/_content/images/systemdynamics/dt.png",111,33,{"aspectRatio":400},"111/33",[22,402,403],{},"On the right side of the toolbar is the default dt, the interval used to\napproximate the results of your System Dynamics model. To change the value of\nthe default dt for your aggregate model, press the Edit button next to the dt\ndisplay and enter a new value.",[193,405,408],{"id":406,"className":407},"errors",[14],[16,409,412],{"className":410,"href":411},[19],"#errors","Errors",[22,414,415,416],{},"When you click the “check” button or when you edit a stock, flow, or variable\nthe modeler will automatically generate the NetLogo code the corresponds to your\ndiagram and try to compile that code. If there is an error the Code tab will\nturn red and a message will appear, and the portion of the generated code that\nis causing the trouble will be highlighted. ",[167,417],{"alt":418,"className":419,"src":420,"width":421,"height":422,"style":423},"systemdynamics/error.png",[171],"/_content/images/systemdynamics/error.png",610,312,{"aspectRatio":424},"610/312",[22,426,427,428],{},"This should give you a better idea which element in the diagram is causing the\nproblem. ",[167,429],{"alt":430,"className":431,"src":432,"width":433,"height":434,"style":435},"systemdynamics/errordialog.png",[171],"/_content/images/systemdynamics/errordialog.png",400,218,{"aspectRatio":436},"400/218",[78,438,441],{"id":439,"className":440},"code-tab",[14],[16,442,445],{"className":443,"href":444},[19],"#code-tab","Code Tab",[22,447,448],{},"The System Dynamics Modeler generates NetLogo variables and procedures based on\nthe contents of your diagram. These procedures are what make the diagram\nactually perform calculations. The Code tab in the System Dynamics Modeler\nwindow displays the NetLogo procedures generated from your diagram.",[22,450,451],{},"You can’t edit the contents of the Code tab. To modify your System Dynamics\nmode, edit the diagram.",[22,453,454],{},"Let’s take a closer look at how the generated code relates to the diagram:",[26,456,457,463,469],{},[29,458,459,460,462],{},"Stocks correspond to a global variable that is initialized to the value or\nexpression you provided in the ",[35,461,231],{}," field. Each Stock will be\nupdated every step based on the Flows in and out.",[29,464,465,466,468],{},"Flows correspond to a procedure that contains the expression you provided in\nthe ",[35,467,244],{}," field.",[29,470,471,472,474,475,477],{},"Variables can either be global variables or procedures. If the ",[35,473,244],{},"\nyou provided is a constant it will be a global variable and initialized to\nthat value. If you used a more complicated ",[35,476,244],{}," to define the\nVariable it will create a procedure like a Flow.",[22,479,480],{},"The variables and procedures defined in this tab are accessible in the main\nNetLogo window, just like the variables and procedures you define yourself in\nthe main NetLogo Code tab. You can call the procedures from the main Code tab,\nfrom the Command Center, or from buttons in the Interface tab. You can refer to\nthe global variables anywhere, including in the main Code tab and in monitors.",[22,482,483,484,487,488,491,492,341],{},"There are three important procedures to notice: ",[281,485,486],{},"system-dynamics-setup",",\n",[281,489,490],{},"system-dynamics-go",", and ",[281,493,494],{},"system-dynamics-do-plot",[22,496,497,501,502,504,505,508],{},[35,498,499],{},[281,500,486],{}," initializes the aggregate model. It sets the value\nof ",[281,503,120],{},", calls ",[281,506,507],{},"reset-ticks",", and initializes your stocks and your converters.\nConverters with a constant value are initialized first, followed by the stocks\nwith constant values. The remaining stocks are initialized in alphabetical\norder.",[22,510,511,515,516,518,519,522,523,525,526,529],{},[35,512,513],{},[281,514,490],{}," runs the aggregate model for ",[281,517,120],{}," time units. It\ncomputes the values of Flows and Variables and updates the value of Stocks. It\nalso calls ",[281,520,521],{},"tick-advance"," with the value of ",[281,524,120],{},". Converters and Flows with\nnon-constant ",[35,527,528],{},"Expressions"," will be calculated only once when this procedure is\ncalled, however, their order of evaluation is undefined",[22,531,532,536,537,540],{},[35,533,534],{},[281,535,494],{}," plots the values of Stocks in the aggregate model.\nTo use this, first create a plot in the main NetLogo window. You then need to\ndefine a plot pen for each Stock you want to be plotted. This procedure will use\nthe current plot, which you can change using the ",[281,538,539],{},"set-current-plot"," command.",[78,542,545],{"id":543,"className":544},"the-system-dynamics-modeler-and-netlogo",[14],[16,546,549],{"className":547,"href":548},[19],"#the-system-dynamics-modeler-and-netlogo","The System Dynamics Modeler and NetLogo",[22,551,552],{},"The diagram you create with the System Dynamics Modeler, and the procedures\ngenerated from your diagram, are part of your NetLogo model. When you a save the\nNetLogo model, your diagram is saved with it, in the same file.",[58,554,556],{"id":555},"tutorial-wolf-sheep-predation",[16,557,559],{"id":558,"href":52},"tutorial","Tutorial: Wolf-Sheep Predation",[22,561,562],{},"Let’s create a model of Wolf-Sheep Predation with the System Dynamics Modeler.",[78,564,567],{"id":565,"className":566},"step-1-sheep-reproduction",[14],[16,568,571],{"className":569,"href":570},[19],"#step-1-sheep-reproduction","Step 1: Sheep Reproduction",[573,574,575],"blockquote",{},[26,576,577,580],{},[29,578,579],{},"Open a new model in NetLogo.",[29,581,582,583],{},"Launch the System Dynamics Modeler in the Tools menu. ",[167,584],{"alt":585,"className":586,"src":587,"width":588,"height":589,"style":590},"systemdynamics/tutorial1.png",[171],"/_content/images/systemdynamics/tutorial1.png",285,563,{"aspectRatio":591},"285/563",[22,593,594],{},"Our model will have a population of wolves and a population of sheep. Let’s\nstart with the sheep. First, create a Stock that holds a population of Sheep.",[573,596,597],{},[26,598,599,611],{},[29,600,601,602],{},"Press the Stock button in the toolbar. ",[167,603],{"alt":604,"className":605,"src":606,"width":607,"height":608,"style":609},"systemdynamics/tutorial2-0.png",[171],"/_content/images/systemdynamics/tutorial2-0.png",238,61,{"aspectRatio":610},"238/61",[29,612,613],{},"Click in the diagram area.",[22,615,616,617],{},"You see a Stock with a red question-mark in the middle. ",[167,618],{"alt":619,"className":620,"src":621,"width":622,"height":623,"style":624},"systemdynamics/tutorial2-1.png",[171],"/_content/images/systemdynamics/tutorial2-1.png",720,453,{"aspectRatio":625},"720/453",[573,627,628],{},[26,629,630,633,639,645],{},[29,631,632],{},"Double-click the Stock to edit.",[29,634,635,636],{},"Name the stock ",[281,637,638],{},"sheep",[29,640,641,642,341],{},"Set the initial value to ",[281,643,644],{},"100",[29,646,647,648],{},"Deselect the Allow Negative Values checkbox. It doesn’t make sense to have\nnegative sheep! ",[167,649],{"alt":650,"className":651,"src":652,"width":653,"height":654,"style":655},"systemdynamics/tutorial2-2.png",[171],"/_content/images/systemdynamics/tutorial2-2.png",403,230,{"aspectRatio":656},"403/230",[22,658,659],{},"Our sheep population can increase if new sheep are born. To add this to our\ndiagram, we create a Flow into the stock of sheep.",[573,661,662],{},[26,663,664,667,673],{},[29,665,666],{},"Click on the Flow button in the toolbar and press the mouse button in an\nempty area to the left of the sheep Stock. Drag the Flow to the right until\nit connects to the sheep Stock and let go.",[29,668,669,670,341],{},"Edit the Flow and name it ",[281,671,672],{},"sheep-births",[29,674,675,676,679],{},"For now, enter a constant, such as ",[281,677,678],{},"1",", into the Expression field.",[22,681,682],{},"The number of sheep born during a period of time depends on the number of sheep\nthat are alive: more sheep means more reproduction.",[573,684,685],{},[26,686,687],{},[29,688,689,690,692,693,695],{},"Draw a Link from the ",[281,691,638],{}," Stock to the ",[281,694,672],{}," Flow.",[22,697,698],{},"The rate of sheep births also depends on some constant factors that are beyond\nthe scope of this model: the rate of reproduction, etc.",[573,700,701],{},[26,702,703,713],{},[29,704,705,706,709,710,341],{},"Create a Variable and name it ",[281,707,708],{},"sheep-birth-rate",". Set its value to ",[281,711,712],{},"0.04",[29,714,689,715,717,718,341],{},[281,716,708],{}," Variable to the ",[281,719,672],{},[22,721,722,723],{},"Your diagram should look something like this: ",[167,724],{"alt":725,"className":726,"src":727,"width":728,"height":729,"style":730},"systemdynamics/tutorial5.png",[171],"/_content/images/systemdynamics/tutorial5.png",344,168,{"aspectRatio":731},"344/168",[22,733,734],{},"Our diagram has the correct structure but we aren’t yet finished because it the\namount of sheep flowing into the stock doesn’t depend upon the number of sheep\nand sheep birth rate.",[573,736,737],{},[26,738,739],{},[29,740,741,742,744,745,341],{},"Edit the ",[281,743,672],{}," Flow and set the expression to\n",[281,746,747,294,750,294,754],{},[284,748,708],{"className":749},[287,298],[284,751,753],{"className":752},[287,288],"*",[284,755,638],{"className":756},[287,298],[22,758,759,760],{},"We now have a complete diagram. To see the NetLogo code generated by our\ndiagram, you can click on the Code tab of the System Dynamics Modeler window. It\nlooks like this: ",[167,761],{"alt":762,"className":763,"src":764,"width":765,"height":766,"style":767},"systemdynamics/tutorial8.png",[171],"/_content/images/systemdynamics/tutorial8.png",806,474,{"aspectRatio":768},"806/474",[78,770,773],{"id":771,"className":772},"step-2-netlogo-integration",[14],[16,774,777],{"className":775,"href":776},[19],"#step-2-netlogo-integration","Step 2: NetLogo Integration",[22,779,780,781,784,785,788,789,139,791,793],{},"Once you create an aggregate model with the System Dynamics Modeler, you can\ninteract with the model through the main NetLogo interface window. Let’s build\nour NetLogo model to run the code generated by our diagram. We’ll need a ",[281,782,783],{},"setup","\nand ",[281,786,787],{},"go"," buttons which call the ",[281,790,486],{},[281,792,490],{},"\nprocedures created by the System Dynamics Modeler. And we’ll want a monitor and\na plot to watch the changes in sheep population.",[573,795,796,804,818,875],{},[26,797,798,801],{},[29,799,800],{},"Select the main NetLogo window",[29,802,803],{},"In the Code tab, write:",[805,806,807],"pre",{},[281,808,809,810,294,815],{},"   ",[284,811,814],{"className":812},[287,813],"keyword"," to",[284,816,783],{"className":817},[287,298],[805,819,820],{},[281,821,822,823,828,822,831,834,809,836,840,842,809,844,294,847,850,822,852,855,822,857,294,860,865,822,867,870,809,872],{},"      ",[284,824,827],{"className":825},[287,826],"command","ca",[829,830],"br",{},[284,832,486],{"className":833},[287,298],[829,835],{},[284,837,839],{"className":838},[287,813]," end",[829,841],{},[829,843],{},[284,845,814],{"className":846},[287,813],[284,848,787],{"className":849},[287,298],[829,851],{},[284,853,490],{"className":854},[287,298],[829,856],{},[284,858,539],{"className":859},[287,826],[284,861,864],{"className":862},[287,863],"string","\"populations\"",[829,866],{},[284,868,494],{"className":869},[287,298],[829,871],{},[284,873,839],{"className":874},[287,813],[26,876,877,880,886,891,896],{},[29,878,879],{},"Move to the Interface tab",[29,881,882,883,885],{},"Create a ",[281,884,783],{}," button",[29,887,882,888,890],{},[281,889,787],{}," button (don’t forget to make it forever)",[29,892,882,893,895],{},[281,894,638],{}," monitor.",[29,897,898],{},"Create a plot called “populations” with a pen named “sheep”.",[22,900,901],{},"Now we’re ready to run our model.",[573,903,904],{},[26,905,906,909],{},[29,907,908],{},"Press the setup button.",[29,910,911,912,914],{},"Don’t press the “go” button yet. Instead, type ",[281,913,787],{}," four or five times into\nthe Command Center.",[22,916,917],{},"Notice what happens. The sheep population increases exponentially. After four or\nfive iterations, we have an enormous number of sheep. That’s because we have\nsheep reproduction, but our sheep never die.",[22,919,920],{},"To fix that, let’s finish our diagram by introducing a population of wolves\nwhich eat sheep.",[78,922,925],{"id":923,"className":924},"step-3-wolf-predation",[14],[16,926,929],{"className":927,"href":928},[19],"#step-3-wolf-predation","Step 3: Wolf Predation",[573,931,932,971,1060],{},[26,933,934,937,940,952,959],{},[29,935,936],{},"Move back to the System Dynamics window",[29,938,939],{},"Add a stock of wolves",[29,941,942,943],{},"Add Flows, Variables and Links to make your diagram look like this:\n",[167,944],{"alt":945,"className":946,"src":947,"width":948,"height":949,"style":950},"systemdynamics/tutorial9.png",[171],"/_content/images/systemdynamics/tutorial9.png",505,351,{"aspectRatio":951},"505/351",[29,953,954,955,958],{},"Add one more Flow from the ",[281,956,957],{},"wolves"," Stock to the Flow that goes out of the\nSheep stock.",[29,960,961,962],{},"Fill in the names of the diagram elements so it looks like this:\n",[167,963],{"alt":964,"className":965,"src":966,"width":967,"height":968,"style":969},"systemdynamics/tutorial10.png",[171],"/_content/images/systemdynamics/tutorial10.png",492,355,{"aspectRatio":970},"492/355",[22,972,973,974,976,977,980,981,984,985,980,997,976,999,487,1002,976,1005,980,1008,984,1011,980,1035,984,1037,491,1040,976,1043,341],{},"where initial-value of ",[281,975,957],{}," is ",[281,978,979],{},"30",", ",[281,982,983],{},"wolf-deaths"," is\n",[281,986,987,294,990,294,993],{},[284,988,957],{"className":989},[287,298],[284,991,753],{"className":992},[287,288],[284,994,996],{"className":995},[287,298],"wolf-death-rate",[281,998,996],{},[281,1000,1001],{},"0.15",[281,1003,1004],{},"predator-efficiency",[281,1006,1007],{},".8",[281,1009,1010],{},"wolf-births",[281,1012,1013,294,1016,294,1019,294,1022,294,1025,294,1029,294,1032],{},[284,1014,957],{"className":1015},[287,298],[284,1017,753],{"className":1018},[287,288],[284,1020,1004],{"className":1021},[287,298],[284,1023,753],{"className":1024},[287,288],[284,1026,1028],{"className":1027},[287,298],"predation-rate",[284,1030,753],{"className":1031},[287,288],[284,1033,638],{"className":1034},[287,298],[281,1036,1028],{},[281,1038,1039],{},"3.0E-4",[281,1041,1042],{},"sheep-deaths",[281,1044,1045,294,1048,294,1051,294,1054,294,1057],{},[284,1046,638],{"className":1047},[287,298],[284,1049,753],{"className":1050},[287,288],[284,1052,1028],{"className":1053},[287,298],[284,1055,753],{"className":1056},[287,288],[284,1058,957],{"className":1059},[287,298],[26,1061,1062],{},[29,1063,1064,1065,1067,1068,1070,1071,1074,1075,1076],{},"Adjust the ",[281,1066,120],{}," of the system dynamics model by selecting “Edit” next to\n",[281,1069,120],{}," in the toolbar of the system dynamics modeler. In the dialog that\nappears, enter ",[281,1072,1073],{},"0.01",".\n","\n  ",[167,1077],{"alt":1078,"style":1079,"src":1080,"width":1081,"height":1082},"screen shot","height: auto; width: auto; max-width: 40%; max-height: 40%; aspect-ratio: 1002/634;","/_content/images/systemdynamics/setdtexample.png",1002,634,[22,1084,1085],{},"Now we’re really done.",[573,1087,1088],{},[26,1089,1090,1093,1096],{},[29,1091,1092],{},"Go back to the main NetLogo window",[29,1094,1095],{},"Add a plot pen named “wolves” to the population plot",[29,1097,1098,1099,139,1101,1103],{},"Press ",[281,1100,783],{},[281,1102,787],{}," to see your System Dynamics Modeler diagram in\naction.",[22,1105,1106,1107],{},"You see a plot of the populations that looks like this: ",[167,1108],{"alt":1109,"className":1110,"src":1111,"width":1112,"height":1113,"style":1114},"systemdynamics/tutorial11.png",[171],"/_content/images/systemdynamics/tutorial11.png",688,462,{"aspectRatio":1115},"688/462",{"title":1117,"searchDepth":1118,"depth":1119,"links":1120},"",5,3,[1121,1126,1137],{"id":60,"depth":1122,"text":64,"children":1123},2,[1124,1125],{"id":80,"depth":1119,"text":86},{"id":124,"depth":1119,"text":130},{"id":158,"depth":1122,"text":162,"children":1127},[1128,1135,1136],{"id":179,"depth":1119,"text":185,"children":1129},[1130,1132,1133,1134],{"id":195,"depth":1131,"text":201},4,{"id":353,"depth":1131,"text":359},{"id":383,"depth":1131,"text":389},{"id":406,"depth":1131,"text":412},{"id":439,"depth":1119,"text":445},{"id":543,"depth":1119,"text":549},{"id":555,"depth":1122,"text":559,"children":1138},[1139,1140,1141],{"id":565,"depth":1119,"text":571},{"id":771,"depth":1119,"text":777},{"id":923,"depth":1119,"text":929},"Guide to using NetLogo's System Dynamics Modeler for creating stock and flow models with aggregate modeling approaches.","md",{"source":1145,"metadataOutputPath":1146,"projectConfig":1147,"language":1154,"inheritFrom":1163,"output":1162,"version":1148,"keywords":1164,"tags":1169,"assetsRoot":1170},"autogen/systemdynamics.md","content/systemdynamics.metadata.yaml",{"version":1148,"projectRoot":341,"scanRoot":1149,"outputRoot":1150,"defaults":1151,"engine":1157,"partials":1158,"dedupeIdenticalDiskWrites":1162},"7.0.4","autogen","content",{"inheritFrom":1152,"language":1154,"output":1155,"extension":1143,"title":1156,"version":1148},[1153],0,"en",false,"NetLogo User Manual","handlebars",{"directoryPaths":1159,"extensions":1160},[341],[1161,1143],"mustache",true,[1153],[1165,1166,1167,1168],"System Dynamics","Stock and Flow","Modeling","NetLogo",[1165,1166,1167],"/home/runner/work/Helio/Helio/apps/docs/autogen","/systemdynamics",{"title":5,"description":1142},"systemdynamics","Gh8TQtPGLf4Uvn9NEU5Q1fUj5TiLlUJ5YQ27Y-WFYIk",[1176,1181],{"title":1177,"path":1178,"stem":1179,"description":1180},"Simple R Extension Dictionary: show-console","/sr/show-console","sr/show-console","Documentation for the show-console primitive.",{"title":1182,"path":1183,"stem":1184,"description":1185},"Table Extension","/table","table","Documentation for the Table extension.",1777657789218]