3. Release notes for JModelica.org version 1.15

3.1. Highlights

  • FMI export supporting FMI 2.0

  • FMI import supporting FMI 2.0 with PyFMI

  • Improved MSL compliance

  • Support for over-constrained initialization systems

  • Dynamic optimization framework based on CasADi 2.0

  • Improved numerical algorithms in FMU runtime

3.2. Compiler

3.2.1. Compliance

Many bug fixes in the compiler has resulted in greatly increased MSL support. Most or all of the tests and examples for the following MSL sub-libraries now compile and simulate successfully (complete compliance information for MSL can be found on the JModelica.org website, www.jmodelica.org):

  • Blocks

  • ComplexBlocks

  • Electrical.Analog

  • Electrical.Machines

  • Electrical.MultiPhase

  • Electrical.QuasiStationary

  • Electrical.Spice3

  • Magnetic

  • Mechanics.Rotational

  • Mechanics.Translational

  • Media

  • Thermal

  • Utilities

3.2.2. Support for over-constrained initialization systems

Automatic balancing of over-constrained initial systems is now implemented. This means that the compiler automatically checks the consistency of the initial system and automatically removes redundant initial equations.

3.2.3. FMU 2.0 export

Support for export of FMUs according to the the recently released FMI 2.0 specification, both for Model Exchange and Co-Simulation, has been added.

3.2.4. Improved numerical algorithms in FMU runtime

Numerous improvements has been made to the FMU runtime code. Specific improvements include solving one-dimensional non-linear systems more robustly.

3.2.5. CasADi 2.0 support in Optimization

The CasADi based optimization tool chain has been updated to work with CasADi 1.9 and later (which is not backwards compatible with CasADi 1.8 and earlier). This allows exploiting new CasADi improvements such as bug fixes, pluggable solvers, and improved documentation. The version of CasADi that is included in JModelica.org is now 2.0.

3.3. Simulation

Support for the recently released FMI 2.0 specification has been included in PyFMI. FMUs following FMI 2.0 can now be loaded and simulated just as easily as FMUs following FMI 1.0.