JModelica.org
{{Short description|Software platform}}
{{Infobox software
| name = JModelica.org
| developer = Modelon AB
| latest release version = 2.10
| latest release date = {{Start date and age|2019|03|22|df=yes/no}}
| repo = {{URL|https://trac.jmodelica.org/wiki}}
| programming language = C, Python, C++, Java
| operating system = Linux, Windows and OS X
| genre = Dynamic simulation and optimization
| license = Proprietary
| website = {{URL|www.jmodelica.org}}
}}
JModelica.org is a commercial software platform based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems.Johan Åkesson, Karl-Erik Årzén, Magnus Gäfvert, Tove Bergdahl, Hubertus Tummescheit: [http://www.control.lth.se/Publication/ake+10cace.html "Modeling and Optimization with Optimica and JModelica.org—Languages and Tools for Solving Large-Scale Dynamic Optimization Problem"] {{Webarchive|url=https://web.archive.org/web/20181017133444/http://www.control.lth.se/Publication/ake+10cace.html |date=2018-10-17 }}. Computers and Chemical Engineering, 34:11, pp. 1737-1749, November 2010. 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).{{cite web | url=http://www.lccc.lth.se | title = Lund Center for Control of Complex Systems (LCCC)}} The platform has been used in industrial projects with applications in robotics,Björn Olofsson, Henrik Nilsson, Anders Robertsson, Johan Åkesson:[http://www.control.lth.se/Publication/bo+IFAC2011.html "Optimal Tracking and Identification of Paths for Industrial Robots"] {{Webarchive|url=https://web.archive.org/web/20181017133258/http://www.control.lth.se/Publication/bo+IFAC2011.html |date=2018-10-17 }}. In Proc. 18th World Congress of the International Federation of Automatic Control (IFAC), Milano, Italy, August 2011. vehicle systems,Tomas Gustafsson: [http://www.vehicular.isy.liu.se/Publications/MSc/08_EX_4074_TG.html "Computing the Ideal Racing Line Using Optimal Control"]. Linköping University, 2008 energy systems,Francesco Casella, Filippo Donida, Johan Åkesson: [http://www.control.lth.se/Publication/cas+11ifac.html "Object-Oriented Modeling and Optimal Control: A Case Study in Power Plant Start-Up"] {{Webarchive|url=https://web.archive.org/web/20181017133308/http://www.control.lth.se/Publication/cas+11ifac.html |date=2018-10-17 }}. In Proc. of 18th World Congress of the International Federation of Automatic Control (IFAC), August 2011. {{CO2}} separationJohan Åkesson, R Faber, Carl Laird, Katrin Prölss, Hubertus Tummescheit, Stéphane Velut, Yu Zhu: [http://www.control.lth.se/Publication/ake+11mod11.html "Models of a post-combustion absorption unit for simulation, optimization and non-linear model predictive control schemes"] {{Webarchive|url=https://web.archive.org/web/20181017133238/http://www.control.lth.se/Publication/ake+11mod11.html |date=2018-10-17 }}. In 8th International Modelica Conference, March 2011. and polyethylene production.Per-Ola Larsson, Johan Åkesson, Staffan Haugwitz, Niklas Andersson: [http://www.control.lth.se/Publication/pol+11IFAC.html "Modeling and Optimization of Grade Changes for Multistage Polyethylene Reactors"] {{Webarchive|url=https://web.archive.org/web/20181017133213/http://www.control.lth.se/Publication/pol+11IFAC.html |date=2018-10-17 }}. In Proc. of 18th World Congress of the International Federation of Automatic Control (IFAC), September 2011.
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.
- Algorithms for solving large scale dynamic optimization problems implementing local collocation methods on finite elements and pseudospectral collocation methods.
- 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 extensionJohan Åkesson: [http://www.control.lth.se/Publication/ake08mod08.html "Optimica—An Extension of Modelica Supporting Dynamic Optimization"] {{Webarchive|url=https://web.archive.org/web/20181017133243/http://www.control.lth.se/Publication/ake08mod08.html |date=2018-10-17 }}. In In 6th International Modelica Conference 2008, Modelica Association, March 2008. enables high-level formulation of dynamic optimization problems based on Modelica models. The mintOC project{{cite web | url= http://mintoc.de/index.php/Main_Page | title = The mintOC project}} provides a number of benchmark problems encoded in Optimica.
The platform promotes open interfaces for integration with numerical packages. The Sundials{{cite web | url=https://computing.llnl.gov/projects/sundials | title = The Sundials project}} 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,{{cite web | url= http://www.acadotoolkit.org | title = The ACADO Toolkit project}} IPOPT, and CppAD, is provided in the report Open-Source Software for Nonlinear Constrained Optimization of Dynamic Systems.Rune Brus: [http://etd.dtu.dk/thesis/262234/ep10_26_net_new.pdf "Open-Source Software for Nonlinear Constrained Optimization of Dynamic Systems"] {{Webarchive|url=https://web.archive.org/web/20170510070348/http://etd.dtu.dk/thesis/262234/ep10_26_net_new.pdf |date=2017-05-10 }}. Technical University of Denmark, Department of Informatics and Mathematical Modeling, Scientific Computing. 2010.
The Eclipse plug-in for editing of Modelica source code has been discontinued.{{cite web | url= https://trac.jmodelica.org/ticket/2934 | title = Remove Eclipse Plugins}}
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.{{cite web |title=JModelica Closed Source Announcement |url=https://jmodelica.org/ |archive-url=https://web.archive.org/web/20200213102643/https://jmodelica.org/ |url-status=dead |archive-date=13 February 2020 |access-date=13 February 2020}}