JModelica.org
Encyclopedia
JModelica.org is a free and open source platform based on the Modelica
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-oriented subcomponents.The free Modelica languageis...

 modeling language for modeling, simulation, optimization and analysis of complex dynamic systems. The platform is maintained and developed by Modelon AB in collaboration with academic and industrial institutions, notably Lund University
Lund University
Lund University , located in the city of Lund in the province of Scania, Sweden, is one of northern Europe's most prestigious universities and one of Scandinavia's largest institutions for education and research, frequently ranked among the world's top 100 universities...

 and the Lund Center for Control of Complex Systems (LCCC). The platform has been used in industrial projects with applications in robotics, vehicle systems, energy systems, CO2 separation and polyethylene production.

The key components of the platform are:
  • A Modelica
    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-oriented subcomponents.The free Modelica languageis...

     compiler for translating Modelica source code into C or XML code. The compiler also generates models compliant with the Functional Mock-up Interface
    Functional Mock-up Interface
    The functional mock-up interface defines a standardized interface to be used in computer simulations to develop complex cyberphysical systems....

     standard.
  • A Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

     package for simulation of dynamic models, Assimulo. Assimulo provides interfaces to several state of the art integrators and is used as simulation engine in JModelica.org.
  • Algorithms for solving large scale dynamic optimization problems implementing local collocation method
    Collocation method
    In mathematics, a collocation method is a method for the numerical solution of ordinary differential equations, partial differential equations and integral equations...

    s on finite elements and pseudospectral
    Gauss pseudospectral method
    The Gauss pseudospectral method , one of many topics named after Carl Friedrich Gauss, is a direct transcription method for discretizing a continuous optimal control problem into a nonlinear program . The Gauss pseudospectral method differs from several other pseudospectral methods in that the...

     collocation method
    Collocation method
    In mathematics, a collocation method is a method for the numerical solution of ordinary differential equations, partial differential equations and integral equations...

    s.
  • A Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

     package for user interaction. All parts of the platform are accessed from Python, including compilation and loading of models, simulation and optimization.
  • An Eclipse plug-in for editing of Modelica
    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-oriented subcomponents.The free Modelica languageis...

     source code.


JModelica.org supports the Modelica
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-oriented subcomponents.The free Modelica languageis...

 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
Optimal control
Optimal control theory, an extension of the calculus of variations, is a mathematical optimization method for deriving control policies. The method is largely due to the work of Lev Pontryagin and his collaborators in the Soviet Union and Richard Bellman in the United States.-General method:Optimal...

, trajectory optimization
Trajectory optimization
Trajectory optimization is the process of designing a trajectory that minimizes or maximizes some measure of performance within prescribed constraint boundaries...

, 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
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 . IPOPT implements a primal-dual interior point method, and uses line searches based on...

 and the AD package CasADi are examples of packages which are integrated into the JModelica.org platform.

JModelica.org is compliant with the Functional Mock-up Interface
Functional Mock-up Interface
The functional mock-up interface defines a standardized interface to be used in computer simulations to develop complex cyberphysical systems....

 (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.

See also

  • AMESim
    AMESim
    LMS Imagine.Lab AMESim is a simulation software for the modelling and analysis of one-dimensional systems. The software package offers a 1D simulation suite to model and analyze multi-domain, intelligent systems and to predict their multi-disciplinary performance...

  • AMPL
    AMPL
    AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and solving high-complexity problems for large-scale mathematical computation AMPL, an acronym for "A Mathematical Programming Language", is an algebraic modeling language for describing and...

  • ASCEND
    ASCEND
    ASCEND is a free, open source, mathematical modelling system developed at Carnegie Mellon University since the late 1978. ASCEND is an acronym which stands for Advanced System for Computations in ENgineering Design. Its main uses have been in the field of chemical process modelling although its...

  • Dymola
    Dymola
    Dymola is a commercial modeling and simulation environment based on theopen Modelica modeling language. It is developed bythe Swedish company Dassault Systèmes AB, Lund...

  • GAMS
    General Algebraic Modeling System
    The General Algebraic Modeling System is a high-level modeling system for mathematical optimization. GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. The system is tailored for complex, large-scale modeling applications and allows the user to...

  • MapleSim
    MapleSim
    MapleSim is a 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...

  • MathModelica
  • OpenModelica
  • SimulationX
    SimulationX
    SimulationX is a multi-domain CAE simulation software for physical system simulation, developed and sold commercially by ITI GmbH, based in Dresden, Germany...

  • PROPT
    PROPT
    The PROPT MATLAB Optimal Control Software is a new generation platform for solving applied optimal control and parameters estimation problems.The platform was developed by MATLAB Programming Contest Winner, in 2008...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK