JModelica.org

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
JModelica.org
Developer(s) Modelon AB
Stable release 1.17 / 9 December 2015; 8 years ago (2015-12-09)
Written in C, Python, C++, Java
Operating system Linux, Windows and OS X
Type Dynamic simulation and optimization
License GPL (free software)
Website www.jmodelica.org

JModelica.org is a free and open source 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.
  • 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.
  • An Eclipse plug-in for editing of Modelica source code.

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]

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. Lua error in package.lua at line 80: module 'strict' not found.
  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. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  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.