### Archive

Archive for May, 2010

Conveyors are useful model elements for representing pipelines or processes that take a certain amount of time to complete.  However, adding a leakage flow to a conveyor can make it difficult to initialize a model in steady-state.  The following discussion will explain how to initialize conveyors with leakage in steady-state.  Please refer to the model structure below while reading this discussion.

These additional variables will be also used:

transit_time = TRANSTIME(conveyor)
conveyor_length = transit_time/DT
leakage_fraction = the user-specified leakage fraction

Linear Leakage

The default leakage is linear in behavior.  The total amount that leaks across the length of the conveyor is directly proportional to the inflowing amount.  The leakage fraction is the constant of proportionality.  Thus, the fraction of inflowing material that makes it to the conveyor’s outflow is exactly

1 – leakage_fraction

Given the sample model structure above, to achieve equilibrium, conveyor_outflow must equal outflow.  For this to happen, we need to set the inflow as follows:

inflow = outflow/(1 – leakage_fraction)

The conveyor’s steady-state value is then:

conveyor = transit_time*inflow – (conveyor_length – 1)*leakage*DT/2

where the initial value of leakage is:

leakage = leakage_fraction*inflow

This must be calculated outside the program and entered as a constant into the conveyor as conveyors cannot be given equations (they can, however, be set to a the value of a single converter, but you must be careful how you calculate this to avoid circularity).

Exponential Leakage

Optionally, leakage can be made exponential.  The amount that leaks each DT is proportional to the amount remaining in the conveyor.  In this case, the leakage fraction is the fraction that leaks each unit of time so, for long conveyors, a lot of material can leak away.  Given the transit time, the fraction of inflowing material that makes it to the conveyor’s outflow is approximately

1 – (1 – leakage_fraction)^transit_time

Given the sample model structure above, to achieve equilibrium, conveyor_outflow must equal outflow.  For this to happen, we need to set the inflow as follows:

per_dt_no_leak = 1 – leakage_fraction*DT
inflow = outflow/(per_dt_no_leak^conveyor_length)

For steady-state, the conveyor itself must then be set as follows:

conveyor = (inflow*DT)*(1 – per_dt_no_leak^conveyor_length)/(1 – per_dt_no_leak)

Categories: Modeling Tips Tags:

## What’s New in isee NetSim 1.1?

Last week, we released version 1.1 of the isee NetSim software.  isee NetSim enables iThink and STELLA users to publish their models online so anyone can run them in a web browser.  Version 1.1 introduces several new features.  In this post I will share a couple of those that I am most excited about.

Since the debut of the isee NetSim software we have collaborated with Forio Business Simulations to provide free hosting for models published online.  Last year, I saw a demo of Forio’s new simulation service, Forio Simulate, in the early development stage.  It was awesome.  I couldn’t believe it—they added all of the Web 2.0 features I’d been dying for, and a slick, fun to use interface.  I knew we had to make isee NetSim work with it.

The new service is social by nature—it features keyword tagging, ratings, comments and built-in model sharing.  It’s like YouTube for simulations.  You can browse simulations and games that others have created, find similar ones by keyword tags, and embed simulations on blogs or web pages.  So you don’t have to be actively publishing your own simulations, or even be a modeler to get a lot of value from the site.  In fact, it’s a great way to introduce people to modeling and simulation.  Just post a link!

And if you are a modeler, you can get even more out of the service.  Most of the simulations published to Forio Simulate allow you to download or copy the underlying model that powers it.  Here at isee, we’ve uploaded the original iThink and STELLA models used to create all of our sample isee NetSim simulations.  That way anyone can run the simulation online in a browser and download the source model to dig into if they want more.  Take a look at isee systems’ models published on Simulate by clicking on the screen shot below.

The simulation overview page allows anyone to download the source model, rate, comment, add tags and embed the simulation on other web pages.

Anyone can use free hosting on Forio Simulate if the model contains 400 or fewer equations and is shared with other users of the service.  If you want to protect the model, resell a simulation, use a custom URL, etc., you can sign up for a premium hosting plan.  It’s easy to select a hosting plan when you upload your model with isee NetSim.

Graphical Input Device

Use the GID to change the price assumption

One of the most requested features for isee NetSim has been the graphical input device, or “GID” as we like to call it.  GIDs offer a simple way to allow people running your simulation to change the model assumptions.  Often it’s easier to sketch a curve of the behavior of a variable than to input numbers directly.

For example, the model below is a generic renewable-resource model that enables you to experiment with yield and price of a renewable-resource via GIDs.  The model is from our “Thinking in Systems” online course.  I published the model to Forio Simulate and then embedded it here.  Click the “Review model” link to take a brief tour of the model.

You can change the price elasticity and “yield per unit capital” curve by first clicking on one of the GIDs.  A window will pop open that displays the details of the curve.  Click and drag within the grid to draw a new curve.  Press “Ok” to apply the changes.  Take a few moments to play around with the model below.

[Editor’s note:  If you cannot see the embedded model below because you are reading this post in a feed reader or email, please visit the post page here]

What I find interesting after playing with this model is what happens when you start to push the yield up.  At some point the efficiency improves to the point where the renewable-resource gets completely wiped out.  Sometimes the inefficiencies of harvesting a resource can be a good thing—it gives the resource time to “catch up”.  This may be a useful point to consider when thinking about sustainable systems.  What happens when you make the resource inexpensive?

A GID for the web

You may have noticed that the GID within isee NetSim does not allow a user to type numbers to define data points or change the x and y ranges.  We decided this simpler version of the GID was a good fit for models published to the web and would cover most use cases.  The GID allows users to easily change the assumptions by sketching a behavior pattern and not really concern themselves with the data.

If you’ve been dying to publish models with GIDs online, now is your chance.  While you’re at it, check out Forio Simulate and start contributing to the growing simulation community.  You can download a trial of isee NetSim 1.1 here.  If you already own isee NetSim, visit your “My Software” page on the isee systems website to download the upgrade.

Categories: isee NetSim Tags: