C.1. Release notes for JModelica.org version 2.0

C.1.1. Highlights

For this release, focus has been on Modelica/MSL compliance. All example models in the bundled MSL version simulate correctly with this release, with marginal additions, see the section called “Modelica Standard Library (MSL)”. There is also support for IBPSA, see the section called “IBPSA”

A novel co-simulation master is available in PyFMI. It implements a number of master algorithms, see [And2016] for details.

C.1.2. Compiler

C.1.2.1. Compliance

Modelica Standard Library (MSL)

For this release, the Modelica Standard Library (MSL) version 3.2.2 build 3 with the following patches applied is used:

  • To the model Modelica.Blocks.Examples.NoiseExamples.ActuatorWithNoise defined in Modelica/Blocks/package.mo a StateSelect.always is added for Controller.y1. With this patch dynamic state selection is avoided. See also the reported issue 2189 on the GitHub repository for Modelica Association.
  • The model Modelica.Fluid.Examples.Tanks.TanksWithOverflow does not initialize with the original parametrization in MSL 3.2.2 build 3 due to variable bounds not being respected, see issue 2060 on the GitHub repository for Modelica Association. In the patch additional fluid flows through an overflow pipe if the level of the upper tank exceeds 6 meters instead of 10 meters.
  • The state selection in Modelica.Magnetic.FluxTubes.Examples.Hysteresis.HysteresisModelComparison is patched to improve the numerical robustness, see issue 2248 on the GitHub repository for Modelica Association.
  • In Modelica.Fluid.Examples.TraceSubstances.RoomCO2WithControls the experiment tolerance is tightened to 1e-007 instead of 1e-006 to avoid chattering.
  • In Modelica.Fluid.Examples.InverseParameterization pump.m_flow_start is set to 0.5 instead of 0.0. With this change the correct branch is chosen in the actualStream operator, see issue 2063 on the GitHub repository for Modelica Association.

With the patches listed above applied, all example models in version 3.2.2 build 3 of MSL simulate correctly with JModelica.org 2.0. The results can be seen in the compliance reports for simulation and check on the JModelica.org download site.

The trunk version of MSL has some additional example models compared to version 3.2.2. build 3. Compliance reports for trunk MSL can be found on the JModelica.org public Jenkins, using trunk version of JModelica.org.

IBPSA

With JModelica.org 2.0 there is support for IBPSA, a Modelica library for building and disctrict energy systems. More information can be found on the Modelica IBPSA library GitHub website.

C.1.3. A novel co-simulation algorithm

A novel co-simulation master algorithm is now available in the Python package PyFMI. The master algorithm supports FMUs 2.0 for co-simulation. Features of the master algorithm include a parallel Jacobi approach as well as a step-size controlled algorithm based on Richardson extrapolation. The theory and implementation of the software is described in [And2016].

C.1.4. Simulation

For JModelica.org 2.0 improvements have been made for numerical robustness during initialization and simulation, especially with regards to event handling.

C.1.5. HTML Diagnostics

Improved HTML diagnostics with formatting and interactive functions.