Хопсан


Hopsan — бесплатная среда моделирования жидкостных и мехатронных систем, разработанная в Университете Линчёпинга . Хотя первоначально он был разработан для моделирования гидравлических систем, он также был адаптирован для других областей, таких как электроэнергетика , динамика полета и динамика транспортных средств . Он использует двунаправленные линии задержки (или элементы линии передачи) для соединения различных компонентов.

Разработка Hopsan впервые началась в 1977 году [1] на кафедре гидравлики и пневматики Университета Линчёпинга. Первая версия была написана на FORTRAN с графическим пользовательским интерфейсом с возможностью перетаскивания , написанным на Visual Basic . В дополнение к возможностям моделирования он также имел функции оптимизации на основе моделирования . При этом использовался метод оптимизации прямого поиска COMPLEX или общий алгоритм (GA). Он также имел функции частотного анализа и анализа передаточной функции по результатам моделирования. Он также поддерживает совместное моделирование в Simulink.. Модели компонентов были написаны в виде подпрограмм FORTRAN. Также был разработан отдельный инструмент под названием COMPGEN, написанный на Mathematica , который можно использовать для более простого создания моделей компонентов. В 1991 году для системного моделирования был введен метод двунаправленных линий задержки (или моделирования линий передачи TLM). [2]

В 2009 году разработка первой версии Hopsan была прекращена в пользу нового поколения программного обеспечения, написанного на C++ . Рабочее название проекта — Hopsan NG, а первая бета-версия была выпущена в феврале 2011 года. [1] Части исходного кода в Hopsan использовались в редакторе соединений OpenModelica (OMEdit) [3] в сотрудничестве с OpenModelica. проект. [4]

Нынешнее поколение Hopsan состоит из двух частей: графического пользовательского интерфейса и базовой библиотеки моделирования. Они полностью разделены, поэтому ядро ​​можно использовать автономно, например, во встроенных системах или целевых компьютерах. Модели системы строятся с использованием компонентов из встроенных или внешних библиотек. К ним относятся компоненты для гидравлических, пневматических, электрических, механических систем и систем управления (фильтры, нелинейные функции и арифметика). Компоненты библиотеки предварительно скомпилированы, поэтому компиляция во время выполнения не требуется . Пользовательские модели могут быть созданы и скомпилированы как отдельная библиотека.файлы, которые можно загрузить в Hopsan. Существует также встроенный автоматический генератор компонентов на основе уравнений с использованием синтаксиса Modelica. Модели также можно генерировать из уравнений с помощью Mathematica. Численная оптимизация может быть выполнена встроенным инструментом с использованием алгоритмов COMPLEX-RF, COMPLEX-RFP или роя частиц. Также возможно выполнить анализ чувствительности методом Монте-Карло. Инструмент построения графиков способен генерировать частотные спектры и выполнять частотный анализ для создания диаграмм Боде и графиков Найквиста.

Модели Hopsan можно экспортировать в Simulink. Данные графика могут быть экспортированы в XML , CSV , gnuplot и Matlab . Эксперименты по включению ядра моделирования Hopsan в LabVIEW Simulation Interface Toolkit с использованием библиотеки-оболочки оказались успешными. В настоящее время реализуется поддержка обмена моделями, как импорта, так и экспорта, с использованием интерфейса функционального макета. [5]

Hopsan — это кроссплатформенный проект, предназначенный для работы в системах Windows , Unix и Macintosh . Текущая бета-версия доступна только для Windows и Linux, но планируется создать версии и для других систем. Метод элементов линии передачи очень подходит для параллельного выполнения из-за физически мотивированных временных задержек между некоторыми компонентами. Hopsan поддерживает разделение моделирования на отдельные потоки , что позволяет использовать преимущества многоядерных процессоров . [6]