OpenModelica Changelog

What's new in OpenModelica 1.22.2

Feb 22, 2024
  • A critical bug when handling connections that causes OMEdit to crash when editing them was fixed
  • Moving components around in diagrams in OMEdit is now much faster and responsive
  • Several fixes to diagram visualization and parameter inputs in OMEdit
  • Much faster FMU code export thanks to the clang compiler and parallel C source code compilation

New in OpenModelica 1.21.0 (Sep 27, 2023)

  • The 1.21.0 release of OpenModelica doesn't contain any major new feature, but it contains many improvements and bugfixes that significantly improved the quality of the software with respect to the previous 1.20.0 release.
  • The new single-step gbode solver has been further developed and can now be used as a serious alternative to the more established dassl, ida, and cvode solvers. A full-fledged GUI for its configuration is still not available and will be added in future versions. Currently, the method defaults to esdirk4, a general-purpose 4-th order implicit method. Other methods can be set with the -gbm simulation flag, and each method now automatically selects the best advanced options. All solvers use variable step-size with error control by default, but they can be turned to fixed time step by adding the -gbctrl=const simulation flag.

New in OpenModelica 1.20.0 (Dec 8, 2022)

  • Release Notes for OpenModelica 1.20.0:
  • The first most notable feature of this release is the automatic installation of the Modelica Standard Library (MSL), which is now fully integrated with the Package Manager. Every time any tool of the OpenModelica suite (e.g. OMEdit, OMNotebook, OMShell, etc.) attempts to load a version of the MSL, it checks if it has already been installed in the user's set of system libraries, which is handled by the Package Manager and is located in the user's .openmodelica directory. If that directory is empty, either because of a fresh install, or because it has been deleted, then the MSL is automatically installed in the user's system libraries from cached zip files in the OpenModelica installation directory; in fact, both MSL 3.2.3 (which is backwards compatible with 3.2.2 and 3.2.1) and 4.0.0 are installed, so that any library created during the last ten years can run out of the box.
  • This automatic installation does not require any Internet connection, so it also works behind corporate firewalls or in situations with limited available bandwidth. This solution uses the same package manager that is also used to install other system libraries, contrary to the solution implemented in versions 1.18.0 and 1.19.x, which used two different directories in the MODELICAPATH, one for the package manager and one for the preinstalled MSL, leading to slightly confusing duplicate installations of MSL.
  • OMEdit loads MSL 4.0.0 by default in the Libraries Browswer. However, if one then loads a package using MSL 3.2.3, it is possible to unload MSL 4.0.0 and load MSL 3.2.3 just with a click of a button.
  • The second most notable feature is that a new general purpose ODE solver, named gbode, was introduced. This solver is a fully configurable single-step solver, supporting many different integration methods, both explicit and implicit, using either fixed time step or variable time step with error control, handling event detection and dense output for accurate resampling over a regular time grid. Implemented methods include Euler, Heun, Dormand-Prince, Gauss, Radau, Lobatto, Adams-Moulton, Fehlberg, SDIRK, ESDIRK, etc. Adaptive multi-rate algorithms are also available within this solver, although this feature is still experimental. This solver replaces previously available solvers like euler, impeuler, trapezoid, etc., which are now deprecated and will be removed in future versions of the tool.
  • The gbode solver is currently only available via simulation flags, which can be set in OMEdit under Simulation Setup | Simulation Flags | Additional Simulation Flags (optional). It will be supported via drop-down menus in future releases. See the User's Guide under ?Solving Modelica Models for further information.
  • OpenModelica Compiler (OMC):
  • The new front end has been further improved, with over a dozen ?bug fixes.
  • Some issues were fixed in the current backend, although most of the development work is now focused on the new backend, which can be optionally activated with the --newBackend compiler flag, and will become the default choice in a future release.
  • Regarding code generation ?several issues were fixed, including one that affected the ExternalMedia library, which is now fully supported by OpenModelica.
  • C Runtime:
  • Besides introducing the new gbode solver, some other issues were fixed. The support for external input from CSV files was improved and better documented. See ?here for a full list of closed issues.
  • Graphical Editor OMEdit:
  • Besides improved support of the Modelica Standard Library with the package manager, over a dozen issues were fixed, see ?the full list.
  • FMI:
  • Main highlights:
  • The FMI import feature allows to import an FMU as a block in a Modelica model. This feature was broken in versions 1.18.0 and 1.19.0, it is now functional again, with some limitations, see the ?User's Guide for further information. Support for this feature must be explicitly activated with the Enable FMU Import checkbox in the Tools | Options | Simulation | Translation Flags tab of OMEdit.
  • Support of FMI code generation using CMake, see the documentation in the ?User's Guide.
  • Bug fixes.

