used for grade change optimization at Borealis

Borealis plant

Plastics manufacturer Borealis uses to develop a decision support system for grade changes. As competition gets fierce and prices on raw materials and products fluctuate, the ability to quickly respond to new market conditions is put into focus. In a collaboration with the departmens of Chemical Engineering and Automatic Control at Lund University, Borealis develops a model-based decision support system where Modelica-models for polyethylene production are optimized using the platform. Key technologies are model calibration and dynamic optimization of economic cost functions.  

The project is part of the Process Industrial Centre at Lund University (PIC-LU) and is funded by the Swedish Foundation for Strategic Research (Stiftelsen för Strategisk Forskning).

The project was recently reported in the Swedish journal Automation, see full article (used with permission).

Functional Mock-up Interface support in

One of strongest impressions from the 8th International Modelica Conference in Dresden was the overwhelming interest in the Functional Mock-up Interface (FMI). Several presentations and many discussions around the coffee tables centered around FMI-based applications and future extensions of FMI. 

As of version 1.5, import and export of Functional Mock-up Units (FMUs) is supported in The import feature can be used also with large scale FMUs from other FMI compliant tools such as Dymola and SimulationX, with simulation performance on par with what can be achieved natively with such tools. See the paper "Import and Export of Functional Mock-up Units in" for additional details.

The FMU import and export functionality in is easily accessible in the form of well tested and documented Python classes and functions. Simulation results are retrieved as Numpy arrays and can be analyzed, processed and visualized using standard Python functions. 

Compilation, loading and simulation of an FMU is performed by a few simple but powerful Python commands: 

# Import the function for compilation of models and the FMUModel class
from pymodelica import compile_fmu
from pyfmi import FMUModel

# Compile model
fmu_name = compile_fmu("VDP","")

# Load model
vdp = FMUModel(fmu_name)

# Simulate
res = vdp.simulate(final_time=10)

# Get the results
x1 = res['x1']
x2 = res['x2']
t  = res['time']

To try out the FMI features of by downloading the latest version from the Downloads page. goes to Dresden

The 8th International Modelica Conference in Dresden, March 20-22 2011, is a great opportunity to learn more about

Modelon will also have an exhibition where you may come to meet members of the development team.
See you all in Dresden! 1.5 released

We are pleased to announce that 1.5 is now available for download. This release contains several improvements, many of them targeted at strengthening the simulation capabilities of the platform.
With release 1.5, becomes the first open source platform to support export of Functional Mock-up Units from Modelica code.

  • Functional Mock-up Unit (FMU) export
  • Extended Modelica compliance in the compiler front-end
  • Equation sorting and BLT
  • Symbolic solution of simple equations
  • Improved simulation support for hybrid and sampled systems
  • Improved DAE initialization with Kinsol and SuperLU
  • Improved support for external functions

For additional information, see the release notes. A binary installer for Windows is available at the download page

Happy holiday season!

As 2010 is coming to an end, I wish all users, developers and collaborators a happy and restful holiday season. I also would like to thank the dedicated development team for all their efforts, and our users for their patience and enthusiasm. During this eventful year that saw many exciting developments, the project has grown, both in terms of developers and of users, and many new features have been added. The simulation package Assimulo was launched, the compiler front-end Modelica compliance was significantly improved, and FMI import support was implemented, just to mention a few of the highlights. 2011 is looking to be equally eventful, with FMU export, simulation support for hybrid and sampled systems, and support for a larger class of optimization problems on the roadmap. And don't forget to sign up for the tutorial at the Modelica Conference in Dresden in March - this is a great opportunity to learn more about the platform and to get hands-on experience. 
Best regards
Johan Åkesson 1.4 released 1.4 has been released! 

  • Improved Python user-interaction functions
    • Simplified compilation, loading, simulation and loading of models
    • Easy to use handling of compiler and algorithm options
    • Interactive documentation (docstrings) improved
    • Convenient access to simulation and optimization result using Python dictionaries
  • Improved Modelica compliance
    • Support for enumerations
    • Further improvements in the support for replaceable components and classes
    • Structural diagnosis for improved error reporting
    • Automatic addition of initial equations to obtain a balanced initialization system
  • Parametric sensitivity computations
    • Support for simulation of the sensitivity equations using the Sundials integrator suite

For additional information, see the release notes. A binary installer for Windows is available at the download page 1.3 released

We are proud to announce release 1.3! Some of the highlighs are:

  • Functional Mockup Interface (FMI) support
    • Load FMUs into the Python interpreter
    • Simulated FMU models using the Assimulo package
    • Run batch simulations and visualize using Python scripts
  • Support for minimum time optimization problems
    • Minimum time problems formulated in Optimica can now be translated and solved by the collocation optimization algorithm
  • Compiler frontend
    • The frontend has been improved to handle more complex cases of redeclarations
    • Support for one-to-one stream connections
  • Support for a class of external functions
    • External C functions with scalar inputs and outputs are supported

For additional information, see the release notes. A binary installer for Windows is available at the download page wishes you a great summer

The team wishes you a great summer with greetings from the Bavarian alps - we are looking forward to an exciting fall when we will see support for stream modeling and external functions, simulation of FMUs in Python and much more. Stay tuned for release 1.3.0 in the end of August! tutorial at Nordic Process Control Workshop 2010

In association with the upcoming conference Nordic Process Control Workshop, there will be a tutorial. The tutorial will be held on August 25 2010 and covers the topics:

  • Introduction to Modelica and
  • Scripting and visualization in Python
  • Solving optimal control problems
  • Parameter estimation

Please see the tutorial information page for the full program. 1.2.0b1 released

We are proud to present 1.2.0b1!  
New features in 1.2.0:

  • Modelica compliance in compiler front-ends
    • Arrays
    • Functions
    • Algorithms
  • Dynamic optimization algorithm
    • Automatic scaling of models
    • Piecewise constant control profiles in optimal control formulations supported
  • XML export
    • Model metadata export fully compliant with the Functional Mockup Interface (FMI)
    • Extended XML export of flattened, scalarized models, including user defined functions
  • Python
    • Intuitive high-level functions for common tasks, including optimization and simulation
    • High-quality linearization of DAE models computed by means of automatic differentiation
  • Assimulo
    • A Python package for simulation of dynamic models
    • Assimulo is the integrated simulation kernel of but may also be used stand-alone

 For more information, see the download page and the release notes.

Syndicate content