Tutorial: Advanced System Dynamics Modelling

From End-User Wiki
Revision as of 08:50, 23 September 2010 by Teemu Lempinen (talk | contribs)
Jump to: navigation, search

System dynamics modelling in Simantics is another free domain specific modelling tool that is included into the basic installation. This tutorial introduces the basic features of the system dynamcics modelling tools.


In this tutorial, we are going to bild a work model with two projects and shared workforce. Both the workforce and a separate project (work) are going to be created as modules, so they can be reused several times. Actually the model doesn't limit the number of projects at all.

Creating model and modules

Let's start by creating the work model and the needed modules. First create a new model by right-clicking on the model browser and selecting New->Model. Alternatively you can select File->New Model from the main menu.

Then create two new modules to your model. Right-click on the Modules folder and select New->Module.

Name your model WorkModel and modules Workforce and Work. You can rename them by right-clicking on the item on the model browser and selecting Rename.

Creating a new model
Creating a new module
Model after renaming

Initial configuration

Workforce and Work modules

We will use a top-down approach in our model, so first we will make a simple model configuration with our modules. Open our model configuration by double-clicking Configuration in your model browser.

Drag one Workforce module and one Work module from your model browser to the WorkModel diagram. The modules are automatically named with a suffix number. Rename the modules to Workforce and Work1. You can rename objects on the diagram by double-clicking them or selecting them with one click and renaming them on the properties view below the diagram.

Workforce and Work modules, first inputs and connections

When the modules are on the diagram, we should think what values we would like to get from the modules and what values would we like to use in the modules.

Workforce needs to know, how much work is required and it should give provide information on how much work can be done. To provide the information on how much work can be done, we need an input variable. Variables can be dragged to the diagram from Symbols view or by using shortcut keys (Shift+I for Input variable). Drag an input variable to the diagram and name it TotalPossibleWorkingSpeed.

Work module on the other hand provides information on how much work is required in it and it needs to know when the work has to be ready. Create an input variable RequiredWorkingSpeed1 and an auxiliary variable Work1CompletionTime and place all variables like in the picture on the right.

Connect the variables to modules using dependency connections (arrows). Connections are created by holding down Alt key and first clicking on the variable where to start the connection and then clicking on the variable where to end.