JModelica.org is a commercial software platform based on the
Modelica
Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-o ...
modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. The platform is maintained and developed by Modelon AB in collaboration with academic and industrial institutions, notably
Lund University
, motto = Ad utrumque
, mottoeng = Prepared for both
, established =
, type = Public research university
, budget = SEK 9 billion [Functional Mock-up Interface
The Functional Mock-up Interface (or FMI) defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems.
The vision of FMI is to support this approach: if the real product is to be assembled from a ...]
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 method In mathematics, a collocation method is a method for the numerical solution of ordinary differential equations, partial differential equations and integral equations. The idea is to choose a finite-dimensional space of candidate solutions (usually ...
s on finite elements and
pseudospectral collocation method In mathematics, a collocation method is a method for the numerical solution of ordinary differential equations, partial differential equations and integral equations. The idea is to choose a finite-dimensional space of candidate solutions (usually ...
s.
* 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 Trajectory optimization is the process of designing a trajectory that minimizes (or maximizes) some measure of performance while satisfying a set of constraints. Generally speaking, trajectory optimization is a technique for computing an open-loop ...
, parameter optimization and model calibration can be formulated and solved using JModelica.org. The Optimica extension enables high-level formulation of dynamic optimization problems based on Modelica models. The mintOC project provides a number of benchmark problems encoded in Optimica.
The platform promotes open interfaces for integration with numerical packages. The Sundials ODE/DAE integrator suite, the NLP solver
IPOPT
IPOPT, short for "Interior Point OPTimizer, pronounced I-P-Opt", is a software library for large scale nonlinear optimization of continuous systems. It is written in Fortran and C and is released under the EPL (formerly CPL). IPOPT implement ...
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
The Functional Mock-up Interface (or FMI) defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems.
The vision of FMI is to support this approach: if the real product is to be assembled from a ...
(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, IPOPT, and CppAD, is provided in the report Open-Source Software for Nonlinear Constrained Optimization of Dynamic Systems.
The Eclipse plug-in for editing of Modelica source code has been discontinued.
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.
See also
*
AMESim
Simcenter Amesim is a commercial simulation software for the modeling and analysis of multi-domain systems. It is part of systems engineering domain and falls into the mechatronic engineering field.
The software package is a suite of tools used to ...
*
AMPL
AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems).
It was developed b ...
*
APMonitor
Advanced process monitor (APMonitor) is a modeling language for differential algebraic ( DAE) equations. It is a free web-service or local server for solving representations of physical systems in the form of implicit DAE models. APMonitor is ...
*
ASCEND
ASCEND is an open source, mathematical modelling chemical process modelling system developed at Carnegie Mellon University since late 1978. ASCEND is an acronym which stands for Advanced System for Computations in Engineering Design. Its main use ...
*
Dymola
Dymola is a commercial modeling and simulation environment based on the open Modelica modeling language.
Large and complex systems are composed of component models; mathematical equations describe the dynamic behavior of the system.
Developed b ...
*
General Algebraic Modeling System (GAMS)
*
MapleSim
MapleSim is a Modelica-based, multi-domain modeling and simulation tool developed by Maplesoft. MapleSim generates model equations, runs simulations, and performs analyses using the symbolic and numeric mathematical engine of Maple. Models are c ...
*
Wolfram SystemModeler
Wolfram System Modeler, developed by Wolfram MathCore, is a platform for engineering as well as life-science modeling and simulation based on the Modelica language. It provides an interactive graphical modeling and simulation environment and a cu ...
*
Openmodelica
OpenModelica is a free and open source environment based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. This software is actively developed by Open Source Modelica Consortium, a non-p ...
*
SimulationX
SimulationX is a CAE software application running on Microsoft Windows for the physical simulation of technical systems. It is developed and sold by ESI Group.
History
In the mid 1980s, VEB Mikromat in Dresden ( Germany) developed a progr ...
*
PROPT
The PROPT MATLAB Optimal Control Software is a new generation platform for solving applied optimal control (with ODE or DAE formulation) and parameters estimation problems.
The platform was developed by MATLAB Programming Contest WinnerPer Rut ...
References
{{Reflist, 2
Simulation software
Simulation programming languages
Mathematical optimization software
Free simulation software
Declarative programming languages
Object-oriented programming
Free software programmed in Python