JModelica.org is a commercial software platform based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems.[1] The platform is maintained and developed by Modelon AB in collaboration with academic and industrial institutions, notably Lund University and the Lund Center for Control of Complex Systems (LCCC).[2] The platform has been used in industrial projects with applications in robotics,[3] vehicle systems,[4] energy systems,[5] CO2 separation[6] and polyethylene production.[7]
The key components of the platform are:
A Modelica compiler for translating Modelica source code into C or XML code. The compiler also generates models compliant with the Functional Mock-up Interface standard.
A Python package for simulation of dynamic models, Assimulo. Assimulo provides interfaces to several state of the art integrators and is used as a simulation engine in JModelica.org.
A Python package for user interaction. All parts of the platform are accessed from Python, including compiling and loading models, simulating and optimizing.
JModelica.org supports the Modelica modeling language for modeling of physical systems. Modelica provides high-level descriptions of hybrid dynamic systems, which are used as a basis for different kinds of computations in JModelica.org including simulation, sensitivity analysis and optimization.
Dynamic optimization problems, including optimal control, trajectory optimization, parameter optimization and model calibration can be formulated and solved using JModelica.org. The Optimica extension[8] enables high-level formulation of dynamic optimization problems based on Modelica models. The mintOC project[9] provides a number of benchmark problems encoded in Optimica.
The platform promotes open interfaces for integration with numerical packages. The Sundials[10] ODE/DAE integrator suite, the NLP solver IPOPT and the AD package CasADi are examples of packages that are integrated into the JModelica.org platform.
JModelica.org is compliant with the Functional Mock-up Interface (FMI) standard and Functional Mock-up Units (FMUs), generated by JModelica.org or by another FMI-compliant tool, can be simulated in the Python environment.
An independent comparison between JModelica.org and the optimization systems ACADO Toolkit,[11] IPOPT, and CppAD, is provided in the report Open-Source Software for Nonlinear Constrained Optimization of Dynamic Systems.[12]
The Eclipse plug-in for editing of Modelica source code has been discontinued.[13]
On December 18, 2019, Modelon decided to move the JModelica.org source code from open to closed source. The last open-source release is available for download on request. Assimulo, PyFMI and FMI Library are now on GitHub.[14]