New in OpenModelica 1.20.0 Dev Beta 1 (Nov 15, 2022)

  • The first most notable feature of this release is the automatic installation of the Modelica Standard Library (MSL), which is now fully integrated with the Package Manager. Every time any tool of the OpenModelica suite (e.g. OMEdit, OMNotebook, OMShell, etc.) attempts to load a version of the MSL, it checks if it has already been installed in the user's set of system libraries, which is handled by the Package Manager and is located in the user's .openmodelica directory. If that directory is empty, either because of a fresh install, or because it has been deleted, then the MSL is automatically installed in the user's system libraries from cached zip files in the OpenModelica installation directory; in fact, both MSL 3.2.3 (which is backwards compatible with 3.2.2 and 3.2.1) and 4.0.0 are installed, so that any library created during the last ten years can run out of the box.
  • This automatic installation does not require any Internet connection, so it also works behind corporate firewalls or in situations with limited available bandwidth. This solution uses the same package manager that is also used to install other system libraries, contrary to the solution implemented in versions 1.18.0 and 1.19.x, which used two different directories in the MODELICAPATH, one for the package manager and one for the preinstalled MSL, leading to slightly confusing duplicate installations of MSL.
  • OMEdit loads MSL 4.0.0 by default in the Libraries Browswer. However, if one then loads a package using MSL 3.2.3, it is possible to unload MSL 4.0.0 and load MSL 3.2.3 just with a click of a button.
  • The second most notable feature is that a new general purpose ODE solver, named gbode, was introduced. This solver is a fully configurable single-step solver, supporting many different integration methods, both explicit and implicit, using either fixed time step or variable time step with error control, handling event detection and dense output for accurate resampling over a regular time grid. Implemented methods include Euler, Heun, Dormand-Prince, Gauss, Radau, Lobatto, Adams-Moulton, Fehlberg, SDIRK, ESDIRK, etc. Adaptive multi-rate algorithms are also available within this solver, although this feature is still experimental. This solver replaces previously available solvers like euler, impeuler, trapezoid, etc., which are now deprecated and will be removed in future versions of the tool.
  • The gbode solver is currently only available via simulation flags, which can be set in OMEdit under Simulation Setup | Simulation Flags | Additional Simulation Flags (optional). It will be supported via drop-down menus in future releases. See the User's Guide under ​Solving Modelica Models for further information.

New in OpenModelica 1.19.2 (Jul 9, 2022)

  • Version 1.19.2 is a bugfix release, were some critical bugs that were present in 1.19.0 got fixed.
  • The most important one is ​#8772: parameter dependencies were not handled correctly in some cases, leading to some parameters being wrongly evaluated to zero, which also impacted multibody system animations, see ​#8938.
  • Some further remaining issues with directory names containing accented letters were fixed in ​#8777. A problem with the delay operator was also fixed, see ​#9116.

