wiki:ReleaseNotes/1.17.0

Version 16 (modified by casella, 4 years ago) (diff)

--

1.16.4 | 1.18.0

Release Notes for OpenModelica 1.17.0

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 discontinue the direct support of the macOS port. It is still possible to run OpenModelica on the Mac by running a virtual machine with a Linux installation of OpenModelica. You can find detailed instructions and a video tutorial on the Mac download page.

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.

List of tickets closed in 1.17.0

Number of fixed tickets: 84

Component: *unknown* (1 match)

Ticket Summary Resolution Owner Type Priority Version
#6145 Schedule for the 1.17.0 release fixed casella discussion blocker

Component: Backend (6 matches)

Ticket Summary Resolution Owner Type Priority Version
#6068 Illegitimate transformation during translation of HelmholtzMedia function fixed Karim.Abdelhak defect blocker
#6246 Problem with state selection in Chemical library fixed Karim.Abdelhak defect high v1.17.0-dev
#6257 Issue with ThermoSysPro fixed AnHeuermann defect high 1.16.0
#6266 Index out of bounds for array returned by built-in function fixed AnHeuermann defect high v1.17.0-dev
#6328 Support the homotopy() operator for the generation of symbolic jacobians for NLS fixed AnHeuermann enhancement critical 1.16.0
#6338 Post optimization for lambda0 system failing for large power grid model fixed AnHeuermann defect critical 1.16.0

Component: Build Environment (4 matches)

Ticket Summary Resolution Owner Type Priority Version
#5043 Use clang also on Windows fixed adrpo enhancement blocker
#5307 Update OMDev to include clang and updated QT libraries fixed adrpo enhancement blocker
#6136 Mac OMEdit fails to build fixed sjoelund.se defect high
#6391 Use dynamic linking to speed up compilation in Windows fixed adrpo defect blocker 1.16.2

Component: Code Generation (7 matches)

Ticket Summary Resolution Owner Type Priority Version
#5523 Complex number issue when compiling PhotoVoltaics example fixed lochel defect blocker v1.14.0-dev-nightly
#5550 Different size of long on windows / linux systems fixed sjoelund.se defect low v1.14.0-dev-nightly
#6087 Issue with records in HelmholtzMedia fixed perost defect high
#6099 Low level issues with arrays in Windows fixed mahge930 defect blocker
#6179 Improve clang compilation on Windows fixed adrpo defect blocker
#6241 Generated Cpp code for Modelica functions using uninitialized varaibles fixed AnHeuermann defect high v1.17.0-dev
#6403 [CG] Bad use of ModelicaMessage fixed adrpo defect high 1.18.0-dev

Component: Documentation (1 match)

Ticket Summary Resolution Owner Type Priority Version
#6364 Add a section to the documentation about well-known issues with non-standard Modelica code fixed casella defect high 1.16.0

Component: FMI (3 matches)

Ticket Summary Resolution Owner Type Priority Version
#6151 FMI model structure dependencies wrong fixed AnHeuermann defect blocker v1.17.0-dev
#6258 Workflow for FMU import in SSP not working fixed lochel defect blocker 1.16.0
#6262 Incorrect start value for an input variable in an FMU exported from OM fixed lochel defect critical 1.16.0

Component: Frontend (1 match)

Ticket Summary Resolution Owner Type Priority Version
#6348 Simulation works in Linux but not Windows fixed adrpo defect blocker v1.17.0-dev

Component: Installation program (2 matches)

Ticket Summary Resolution Owner Type Priority Version
#6274 Handling MSL 3.2.3 and MSL 4.0.0 in OpenModelica 1.17.0 fixed adeas31 enhancement blocker v1.17.0-dev
#6415 Msys on Windows misses header file "locale" fixed adrpo defect high v1.17.0-dev

Component: Interactive Environment (1 match)

Ticket Summary Resolution Owner Type Priority Version
#4323 OMEdit: Special characters are not correctly displayed in Message Browser fixed adrpo defect low

Component: NF API (1 match)

Ticket Summary Resolution Owner Type Priority Version
#6290 Fix introduced issues with the cleanup of Interactive/InteractiveUtil fixed adrpo defect high v1.17.0-dev

Component: New Instantiation (23 matches)

