**Notes on Lab #2**

- You can get the instructions here, and the entire set of .MDL files for this and future labs by right-clicking here and saving the zipfile to a convenient location, then unzipping it. Then when the instructions say “download the file ____ from the text’s website”, you can just drag it from the folder. The textbook section numbers in the instructions refer to the previous edition, but you don’t need to refer to the book to do the lab.
- Note that
**100e**is^{1.01t}*not*100 × 10^{1.01t}; this*e*is the natural base*e*(approximately 2.718), corresponding to the EXP function. - For this lab you should turn in a single .PDF writeup file, as well as individual model files. Because there will be so many files, please first create a folder in your Sakai dropbox with an appropriate name (
**lab2**), and then put the following files into that folder as you work through the lab:**levys_lab2.pdf****levys_lab2_unconstrainedError.mdl****levys_lab2_periodic.mdl****levys_lab2_pulse.mdl****levys_lab2_logicalIF.mdl****levys_lab2_logicalAND.mdl**I**levys_lab2_logicalOR.mdl****levys_lab2_logicalNOT.mdl****levys_lab2_dt.mdl****levys_lab2_comparative.mdl****levys_lab2_graphInput.mdl****levys_lab2_conveyor.mdl**

. The point of these first few labs is to get familiar with Vensim. I’d rather have you work slowly and steadily, understanding what you’re doing at every step, making nice clean models with no lines crossing, and putting the correct titles at the top of each model.

Don’t worry if you don’t complete all of these - In your writeup (PDF) file, please include the following, with appropriate label or brief description:
- Graph for
*population*and*growth_rate*(page 4) - Graph for
*population*and table for*growth*,*removal*, and*population*(page 5) - Answer to Quick Review Question 6 (page 6)
- Graph for for
*logcical_AND*(page 7, “Run the simulation and observe the effect…”) - Answers to Quick Review Question 11 parts b, c, d, f, h, i, j (pages 9-10)
- Answer to Quick Review Question 12 parts b, c, d, f, h, i, j (page 11)
- Answer to Quick Review Question 13 “Describe the shape of the graph and explain the results” (page 13)
- Graph and table for the
*conveyor*model (“Generate a graph for*processing*and a table containing*processing*and*total_out*“, page 13) - Answers to Quick Review Question 14 (page 13)

- Graph for
- The instructions may be somewhat confusing. Here are some hints:
- For the first model you’ll build (
**unconstrainedError**), the solution already exists in the folder you downloaded. I encourage you to build your own solution first, then compare it to the existing one. - If a variable or other piece of text appears jumbled together, you can fix it by clicking on the little variable tool and editing the variable name.
- For
**unconstrainedError**, the value for*result*is what you get from the population (from of the original model), and the value for*correct*is what you get from the analytical pollution.^{1} - When you rename and open the model for the first time, some of the variable names and comments may be messed up. Variable names can be cleaned up by clicking on the variable tool at the top and then clicking on the variable name. Comments can (and should) be cleaned up and correct by right-clicking on them.
- It may be easier to run some of the models without eliminating all errors. For example, in the
**unconstrainedError**model, you’ll get a model-check error saying that the relative error was not used in the model, but this will not prevent you from running the model and seeing the results. - In the
**periodic**model,- Just as you did in
**unconstrainedError**, use the “shadow” variable <Time> as the value for*t*, in the formula*a*sin(2 π*t*/*p*) +*h*. - You will have to set the
**growth_rate**variable to have type Auxiliary - For the constants
*a*,*p*, and*h*, you can just plug the appropriate values directly into the formula.

- Just as you did in
- For the PULSE_TRAIN model,
- the tutorial specifies
*initial_time*,*width*,*interval*, and*end_time*as the inputs. In the version of VensimPLE you are using, these may show up with different names, such as*start*,*duration*,*repeattime*and*end*. *growth*should have the same units as*removal*. For*amount_removed*the units should be bacteria/Hour; for*init_removal_time*, and*frequency_of_removal*, Hour.- It says to set
*frequency_of_removal*to 8, but to see periodic behavior within the eight-hour window, you’ll need to set it to a smaller value.

- the tutorial specifies
- For
**logicalAND**, one of De Morgan’s Laws should help you fill in the blanks.

^{1}In general, a model is used when you*don’t*have an analytical (simple, single-formula) solution. An analytical solution you may already know about is the Quadratic Formula for solving*ax*^{2}+*bx*+*c*= 0; the analytical solution is x = –*b*+/-√(*b*^{2}-4*ac*) / 2*a*. So why are we building a model here when we have an analytical solution? Probably because we are learning about how to evaluate models with respect to a correct answer. In a more realistic modeling situation, the correct answer would be real-world data. Here, we’re using an analytical solution instead.

- For the first model you’ll build (