Hopsan: Среда моделирования гидравлических и механических систем
Hopsan
Hopsan: бесплатная симуляция гидравлики, мехатроники и других систем. Разработана в Linköping University с 1977 года. Моделирование, динамика, электротехника.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Hopsan — это бесплатная среда моделирования для гидравлических и мехатронных систем, разработанная в Университете Линчёпинга. Изначально разработанная для моделирования систем гидропривода, она также нашла применение в других областях, таких как электроэнергетика, динамика полета и динамика транспортных средств. В ней для соединения различных компонентов используются двунаправленные линии задержки (или элементы линий передачи).
Hopsan is a free simulation environment for fluid and mechatronic systems, developed at Linköping University. Although originally developed for simulation of fluid power systems, it has also been adopted for other domains such as electric power, flight dynamics, and vehicle dynamics. It uses bi directional delay lines (or transmission line elements) to connect different components.
История
Разработка Hopsan впервые началась в 1977 году в отделе гидравлики и пневматики Университета Линчёпинга. Первая версия была написана на FORTRAN, с графическим пользовательским интерфейсом, поддерживающим перетаскивание, разработанным на Visual Basic. Помимо возможностей моделирования, она также включала функции оптимизации на основе моделирования. Для этого использовался метод прямой поисковой оптимизации COMPLEX или генетический алгоритм (GA). Также были реализованы функции частотного и передаточного анализа, основанные на результатах моделирования. Программа поддерживала совместное моделирование с Simulink. Модели компонентов разрабатывались в виде подпрограмм на FORTRAN. Был также разработан отдельный инструмент COMPGEN, написанный на Mathematica, который позволял создавать модели компонентов более простым способом. В 1991 году для системного моделирования был внедрён метод бидирекциональных линий задержки (или моделирование линий передачи – TLM). В 2009 году разработка первой версии Hopsan была прекращена в пользу совершенно нового поколения программного обеспечения, написанного на C++. Рабочим названием проекта является Hopsan NG, а первая бета-версия была выпущена в феврале 2011 года в сотрудничестве с проектом OpenModelica.
The development on Hopsan first began in 1977 at the Division of Hydraulics and Pneumatics at Linköping University. The first version was written in FORTRAN, with a drag and drop graphical user interface written in Visual Basic. In addition to the simulation capability it also had features for simulation based optimization. This used the COMPLEX direct search optimization method or a generic algorithm (GA). It also had features for frequency analysis and transfer function analysis, on simulated results. It also supported co simulation under Simulink. Component models were written as FORTRAN subroutines. A separate tool called COMPGEN, written in Mathematica, was also developed, which can be used to generate component models in a more straightforward way. In 1991 the method of bi directional delay lines (or transmission line modelling TLM) was introduced for system simulation. In 2009 the development of the first version of Hopsan was dropped in favor for a brand new generation of the software, written in C++. This working name of the project is Hopsan NG, and the first beta version was released in February 2011. in a collaboration with the OpenModelica project.
Обзор программы
Нынешнее поколение Hopsan состоит из двух частей: графического пользовательского интерфейса и библиотеки ядра моделирования. Эти части полностью разделены, что позволяет использовать ядро независимо, например, во встраиваемых системах или на целевых компьютерах. Системные модели создаются с использованием компонентов из встроенных или внешних библиотек, включая компоненты для гидравлических, пневматических, электрических, механических и систем управления (фильтры, нелинейные функции и арифметические операции). Компоненты библиотеки предварительно скомпилированы, поэтому компиляция во время выполнения не требуется. Пользовательские модели могут быть созданы и скомпилированы в отдельные файлы библиотек, которые затем можно загрузить в Hopsan. Также имеется встроенный автоматический генератор компонентов на основе уравнений, использующий синтаксис Modelica. Модели также могут быть сгенерированы из уравнений с помощью Mathematica. Численная оптимизация выполняется встроенным инструментом с использованием алгоритмов COMPLEX RF, COMPLEX RFP или алгоритмов роя частиц. Поддерживается также анализ чувствительности методом Монте-Карло. Инструмент построения графиков позволяет генерировать частотные спектры и выполнять частотный анализ для создания диаграмм Боде и диаграмм Найквиста. Модели Hopsan можно экспортировать в Simulink. Данные графиков можно экспортировать в форматы XML, CSV, gnuplot и Matlab. Эксперименты по включению ядра моделирования Hopsan в LabVIEW Simulation Interface Toolkit с использованием библиотеки-обертки прошли успешно. В настоящее время реализуется поддержка обмена моделями – импорта и экспорта – посредством Functional Mock-up Interface. Hopsan – это кроссплатформенный проект, предназначенный для работы в системах Windows, Unix и Macintosh. Текущая бета-версия доступна только для Windows и Linux, но планируется создание версий и для других систем. Метод конечных элементов для линий передачи хорошо подходит для параллельного выполнения благодаря физически обусловленным временным задержкам между отдельными компонентами. Hopsan поддерживает разделение моделирования на отдельные потоки, что позволяет эффективно использовать многоядерные процессоры. Функциональность графического пользовательского интерфейса включает скрипты Python, функцию отмены/повтора действий, файлы моделей и конфигурации на основе XML, гидравлические символы, соответствующие стандарту ISO 1219-1, и глобальные параметры системы, которыми могут обмениваться компоненты.
The current generation of Hopsan consists of two parts, a graphical user interface and a simulation core library. These are completely separated, so that the core can be used stand alone, for example in embedded systems or target computers. System models are built using components from the built in or external libraries. This includes components for hydraulic, pneumatic, electrical, mechanical and control systems (filters, non linear functions and arithmetic). The library components are pre compiled, so that no compilation is required during runtime. Custom user models can be created and compiled as separate library files, which can be loaded into Hopsan. There is also a built in automated equation based component generator using Modelica syntax. Models can also be generated from equations by using Mathematica. Numerical optimization can be performed by a built in tool, using COMPLEX RF, COMPLEX RFP or particle swarm algorithms. It is also possible to perform Monte Carlo sensitivity analysis. The plotting tool is capable of generating frequency spectrums and performing frequency analysis to generate Bode diagrams and Nyquist plots. Hopsan models can be exported to Simulink. Plot data can be exported to XML, CSV, gnuplot and Matlab. Experiments with including the Hopsan simulation core to LabVIEW Simulation Interface Toolkit by using a wrapper library have been successful. Support for model exchange, both import and export, by using the Functional Mock up Interface is currently being implemented. Hopsan is a cross platform project, with the intention of running on Windows, Unix and Macintosh systems. The current beta release is only available for Windows and Linux, but the intention is to create versions for the other systems as well. The transmission line element method is very suitable for parallel execution, due to physically motivated time delays between certain components. Hopsan has support for dividing simulations in separate threads, making it possible to take advantage of multicore processors. Features in the graphical user interface include Python scripting, an undo/redo function, XML based model and configuration files, hydraulic symbols according to the ISO 1219 1 standard and global system parameters that can be shared between components.