Ticket Summary Resolution Owner Type Priority Version
#3150 Wrong variability for array reduction fixed adrpo defect high trunk
#4138 New FrontEnd fixed perost task blocker
#4142 OMC does not detect as error the use of noEvent clause in a When structure fixed somebody defect high v1.11.0
#5324 Incorrect final detected by NF? fixed perost defect blocker
#5643 Connect-equations in for loop are ignored when using -d=nonfScalarize fixed perost defect critical
#5752 Chemical library broken because of issue with String array package constant fixed perost defect high
#5989 Issue with NF and evalSub in Buildings fixed perost defect blocker
#5990 NFScalarize.scalarizeVariable fails in Buildings example fixed perost defect high
#6028 Many Buildings libraries fail with no error message fixed perost defect blocker
#6054 The NF incorrectly renders the actualStream operator fixed perost defect blocker
#6067 Evaluate = true should be applied to entire parameter records fixed perost defect blocker
#6074 The NF should completely eliminate Evaluate = true parameters from flat model fixed perost defect critical
#6173 Inconsistent flattening of for loops in NF with -d=nonfScalarize fixed perost defect high
#6202 Make the NF the default also from the command line fixed adrpo defect blocker
#6217 Allow checking models containing partial classes fixed perost defect blocker
#6231 NF with positiveMax in connections of arrays of port fixed perost defect high 1.16.0
#6243 Issues with partial packages in Chemical library fixed perost defect high 1.16.0
#6252 Do not count extra equations for public non-connector top level inputs with binding equations fixed perost defect high v1.17.0-dev
#6283 uncertain attribute not handled in New-FrontEnd which is needed for data Reconciliation fixed perost defect blocker 1.16.0
#6289 newInst fails to resolve renaming import fixed perost defect high v1.17.0-dev
#6302 Fix to NF fails to evaluate structural parameters fixed perost defect blocker 1.16.0
#6303 Issue with records in Chemical library fixed perost defect blocker 1.16.0
#6407 The new OpenModelica compiler frontend fixed perost defect blocker 1.16.2

Component: OMEdit (23 matches)

Ticket Summary Resolution Owner Type Priority Version
#4016 Deformed cross symbols in tree views fixed adeas31 defect low v1.11.0
#4284 OMEdit: tree view icons change on loading a library fixed adeas31 defect normal v1.11.0
#5290 OMEdit should look the same on high-resolution, high-dpi screens fixed adeas31 defect blocker
#5805 Homotopy logging does not work together with nonlinear solver logging in OMEdit fixed AnHeuermann defect blocker
#5912 problem running Montecarlo script from OMEdit fixed adeas31 defect high
#5942 OMEdit log files are always put in system default temp directory fixed adeas31 defect blocker
#5961 OMEdit Recent files list fixed adeas31 enhancement high
#6093 Parameter records are not displayed correctly in Diagram View fixed adeas31 defect blocker v1.16.0-dev
#6158 Simple option to generate debug symbols from OMEdit fixed adeas31 defect high
#6162 Trouble saving multiple changes when working with single-file packages fixed adeas31 defect blocker
#6234 OMEdit crashes when try to save a model after modifications fixed adeas31 defect blocker v1.17.0-dev
#6248 Syntactically wrong modifications are lost when saving other models on the same file fixed adeas31 defect blocker 1.16.0
#6270 Hitting ESC in OMEdit creates an invalid state fixed adeas31 defect high v1.17.0-dev
#6271 Loading, compiling and running a model instantiating PowerSysPro components are very time consuming fixed adeas31 discussion blocker 1.16.0
#6298 Wrong clipping of exported PNG file fixed adeas31 defect high v1.17.0-dev
#6316 The frontend used to obtain flat models in OMEdit is not set correctly fixed adeas31 defect blocker v1.17.0-dev
#6341 OMEdit no longer shows Output tab of Simulation Output window until the simulation is over fixed adeas31 defect blocker 1.16.0
#6379 Handling libraries in 1.17.0 fixed adeas31 defect blocker v1.17.0-dev
#6395 Some generated C code shows up in red in OMedit fixed adeas31 defect high 1.18.0-dev
#6406 OMEdit GUI not working properly fixed adrpo defect blocker v1.17.0-dev
#6413 Open Terminal from OMEdit not working fixed adeas31 defect high 1.18.0-dev
#6414 Icon for user models doesn't show as expected fixed adeas31 defect high v1.17.0-dev
#6427 MSL 4.0 dialog is shown even if MSL 4.0 is not installed fixed casella defect blocker 1.18.0-dev

Component: OMSens (1 match)

Ticket Summary Resolution Owner Type Priority Version
#5914 OMSens dependencies as a part of OMEdit installation fixed adrpo defect blocker

Component: OMSimulator (1 match)

Ticket Summary Resolution Owner Type Priority Version
#6330 OMSimulator or SSP? fixed lochel discussion high 1.16.0

Component: Run-time (7 matches)

Ticket Summary Resolution Owner Type Priority Version
#5806 Initialization with homotopy and --daeMode does not generate initial-lambda0 equations fixed Karim.Abdelhak defect critical
#5824 Import start values from existing simulations run with other tools fixed casella defect blocker
#6033 Add some documentation about the use of homotopy() for initialization fixed AnHeuermann defect blocker
#6204 Issues with Buildings model writing files to tmp directory fixed sjoelund.se defect high
#6275 --daeMode segfault with -idaLS=klu fixed AnHeuermann defect blocker v1.17.0-dev
#6347 Add ModelicaDuplicateString support fixed sjoelund.se defect high
#6362 Updating KLU fixed AnHeuermann enhancement blocker v1.17.0-dev

Component: Testing Framework (2 matches)

Ticket Summary Resolution Owner Type Priority Version
#6049 Add ModelicaTest 4.0.0 to the testsuite fixed sjoelund.se enhancement blocker
#6210 Linker error involving Buildings models fixed sjoelund.se defect high