Hello, everybody. My name is Rahmatollah Beheshti, and I'm with the Johns Hopkins Global Obesity Prevention Center. Today, we are going to look at the Vensim software and look at how we can read and run actually system dynamics model in the Vensim environment. There are a couple of notes that we need to notice before moving forward. The first one is that actually Vensim software is not the only one that is available out there. There are actually quite a few of them. I'm just going to show you how you can access a list of these softwares if you just Google for the system dynamics word. And then go to the Wikipedia page. And if you go here on the bottom of the page, you will see a link to list of system dynamics software. And one of the very very famous one is the other one is Simulink that usually comes with the Matlab package. And there are a couple of others that are also very popular. Actually it's interesting because the Vensim is not updated for a while. But I think Vensim is just more than enough for many of needs that we could have. And which the first one brings us to the second point being that in addition to learn how to read and wrong system dynamics model. Another important objective of today's session is to learn how to think in a systems way. How to understand why system dynamics could be helpful, what specific about this type of computational modeling techniques that make them very interesting for researchers, for policy makers. And what type of strengths, what type of power do they have in being able to understand. So with that introduction, I'm going to first show you how you can go and download the software itself, the Vensim software. So if you just Google for the word Vensim, and go to Vensim.com you will see a link to the download page. On the website of this software. And then you go to free downloads here. When you click on it, this page will be showed, will be shown to you. You need to specify that you are not a human by clicking here and choose the product that you want to download probably the latest version to which right now is 6.3. The type of platform you have, either Windows or Mac, and if you don't want to receive email unsubscribe here, and enter your name and email address. And note that this email address is going to be used for sending out the link for software to be downloaded to you. So, it should be an email that is working. So, the installation process is pretty straightforward and one common thing that I usually note is when people want to install the software and might have some difficulty. Is on the Mac systems, that the Apple operating system usually doesn't recognize Vensim, and you need to go to preferences in your machine, here it's in system preferences. And then go to security. And in case that you have this part first one chose, then the second one you need to first unlock this part. And you, you actually use the same logging in credentials that you use to enter your Mac and temporarily just click on anywhere to allow software, third party software to be installed on your Mac. With that introduction, let's just go to the software. So after you install the software, you're going to have this page open to you. So for today's presentation, we are going to just work on a model and example that comes pre-installed with Vensim software. In order to access that you need to go to the help menu here on top and if you click on Vensim manuals it will bring you to a local address. Here you can see in my case which if you don't change it would be similar for you also. Is located on Users/Shared/Vensim/Help/index.html. I'm going to use the same path here to open an existing model by clicking here on top the open model button. When I click it it just brings me this dialog box. And here, let's just start from the beginning. So Users > Shared > Vensim > Help > Models > UserGuide And I'm going to use the example on chapter eight. In the complete folder, and I'm going to open this first example, Rabbit.MDL. I'm not going to change the screen ratio so let's just make this a bit bigger. Okay. So this is the model that we're going to work on today. So before going to more details, let's just spend a minute and talk about what's this model about. So this model is about how rabbit population changes. So we all know that rabbits multiply. And we also know that they don't multiply forever. And here we are trying to understand how rabbit are born and how they die. And here also, here on the bottom we have the effects of the availability of resources. In case of rabbit it could be grass. Right? And we are trying to understand the dynamics of rabbit population. So let's just start to work with this model. So when you have system dynamics or SD for short, I'm going to use from now on. When you have a esteem model, and you open it here on Vensim environment, you're going to have a big blank area here that is like in the middle. And you have a set of sketch toolbars here on top. As you can see, we are not going to use most of them for today's presentation but later for building a estimodel from scratch, we are going to use many of them. And here on left side, you have a set of tools for analyzing your model. And also here on the bottom, you have a set of tools for formatting. And if you have different views in your model, you can navigate through them here, which we don't have for this model. So one interesting thing in Vensin software is that when you click on any variable, that becomes the active variable to Vensin. And then all of this left side tools will work on that specific variables. So for instance, I can just see how birth rate is affecting other components of my model by clicking on birth rate first. Now notice that this is selected, and then I come here and click on Uses Tree. And it shows me that birth rate is connected to birth and then rabbit population. Similarly I could do for birth the same thing. And I can also click here on the variables. It's a live diagram. If I click on this, this would become the active variable. So now if I click on Causes Tree, it will work on this. You can see that it shows me that how this is being affected by other components of our model. So let's just close all of these windows. I can also come here on top and click on these windows to go back to the main area. So in addition to this top tools, we also have the tools for documenting all different aspects of our model. So here you can see that for instance here our model is going to be simulated for 30 years and our units are each year. And let's just pause for a second and think more about this part. Because it's just very important to recognize the importance of the time in any system dynamics model. Because even in the word system dynamics, we have the dynamic part. So that's coming from the time that is a part of each system dynamics model. So the idea is that when we have time, in every time step that the whole calculation is happening. So you can compare it against like casual or traditional models by comparing photography against movie. So photography is static and movie has like a time element on it. So when you simulate your model, it's going to be simulated for that whole time, and every time a step, actually. Its calculation is going to be happening. So, if we want to look at inside the model and see what is happening inside our model, we need to come here and click here on top on equations. And then, if I click on any variable, for instance, if I click on Rabbit Population, it's just going to open a dialogue box for this specific variable for me, as you can see here. So in a variable dialogue box, you have access to the name of the variable, the type of the variable. In this case, since it's just a stock variable, we have a level type, it just works like a bathtub, right. And we have units, the number of rabbits here. We have some other tools and boxes that are not very important for us now. We can navigate to different variables if we want. For instance, if I just want to move to death from here, if I click here, then death would be the active variable. And here on the bottom left, I have some pre-defined functions that comes with the Vensin software. I have numeric keypad buttons here, and also I can access to the variables that are connected to my variable that is active now. So I can look at all of these variables if I want. So let's just try to understand how this model is working, so that's the whole purpose of all today's tutorial. So birth rate actually is a constant, it's equal to a constant number. And the rabbit population, the way it works when I click on it, it's just going to open the variable box for me. It's equal to number of births minus death, and it has an initial population, which is determined here by this variable, auxiliary variable, initial population that you can see is equal to 1,000. So we have 1,000 rabbits at the beginning. And then when I click on birth, it shows me that the birth rate that we have here on the left side is equal to rabbit population times birth rate. And also this, I can also navigate to this using this right top part. When I click on death, it's just going to show me that this is equal to rabbit population divided by average lifetime times effect of rabbit crowding on death. So probably it's just a very good idea to spend some time trying to understand why this equation makes sense and what is happening here and. But, it's also important to note that for instance, the effect of rabbit crowding on death has a direct relation with the deaths. So it means that when the effect of rabbit crowding on deaths in our model goes up, the number of rabbit deaths will also go up. And it's also important to note that many of this equation are up to the designer. When you design a model, you are almost free to come up with your own way of doing that, but what's important to just have a logical way of presenting what you have in mind. So let's just move on. And if you also click here on effect of rabbit crowding on death, it's going to open this dialogue box for you, which this is a specific case. First of all, I just want to have you note that this is dimensionless variable. As you can see it has no dimension, it has no unit. And this one is a specific case which is working with the look-up function. So the idea in the look-up function is that sometimes you cannot have a clear equation or a clear function so that you have x and f(x). So the way the lookup table works is that you come up with a That indicates what would be f of x for each x and actually, you can do it here using as graph. And you can enter x and f of x here, or you can even click here and add more notes to the diagram. Then will interpolate those dots to each other. We can now go forward and try to simulate the model, but before doing that it's just a very good practice before actually trying to see the results, try to pause for a second. And try to predict what you expect to see. For instance in this case, what do you expect to see for rabbit population? Are you expecting to see rabbit population to increase at constantly, or do you expect them to become fixed at some point? So I'm going to pause you for a second. Now. Let's just go and simulate it. I'm going to enter a scenario name first here. For instance baseline, and then I'm going to click here on Simulate button which is just I will say some sort of bugs with this software that these two buttons are a bit hard to read. This one is Simulate, this one is SyntheSim. So when I click on Simulate, it's just going to simulate the whole thing very fast. Actually if you remember from this part. Here document we had a 30 years of simulation right. So you can see that for 30 years of simulations, it's just going to show us the rabbit population it starts to increase and at some point start to become fixed. And if I click on any of these variables, for instance this that will become the active variable. And then I can use these graph tools on the left of table two. And if I click on this graph tool, it's just going to show me the number of deaths per year. Also I can click here on causes of that shows me the number of deaths, and also let me just move them to the right side so you can compare them. So it's just going to show me the number of deaths and also rabbit population. And effect of rabbit crowding on death. Those two that are connected to the death. And you can also see that on a table mode which shows you the numbers that you just produced. So if I just want to have another scenario that I change something and then I come back and compare, what happens to my model I can just go here and have a new scenario, which I'm going to call it for instance test. And this time, let me also close this one. This time instead of clicking on simulate, I'm going to use the right one, SyntheSim. I'm going to click on SyntheSim and now you can see that first of all we have a new component added to this graph. And you can see that all our model is in a live mode, so we can actually play with these sliders, for instance, change the birth rate, and see what happens to our model. Or any other variable here, average lifetime going from eight to, for instance, 14 years. If we wanted to switch back to the original configuration, we can come here. And as you can see, the same problem exists here. This one resets only that last variable. This one resets all of them. So if I click here just going to go back to the beginning of my simulation. So now I can play with these sliders. Let's just assume that I want to have 2,000 rabbits. I can do it here or click on this arrow and enter it here, 2,000 and hit OK. You can see that now I can compare these two. So if you come here to the control panel on the top right and click on it, then you have access to these data sets, that you can see actually, you have two data sets, test and baseline. So you can either load or unload them here. And it's useful out and you can see that it shows you that this data set is loading. And it's useful when you have like tens of different data sets and you only need to compare those two last ones. Let me just close this. And if it happened that you just forgot what did you actually change between these two different runs you can come here on the left side and click on runs. Compare, and you can see that here it tells me that for baseline here I had 1,000. The carrying capacity will equal to 1000. And in the test run, it was 2000. So I'm going to stop here, but I'm going to encourage you to spend some more time on this model trying to understand better how different equations are entered. What's the meaning of them and also try to play with different variables.