New in OpenModelica 1.19.0 (Jun 3, 2022)

  • OpenModelica Compiler (OMC):
  • The new front end has been further improved, with over 40 ?bug fixes.
  • Several issues were fixed in the backend, most notably problems affecting event generation and issues involving algorithms and arrays, which led to a wrong diagnosis of under-determined system of equations. Overall, over ?15 issues were addressed.
  • Regarding code generation ?5 issues were fixed, mostly concerning corner cases that involved arrays, record, and slicing operators.
  • C Runtime:
  • Remaining issues concerning Clock variables were resolved; so, starting from this version, the synchronous features of the Modelica language, in particular the Modelica.Clocked library, are now fully supported. The configuration of runtime and external libraries on Windows was substantially improved. A bug was fixed in daeMode that prevented correct event handling in state-less models, which now run correctly. Overall about ?20 issues were fixed.
  • Graphical Editor OMEdit:
  • The most important new feature in 1.19.0 is the fully integrated package management and conversion script support in the GUI. We suggest you to read the ?Package Management section of the user's guide for an introduction to the basic concepts.
  • The package management functionality is now available under the File | Manage Libraries menu. It is possible to install supported (or experimental) open-source libraries from the internet, and upgrade them when newer versions are released; all the required dependencies are installed automatically. The Windows installer by default also installs the basic versions of the Modelica standard library, as a fallback in case internet connection is not available, e.g. in corporate environments. All other libraries are no longer supplied with the installer and must be installed via the package manager. Off-line use of the package manager will be improved in future versions.
  • When right-clicking on a library in the libraries browser, a new context menu item "Convert to Newer versions of used libraries" is available. This allows you to convert your library to newer versions of its dependencies, once you have installed them. If the newer version of the used library is backwards compatible with the previous one, this just changes the uses annotation, otherwise, the conversion script is run automatically. The most common use of this feature is to upgrade models or libraries that you developed using the Modelica library 3.2.3 to use Modelica 4.0.0. We recommend that you use this functionality on your own libraries only; for libraries that you download from the internet, it is best to wait for the developers to perform the conversion and release new versions of their libraries, that you can then get through the package manager.
  • Support of the dynamicSelect annotation has been improved, although it is still not 100% functional in all cases.
  • The plotting of results has been significantly improved; appropriate prefixes are now automatically selected to avoid getting very large or very small numbers on the Y-axis.
  • Overall, ?over 40 issues were fixed since the previous 1.18.1 release.
  • Work is on going to provide full support of parameter-depending conditional connectors, parameter-depending dialog annotations, and editing of parameter modifiers in redeclared classes. Implementing these features requires a fundamental re-design of the way OMEdit interacts with the OMC environment to get the required information. These features should become available, at least experimentally, in the future 1.20.0 release.
  • FMI Export:
  • Introduced support for interpolation in CS-FMUs by setting "canInterpolateInputs=true" in modeldescription.xml
  • Introduced support for getting partial derivatives in ME-FMUs by setting "providesDirectionalDerivative=true"
  • Lots of improvements to OpenModelica FMU export configurations (black box as well as source code FMUs).
  • Added source-code nonlinear solver CMINPACK to source-code FMUs
  • Basic source-code FMU compilation with CMake; cross compilation with Docker now available on Windows.
  • About ?10 issues fixed.
  • OMSimulator:
  • Support of importing and exporting Units and UnitDefinitions to SSP files.
  • Support for getting directional derivative in OMSimulator using both Symbolic Jacobians and numerical approximation using KINSOL solver.

New in OpenModelica 1.18.1 (Dec 23, 2021)

  • This is a bug-fix release for 1.18.0.
  • Several issues were fixed in the C++ runtime and OMEdit.

