OpenModelica[1][2] — универсальное свободное открытое программное обеспечение для моделирования, симуляции, оптимизации и анализа сложных динамических систем. Наиболее полно среди открытых проектов покрывает функционал Matlab Simulink и Dymola. Основано на языке Modelica.
Активно развивается Open Source Modelica Consortium,[3] некоммерческой неправительственной организацией. Open Source Modelica Consortium является совместным проектом RISE SICS East AB[4] и Линчёпингского университета.
OpenModelica используется в академической среде и на производстве. В промышленности используется в области оптимизации энергоснабжения,[5] автомобилестроении[6] и водоочистке[7], робототехнике.
Включает блоки
По своим возможностям приближается к таким вычислительным средам как Matlab Simulink, Scilab xCos, имея при этом значительно более удобное представление системы уравнений исследуемого блока (фактически без существенного преобразования и без сведения к форме Коши, остаётся лишь задать начальные условия и записать уравнения в скоростях).
Имеется возможность компилировать код блоков для дальнейшего внедрения в Matlab и Scilab xCos, а также подключать Matlab-блоки к OpenModelica.
Полностью совместима с библиотеками Modelica.
OpenModelica Compiler (OMC)[8] является компилятором Modelica, транслирующим код Modelica в код языка C, включая классы, функции и переменные из программ пользователя или библиотек. Компилятор также включает интерпретатор Modelica для интерактивного использования и вычисления выражений (аналогами являются Scilab, xMaxima и т. д.). Поддерживаются решатели ОДЕ и дифференциальных уравнений в частных производных.
OpenModelica Connection Editor[9][10] — открытый и свободный редактор с графическим интерфейсом для создания, правки и симуляции моделей на языке Modelica и отображения результатов в графическом виде (графики или визуализация движения).
OpenModelica Shell (OMShell) — интерактивная командная строка, которая парсит и интерпретирует команды и выражения Modelica для вычисления, симуляции, построения графиков и т. п. Имеется история команд и функция автодополнения.
OpenModelica Notebook (OMNotebook) является легковесным аналогом OMEdit, используется преимущественно для оформления документации и обучения. Так же как в командной строке, возможно производить вычисления, симуляцию и построение графиков с отображением внутри записной книжки.
OMPython — соответственно, предоставляет возможность проведения вычислений динамических систем на языке Python.
Плагин для Eclipse.