OpenModelica

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
OpenModelica
Developer(s) Open Source Modelica Consortium (OSMC)
Stable release
1.12.0 / 31 October 2017; 11 months ago (2017-10-31)
Written in C, C++, MetaModelica
Operating system Linux, Windows and OS X
Type Dynamic simulation and optimization
License OSMC Public License, EPL, GPL (free software)
Website www.openmodelica.org

OpenModelica[1][2] 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,[3] a non-profit, non-governmental organization. The Open Source Modelica Consortium is run as a project of RISE SICS East AB in collaboration with Linköping University.

OpenModelica is used in academic and industrial environments. Industrial applications include the use of OpenModelica along with proprietary software in the fields of power plant optimization,[4] automotive[5] and water treatment.[6]

Tools and Applications[edit]

OpenModelica Compiler (OMC)[edit]

OpenModelica Compiler (OMC) is a Modelica compiler, translating Modelica to C code, with a symbol table containing definitions of classes, functions, and variables. Such definitions can be predefined, user-defined, or obtained from libraries. The compiler also includes a Modelica interpreter for interactive usage and constant expression evaluation. The subsystem also includes facilities for building simulation executables linked with selected numerical ODE or DAE solvers. The OMC is written in MetaModelica,[7] a unified equation-based semantical and mathematical modeling language and is bootstrapped.

OpenModelica Connection Editor (OMEdit)[edit]

OpenModelica Connection Editor[8][9] is an open source graphical user interface for creating, editing and simulating Modelica models in textual and graphical modes. OMEdit communicates with OMC through an interactive API interface, requests model information and creates models/connection diagrams based on the Modelica annotations. The implementation is based on C++ and the Qt library.

OpenModelica Shell (OMShell)[edit]

OpenModelica Shell (OMShell) is an interactive Command Line Interface that parses and interprets commands and Modelica expressions for evaluation, simulation, plotting, etc. The session handler also contains simple history facilities, and completion of file names and certain identifiers in commands.

OpenModelica Notebook (OMNotebook)[edit]

OpenModelica Notebook (OMNotebook), is a light-weight Mathematica-style editor for Modelica that implements interactive WYSIWYG realization of Literate Programming, a form of programming where programs are integrated with documentation in the same document.

OMNotebook is primarily used for teaching and allows to mix hierarchically structured text with cells containing Modelica models and expressions. These can be evaluated, simulated and plotted with the results displayed directly in the OMNotebook.

OpenModelica Python Interface (OMPython)[edit]

OMPython is a Python interface enabling users to access the modeling and simulation capabilities of OpenModelica from Python. It uses CORBA (omniORB) or ZEROMQ to communicate with the OpenModelica scripting API.

Modelica Development Tooling (MDT)[edit]

MDT is an Eclipse plugin that integrates the OpenModelica compiler with Eclipse. It provides and editor for advanced text based model editing with code assistance. MDT interacts with the OpenModelica Compiler through an existing CORBA based API and is used primarily in the development of the OpenModelica compiler.

See also[edit]

References[edit]

  1. ^ Administrator. "Welcome to OpenModelica - OpenModelica". openmodelica.org. Retrieved 2017-05-24.
  2. ^ "OpenModelica/OpenModelica". GitHub. Retrieved 2017-05-24.
  3. ^ "OSMC Home page"
  4. ^ "ABB Power Plant optimization"
  5. ^ "Wolfram modeler"
  6. ^ " Mike operations"
  7. ^ Pop, Adrian; Fritzson, Peter (2006-09-13). "MetaModelica: A Unified Equation-Based Semantical and Mathematical Modeling Language". Modular Programming Languages. Springer, Berlin, Heidelberg: 211–229. doi:10.1007/11860990_14.
  8. ^ Adeel, Asghar, Syed; Sonia, Tariq, (2010). "Design and Implementation of a User Friendly OpenModelica Graphical Connection Editor".
  9. ^ Administrator. "OpenModelica Connection Editor (OMEdit) - OpenModelica". openmodelica.org. Retrieved 2017-05-24.