New in OpenModelica 1.18 (Sep 5, 2021)

  • OpenModelica Compiler (OMC):
  • The development of the new front end continued further, after becoming the default in the previous version. The compiler can now successfully flatten 100% of the models of the Modelica Standard Library 3.2.3 and 4.0.0 that have an experiment annotation. It can also successfully flatten 100% of many other open-source Modelica libraries, such as Chemical, HelmholtzMedia, IBPSA, ModelicaTest, OpenIPSL, PNLib, PhotoVoltaics, PlanarMechanics, PowerGrids, PowerSysPro, PowerSystems, SystemDynamics, TAeZoSysPro, ThermofluidStream. The success ratio when flattening the models of the Buildings library is currently at 96%, on-going work aims at reaching 100% by the end of 2021. Overall, 20 front end issues were fixed since the last official release.
  • Regarding symbolic analysis and code generation, the handling of index reduction in non-trivial cases where the state constraints are spread among many equations has been improved by the introduction of the ASCC algorithm, coupled with the existing reshuffle loop algorithm; this had beneficial effects in particular on three-phase circuit models. Some bugs in the generation of symbolic jacobians for nonlinear systems were also fixed. Overall, 11 issues were resolved.
  • C Runtime:
  • Full support of the spatialDistribution() operator was introduced, including accurate handling of events. Several low-level issues were resolved, involving memory leaks and segmentation faults.
  • C++ Runtime:
  • The C++ runtime was improved to handle more Modelica language features that are used by the new frontend. The previously release OMC 1.17 had worse coverage for the C++ runtime since it used the new frontend by default without supporting it in the C++ code generator. With these improvements, the coverage of libraries improved significantly, also compared to previous versions of OpenModelica with the old frontend, since the new frontend handles more models correctly than the old one, see the ​regression report, column "Compilation".
  • Graphical Editor OMEdit:
  • Several new features were added to the plotting functionality of OMEdit, in particular:
  • a "Fit to Diagram" button was added close to the zoom buttons to automatically adjust the extent of a model diagram to its actual content;
  • the sign of plotted variables can now be toggled by means of the context menu on the variable legends, to compare directly variables that are opposite in sign;
  • appropriate multiples of SI units (e.g. mW, W, kW, MW, GW for power) are automatically selected for display based on the order of magnitude of the variable, to avoid very large or very small numbers on the plot axes;
  • the rendering of plots and parameter windows on large and/or high-resolution screens was further improved.
  • Several bugs were also fixed; in total, 27 issues were addressed.
  • FMI Support and OMSimulator:
  • FMI 2.0 export was further improved. OMSimulator development continues, over 30 issues were fixed.
  • Data reconciliation:
  • The operation of power plants requires a good quality of the process data obtained through sensor measurements. Unfortunately, sensor measurements such as flow rates, temperatures, and pressures are subject to errors that lead to uncertainties in the assessment of the system's state. Operational margins are therefore set to take into account uncertainties on the system's state. Their effect is to decrease production because safety regulations put stringent limits on the thermal power of the plants. It is therefore important to compute the best estimates of the measurement uncertainties in order to increase power production by reducing operational margins as much as possible while still preserving system safety.
  • The best estimates can be obtained by combining data statistics with a knowledge a priori of the system in the form of a physical model. Data reconciliation is a technique that has been conceived in the process industry for that purpose. It is fully described in the VDI 2048 standard for the control and quality improvement of process data and their uncertainties by means of correction calculation for operation and acceptance tests".
  • An extension of Modelica to perform data reconciliation on Modelica models was developed together with EDF and is now fully implemented and integrated with the OMEdit GUI. The basic ideas are explained in ​this presentation, and a section DataReconciliation was added to the User's Guide, explaing how to use it step-by-step.

New in OpenModelica 1.18.0 Dev Beta (Jul 16, 2021)

  • Backend:
  • #5817 Usage of three-phase Aron sensor got problematic last December 2019
  • #6171 Invalid evaluation of auxiliary wrapFunctionCalls variable in conditional equations/expressions
  • #6190 Issue with homotopy and Pantelides during initialization in Buildings
  • #6198 Index reduction issue in Buildings: the backend tries to differentiate a discontinuous expression
  • #6232 Questionable tearing in PowerSysPro leads to initialization failure
  • Code Generation:
  • #5796 Models with long path names cause a code generation failure under Windows
  • #6197 Issues with code generation in the Buildings library
  • #6205 Problem with code generation involving records in Buildings
  • #6209 Issue with record in array in Buildings
  • Installation program:
  • #6393 Nightly build broken - Error during update of libomcsimulation
  • Interactive Environment:
  • #5620 Moving diagrams in NF too slow
  • Component: New Instantiation:
  • #5728 Wrong variability reported by NF
  • #5850 The NF gives an error while checking a perfectly legal model
  • #5988 NF fails with no error message during NFTyping.typeComponents when dealing with Buildings model
  • #5991 NF cannot evaluate structural parameter during NFTyping.typeComponents
  • #6188 NF Type mismatch in Buildings model involving redeclared class
  • #6193 NFFlatten.flatten fails in Buildings models
  • #6203 Some parameters seem to be never assigned in Buildings models
  • #6206 The NF fails to evaluate expression in Buildings library
  • #6221 The NF ignores a redeclare statement in a record containing a replaceable package and a function call from it
  • #6359 Validation of a function with flexible array dimensions should not given an error message
  • #6374 Issues with the NF in TILMedia
  • #6400 Issue with algorithm and the NF in PNLib
  • #6431 [NF] Crash in NFCeval.evalExp on model check
  • OMEdit:
  • #4403 OMEdit: Do not collapse variables browser when resimulating
  • #4449 Plot Parametric issues
  • #4469 OMEdit does not update diagrams of derived classes
  • #5177 Changing string parameters between simulations fixed
  • #5447 Automatically pick the right prefix for units in OMEdit plots
  • #5815 OMEdit not showing results
  • #5839 Plotting curves with toggled sign
  • #5849 Automatic elimination of blank areas in diagrams (companion to #5841)
  • #6094 Add CTRL+C to context menu for copying Modelica path
  • #6110 OMEdit does not render graphical annotations if "closure" annotation is present.
  • #6227 Drop models on OMEdit does not work after a fresh installation
  • #6404 Confirmation request when deleting recent files
  • #6412 OMEdit crashes when loading the BRSL and instantiating a library item
  • #6434 Improve file links in Windows
  • OMPlot:
  • #6399 OMPlot - Qt::yellow has no good contrast to white
  • Run-time:
  • #5281 Add support for spatialDistribution
  • #5485 Large memory leak in kinsol nonlinear solver
  • #6201 Acos in implicit function, failing to solve non-linear system
  • #6396 Fix FFI on Windows/mingw
  • #6418 Segmentation fault in BRSL DirectionalValves models
  • #6419 Too many events in BRSL PressureValves models
  • Third-Party Libraries:
  • #6192 Several ChillerCooled models in Buildings fail during initialization

New in OpenModelica 1.17 (Mar 23, 2021)

  • OpenModelica Compiler (OMC):
  • The new frontend has been further improved, and is now the default choice for all the OpenModelica tools. The -d=newInst flag no longer needs to be set in scripts. The old frontend is no longer maintained and will progressively be replaced also for the API interface used by OMEdit. 21 tickets were fixed since the previous 1.16.5 release.
  • Some issues were fixed in the backend, in particular regarding homotopy() during initialization. Some improvements to code generation, in particular enhancing the support of the HelmholtzMedia library.
  • The MSYS environment used on Windows was updated to a more recent version, with several benefits:
  • clang is now also available on Windows and used by default instead of gcc for the compilation of the generated C code, providing much faster C compile time on Windows;
  • dynamic linking is used instead of static linking, further reducing the overall compilation time on Windows;
  • a more recent version of the QT library is used, which solves some issues with the rendering of features in OMEdit.
  • The Sundials solvers and basic linear algebra library KLU were upgraded to the most recent available versions, with benefits in performance and roubustness at runtime.
  • Supported versions of Modelica Standard Library (MSL):
  • OpenModelica now supports both currently maintained versions of the Modelica Standard Library, MSL 3.2.3 and MSL 4.0.0. This means that you can use Modelica libraries that use either version of the MSL, or create new ones that do so. Automatic conversion of existing libraries from MSL 3.2.3 to MSL 4.0.0 is currently not yet available, it is planned for version 1.18.0.
  • Please note that the synchronous features in MSL 4.0.0 are still not fully supported, so we suggest not to rely on them in this version of the tool. Better support is planned for version 1.18.0.
  • Graphic Editor OMEdit:
  • The user experience with OMEdit is significantly improved in version 1.17.0, in particular for the Windows version, where the compilation time was drastically reduced by using clang instead of gcc and by dynamic linking instead of static linking of the simulation executable.
  • Thanks to the upgrade of the employed QT graphics libraries, several issues that plagued the graphical user interface are now resolved.
  • Replaceable classes continue to have graphical support in OMEdit, even though parameters in redeclared classes cannot yet be modified from the GUI, thus requiring to switch to text mode to do so. The new front end can also be used for some of the API functions called by OMEdit to render the model diagrams, making the response of the GUI much faster. Please note that both these features are currently optional and needs to be activated by setting Tools | Options | General | Enable replaceable support and Enable new frontend use in the OMC API (faster GUI response). These settings are retained from the previous installation upon version upgrading.
  • Unsaved code was sometimes lost when switching among different windows in OMEdit, this is no longer happening in this release. Several issues that caused occasional crashes of the GUI were also fixed.
  • OMEdit now can use both currently maintained versions of the Modelica Standard Library, MSL 3.2.3 and MSL 4.0.0. Please note that the Modelica.Clocked package in MSL 4.0.0 is still not handled in a completely reliable way, while most other models work equally well in the two versions.
  • When starting the program for the first time after installation, one can choose among three options: load MSL 3.2.3 automatically, which however prevents using libraries that need MSL 4.0.0; load MSL 4.0.0 automatically, which prevents using libraries that need MSL 3.2.3; not loading any version of the library upon starting OMEdit, leaving it to the tool to load the right one when a model or library is opened, thanks to the uses() annotation. The latter option allow to handle different projects that use either version of the MSL without problems, of course one at a time. This choice can be later modified by going to the Tools | Options | Libraries menu and by adding or removing the Modelica library from the automatically loaded system libraries, and/or by modifying the specific version that gets loaded.
  • Proper support of the package manager from the GUI, including conversion scripts to upgrade existing libraries from MSL 3.2.3 to MSL 4.0.0, is planned for version 1.18.0.
  • 16 bug fixes were made to OMEdit in version 1.17.0, to increase usability of the GUI.
  • Direct support of macOS discontinued from 1.17.0:
  • Until version 1.16.x, OpenModelica was built on Windows, Linux, and macOS. The core functionality of the tool is implemented in Linux, and is ported to Windows using the MinGW environment, and on macOS using the ​macports environment.
  • Unfortunately, many libraries OpenModelica depends on are not regularly updated on macports, which caused the Mac build to break every other day. Given our limited resources, we can't take on the burden of the required macports maintenance, so we regret to inform you that we decided to stop providing builds of OpenModelica for macOS. It is still possible to run OpenModelica on the Mac by running a virtual machine with a Linux installation of OpenModelica, see the instructions on the ​Mac download page. We are still trying to make it possible to build OpenModelica from sources on macOS, please check ticket #6306 for the latest updates and if you want to contribute to the effort. However, we do not guarantee this will be always possible in the future.
  • FMI Support:
  • FMI 2.0 export and FMI simulation with OMSimulator was further improved.
  • Other things:
  • OMSimulator is now integrated into pypi and installed via pip.
  • A prototype Flat Modelica code export feature is now available, a result of the Emphysis project and eFMI on-going standardization effort. It can be activated with the -f compilation flag.
  • The ​Modelica package manager is still only available from the command line in this release. We plan to integrate it the OMEdit GUI for the 1.18.0 release, together with conversion scripts.

New in OpenModelica 1.18.0 Dev 116 Nightly (Mar 4, 2021)

  • Improve flattening of bindings (#7258):
  • Flatten binding expression bottom to top rather than top to bottom.
  • Fix build on Ubuntu, use find to copy the sundials libs (#7248)
  • Fix OMParser/Makefile for macOS (#7247)
  • Treat names with only prerelease special (#7249):
  • This makes the package manager treat 0.0.0-name as something any version with that prerelease tag as matching.
  • Similarly, loadModel will do the same. This allows you to not have to know which version "trunk" or "master" is at.
  • Fix install target for Jenkins (#7250)
  • [NF] prevent indexed functions as bindings (#7163):
  • Fixes ticket #6267
  • If a scalarized binding would result in an indexed function -> don't do it!

New in OpenModelica 1.16.4 (Feb 25, 2021)

  • contains only validated new features
  • intended for productive usage (commit history)

New in OpenModelica 1.12.0 Beta 1 (Oct 25, 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