Software:JModelica.org

From HandWiki
Revision as of 15:09, 9 February 2024 by Rtextdoc (talk | contribs) (correction)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Software platform
JModelica.org
Developer(s)Modelon AB
Stable release
2.10 / 22 March 2019; 5 years ago (2019-03-22)
Repositorytrac.jmodelica.org/wiki
Written inC, Python, C++, Java
Operating systemLinux, Windows and OS X
TypeDynamic simulation and optimization
LicenseProprietary
Websitewww.jmodelica.org

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] CO
2
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.
  • 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 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]

See also

References

  1. Johan Åkesson, Karl-Erik Årzén, Magnus Gäfvert, Tove Bergdahl, Hubertus Tummescheit: "Modeling and Optimization with Optimica and JModelica.org—Languages and Tools for Solving Large-Scale Dynamic Optimization Problem". Computers and Chemical Engineering, 34:11, pp. 1737-1749, November 2010.
  2. "Lund Center for Control of Complex Systems (LCCC)". http://www.lccc.lth.se. 
  3. Björn Olofsson, Henrik Nilsson, Anders Robertsson, Johan Åkesson:"Optimal Tracking and Identification of Paths for Industrial Robots". In Proc. 18th World Congress of the International Federation of Automatic Control (IFAC), Milano, Italy, August 2011.
  4. Tomas Gustafsson: "Computing the Ideal Racing Line Using Optimal Control". Linköping University, 2008
  5. Francesco Casella, Filippo Donida, Johan Åkesson: "Object-Oriented Modeling and Optimal Control: A Case Study in Power Plant Start-Up". In Proc. of 18th World Congress of the International Federation of Automatic Control (IFAC), August 2011.
  6. Johan Åkesson, R Faber, Carl Laird, Katrin Prölss, Hubertus Tummescheit, Stéphane Velut, Yu Zhu: "Models of a post-combustion absorption unit for simulation, optimization and non-linear model predictive control schemes". In 8th International Modelica Conference, March 2011.
  7. Per-Ola Larsson, Johan Åkesson, Staffan Haugwitz, Niklas Andersson: "Modeling and Optimization of Grade Changes for Multistage Polyethylene Reactors". In Proc. of 18th World Congress of the International Federation of Automatic Control (IFAC), September 2011.
  8. Johan Åkesson: "Optimica—An Extension of Modelica Supporting Dynamic Optimization". In In 6th International Modelica Conference 2008, Modelica Association, March 2008.
  9. "The mintOC project". http://mintoc.de/index.php/Main_Page. 
  10. "The Sundials project". https://computing.llnl.gov/projects/sundials. 
  11. "The ACADO Toolkit project". http://www.acadotoolkit.org. 
  12. Rune Brus: "Open-Source Software for Nonlinear Constrained Optimization of Dynamic Systems". Technical University of Denmark, Department of Informatics and Mathematical Modeling, Scientific Computing. 2010.
  13. "Remove Eclipse Plugins". https://trac.jmodelica.org/ticket/2934. 
  14. "JModelica Closed Source Announcement". https://jmodelica.org/.