Introducing EMSO – An open-source software for modelling, simulation and optimization

EMSO-ALSOCHi everyone, in this post I am going to write about an application I have been working since late 2011.

EMSO (abbr. of Environment for Modeling, Simulation and Optimization) is a whole environment which allows the user to do mathematical modeling, simulation, and optimization in an easy way. EMSO was developed by Rafael de Pelegrini Soares in 2001 as part of his MSc-project, but today it belongs to the Univesidade Federal do Rio Grande do Sul (UFRGS) and makes part of a big project called ALSOC (portuguese abbr. for Ambiente Livre para Simulação, Otimização e Controle de Processos).

Some of its main features

  • It is completely developed in C++.
  • Available mainly for Windows and Ubuntu (Linux) operating systems, although it can also be compiled for another platforms.
  • It is a modeling languaje indeed, so you don’t need any experience in programming.
  • It is an equation-oriented simulator and optimizer.
  • It counts with a big open-source  library of models.
  • It is among the few programs that allows automatic units checking and conversion.
  • Consistency analysis (degrees of freedom, dynamic degrees of freedom, units, etc.)
  • Actually allows to do steady-state and dynamic tasks in the fields of simulation, optimization, and parameter estimation; also allows to do sensitivity analysis, data reconciliation, process tracking and process control through OPC communication. It also allows coupling with another software as MATLAB, SIMULINK and/or SCILAB.
  • Allows the user to do simulations either using code-based models (via the EMSO editor) or block-oriented models (via the Diagram interface).
  • Automatic generation of model documentation through LATEX (if it is also installed).
  • Its funcionality can be exntended through User-Defined external routines such as solvers and/or plugins.

Basic instructions to download, install and pre-configure EMSO

  1. Go to to the Downloads tab of the ALSOC project web site.
  2. Select the packages according to your operating system. If you wish, you can also download the VRTherm thermodynamical package.
  3. In case of Windows OS’s just execute the EMSO downloaded package (*.EXE). (If you wish, don’t change the default installation options). If you downloaded the VRTherm package do the same with it.
  4. Once EMSO has been installed, you can open it just by clicking in its icon either on the desktop or in the Start>Programs folder.
  5. If you also downloaded the VRTherm package, you will notice that it is an standalone application, indeed, but it also can be used for computations inside EMSO. For such that end, we will need to configure the VRTherm-EMSO plugin in EMSO. So, let’s do it:
  • First, execute EMSO.
  • Go to the Config menu, and select Plugins
  • Write PP in the Type of the New Plugin frame.
  • Press the button next to File for searching and selecting the vrpp.dll in the C:/Program Files/VRTherm/ folder. The result must look like in this image
    setting VRTherm-EMSO
  • Once done, press Add Plugin, and then OK. You must restart EMSO to update the configuration.

Introducing the grafical interface (GUI) of EMSO

Every time you open EMSO, it will show you a graphical interface such as (click on the image to zoom):

EMSO gui

Where you can basically distinguish different areas:

  • Menu and standard toolbars. Show some basic tasks you can do in EMSO such as creating/opening/saving a file, creating a plot, re-doing or undoing operations, cut and paste, and running/pausing/stopping simulations, among others.
  • Explorer and Result panels. Explorer panel always shows you the different libraries installed and and the files you are working with. The Results panel shows the numerical resuts after doing any computation. Besides it allows you to select variables, make basic dynamic plots, and save/export the results obtained.
  • Problems, Console and Palette panels. The two first ones allows you to detect errors and warnings in a running computation. Errors and/or warnings are displayed in the Problems tab. The Console tab, on the other hand, reports the status when running a computation.The Palette tab shows you the different models you can use when doing Diagram-based modelling.
  •   EMSO’s Workspace. As its name says, it will always show you the interface to get the work done. Depending whether you are working with code-based or diagram-based models, it will display a text-based or a diagram-based model editor.

In my next posts, I will try to show you, through some basic examples, how to do some basic tasks in EMSO such as:

  • Building a basic model.
  • Building simulable models in EMSO.
  • Working with the Diagram interface in EMSO.
  • Doing optimization in EMSO.
  • Doing parameter estimation in EMSO.
  • Among others.

Until next post and have a nice day!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: