OpenModelica

The OpenModelica 1.12.0-dev.beta1 has been released. You can find the Windows builds here. The Linux and MacOS builds are available via the Download menu above.

OpenModelica 1.12.0-dev.beta1 release, August 31, 2017

Summary of most important improvements compared to 1.11 release:

  • A new (stand-alone) FMI- and TLM-based simulation tool OMSimulator, first version for connected FMUs, TLM objects, Simulink models (via wrappers), Adams models (via wrappers), BEAST models (via wrappers), Modelica models
  • Graphic configuration editing of composite models consisting of FMUs
  • Basic graphical editing support for state machines and transitions (no support for showing state internals on diagram layer, yet)
  • Faster lookup processing, making some libraries faster to browse and compile
  • Additional advanced visualization features for multibody animation
  • Increased library coverage including significantly increased verification coverage
  • Increased tool interoperability by addition of the ZeroMQ communications protocol
  • Further enhanced OMPython including linearization, now also working with Python 3
  • Support for RedHat/Fedora binary builds of OpenModelica

OpenModelica Compiler (OMC)

  • Faster lookup processing
  • Initializing external objects together with parameters
  • Handle exceptions in numeric solvers
  • Support for higher-index discrete clock partitions
  • Improved unit checking
  • Improved initialization of start values
  • Decreased compilation time of models with large size arrays
  • New approach for homotopy-based  initialization (still experimental)
  • A bunch of fixes: Bugs, regressions, performance issues
  • Improved Dynamic Tearing by adding constraints for the casual set
  • Improved module wrapFunctionCalls with one-time evaluation of Constant CSE-variables
  • Added initOptModule for inlineHomotopy
  • Added configuration flag tearingStrictness to influence solvability
  • New methods for inline integration for continuous equations in clocked partitions, now covering: ExplicitEuler, ImplicitEuler, SemiImplicitEuler and ImplicitTrapezoid
  • Complete implementation of synchronous features in C++ runtime
  • Refactored linear solver of C++ runtime
  • Improved Modelica_synchronous_cpp coverage
  • New common linear solver module, optionally sparse, for the C++ runtime
  • Coverage of most of the OpenHydraulics library
  • Improved coverage of ThermoSysPro, IdealizedContact and Chemical libraries
  • Support of time events for cpp-simulation and enabled time events in cpp-FMUs
  • Global homotopy method for initialization
  • Scripting API to compute accumulated errors (1-norm, 2-norm, max. error) of 2 time series

Graphic Editor OMEdit

  • Additional advanced visualization features for multibody animation (transparency, textures, change colours by dialog)
  • An HTML WYSIWYG Editor, e.g. useful for documentation
  • Support for choices(checkBox=true) annotation.
  • Support for loadSelector & saveSelector attribute of Dialog annotation.
  • Panning of icon/diagram view and plot window.
  • AutoComplete feature in text editing for keywords, types, common Modelica constructs
  • Follow connector transformation from Diagram View to Icon View.
  • Further stability improvements
  • Improved performance for rendering some icons using the interactive API
  • Improved handling of parameters that cannot be evaluated in Icon annotations
  • Graphic editing support for state machines and transitions
  • Interactive state manipulation for FMU-based animations

FMI Support

  • A new (stand-alone) FMI- and TLM-based simulation tool OMSimulator, first version (a main deliverable of the OPENCPS project, significant contributions and code donations from SKF)
  • Graphic configuration editing of composite models consisting of FMUs
  • Co-simulation/simulation of connected FMUs, TLM objects, Simulink models (via wrappers), Adams models (via wrappers), BEAST models (via wrappers), Modelica models.

Other things

  • Increased OpenModelica tool interoperability by adding the ZeroMQ communications protocol in addition to the previously available Corba. This also enables Python 3 usage in OMPython on all platforms.
  • Textual support through the OpenModelica API and graphical support in OMEdit for generation of single or multiple requirement verification scenarios
  • VVDRlib – a small library for connecting requirements and models together, with notions for mediators, scenarios, design alternatives
  • Further enhanced OMPython including linearization, now also working with Python 3.¨
  • Jupyter notebooks also supported with OMPython and Python 3
  • New enhanced library testing script (libraries.openmodelica.org/branches).
  • Addition of mutable reference data types in MetaModelica
  • Support for RedHat/Fedora binary builds of OpenModelica

·        Initializing external objects together with parameters

·        Handle exceptions in numeric solvers

·        Support for higher-index discrete clock partitions

·        Improved unit checking

·        Improved initialization of start values

·        New approach for homotopy-based  initialization (still experimental)

·        A bunch of fixes: Bugs, regressions, performance issues

·        Improved Dynamic Tearing by adding constraints for the casual set

·        Improved module wrapFunctionCalls with one-time evaluation of Constant CSE-variables

·        Added initOptModule for inlineHomotopy

·        Added configuration flag tearingStrictness to influence solvability

·        New methods for inline integration for continuous equations in clocked partitions, now covering: ExplicitEuler, ImplicitEuler, SemiImplicitEuler and ImplicitTrapezoid

·        Complete implementation of synchronous features in Cpp runtime

·        Refactored linear solver of Cpp runtime

·        Improved Modelica_synchronous_cpp coverage

·        Coverage of most of the OpenHydraulics library

Support of time events for cpp-simulation and enabled time events in cpp-FMUs
You are here: