First official end-user release of the OPTIMICA Compiler Toolkit.

Main Features

  • A Modelica compiler compliant with the Modelica language specification 3.2.2 and supporting the full Modelica Standard Library version 3.2.2 build 3. The compiler generates Functional Mock-up Units (FMUs), including Model Exchange and Co-simulation as well as version 1.0 and 2.0 of the FMI standard.
  • Dynamic simulation algorithms for integration of large-scale and stiff systems. Algorithms include CVode and Radau.
  • Dynamic optimization algorithms based on collocation for solving optimal control and estimation problems. Dynamic optimization problems are encoded in Optimica, an extension to Modelica.
  • A derivative-free model calibration algorithm to estimate model parameters based on measurement data.
  • A non-linear solver for solving large-scale systems of equations arising, e.g., in steady-state applications. Efficient and robust steady-state problem formulation is enable by Hand Guided Tearing, which enables user specified selection of residuals and iteration variables.
  • Support for encrypted and licensed Modelica libraries.
  • Support for state-of-the-art numerical algorithms for dynamic optimization, notably the HSL solver MA57 that provides improved robustness and performance.
  • A compiler API is available to extract information, e.g., packages, models, parameters and annotations, from Modelica libraries.
  • Scripting APIs in Python and MATLAB® are available to script automation of compilation, simulation and optimization of Modelica and FMI models.


The OPTIMICA Compiler Toolkit is available in two versions:

  • OPTIMICA Compiler Toolkit Base version which supports compilation of FMUs and dynamic simulation in Python and MATLAB® (with the addition of FMI Toolbox for MATLAB®) as well as dynamic optimization based on open source solvers.
  • OPTIMICA Compiler Toolkit Full version which in addition supports steady-state computations, including Hand-Guided Tearing in Modelica models and non-linear solver integration in MATLAB®.