Hopsan

Last updated • 3 min readFrom Wikipedia, The Free Encyclopedia
Hopsan
Developer(s) Division of Fluid and Mechatronic Systems, Linköping University
Initial release2011
Stable release
2.21.1 / June 22, 2023;8 months ago (2023-06-22)
Written in C++
Platform Cross-platform
Available in English
Type modeling, simulation, optimization
License GNU General Public License
Website GitHub repository

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.

Contents

History

The development on Hopsan first began in 1977 [1] 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. [2]

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. [1] Parts of the source code in Hopsan was used in the OpenModelica Connection Editor (OMEdit) [3] in a collaboration with the OpenModelica project. [4]

Program Overview

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. [5]

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. [6]

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. [7]

Related Research Articles

<span class="mw-page-title-main">Modelica</span> Computer Language for System Modeling

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 language is developed by the non-profit Modelica Association. The Modelica Association also develops the free Modelica Standard Library that contains about 1400 generic model components and 1200 functions in various domains, as of version 4.0.0.

In mathematics, a bi-directional delay line is a numerical analysis technique used in computer simulation for solving ordinary differential equations by converting them to hyperbolic equations. In this way an explicit solution scheme is obtained with highly robust numerical properties. It was introduced by Auslander in 1968.

VisSim is a visual block diagram program for the simulation of dynamical systems and model-based design of embedded systems, with its own visual language. It is developed by Visual Solutions of Westford, Massachusetts. Visual Solutions was acquired by Altair in August 2014 and its products have been rebranded as Altair Embed as a part of Altair's Model Based Development Suite. With Embed, virtual prototypes of dynamic systems can be developed. Models are built by sliding blocks into the work area and wiring them together with the mouse. Embed automatically converts the control diagrams into C-code ready to be downloaded to the target hardware.

Specialized wind energy software applications aid in the development and operation of wind farms.

<span class="mw-page-title-main">Dymola</span>

Dymola is a commercial modeling and simulation environment based on the open Modelica modeling language.

<span class="mw-page-title-main">MapleSim</span>

MapleSim is a Modelica-based, 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. Models are created by dragging-and-dropping components from a library into a central workspace, resulting in a model that represents the physical system in a graphical form. Maplesoft began development of MapleSim partly in response to a request from Toyota to produce physical modeling tools to aid in their new model-based development process.

<span class="mw-page-title-main">SimulationX</span> Software application

SimulationX is a CAE software application running on Microsoft Windows for the physical simulation of technical systems. It is developed and sold by ESI Group.

<span class="mw-page-title-main">SimEvents</span> Discrete event simulation tool developed by MathWorks

SimEvents is a discrete event simulation tool developed by MathWorks. It adds a library of graphical building blocks for modeling queuing systems to the Simulink environment. It also adds an event-based simulation engine to the time-based simulation engine in Simulink

EMSO simulator is an equation-oriented process simulator with a graphical interface for modeling complex dynamic or steady-state processes. It is CAPE-OPEN compliant. EMSO stands for Environment for Modeling, Simulation, and Optimization. The ALSOC Project - a Portuguese acronym for Free Environment for Simulation, Optimization and Control of Processes -, which is based at the UFRGS, develops, maintains and distributes this object-oriented software. Pre-built models are available in the EMSO Modeling Library (EML). New models can be written in the EMSO modeling language or a user can embed models coded in C, C++ or Fortran into the simulation environment.

<span class="mw-page-title-main">Ecolego</span>

Ecolego is a simulation software tool that is used for creating dynamic models and performing deterministic and probabilistic simulations. It is also used for conducting risk assessments of complex dynamic systems evolving over time.

The Functional Mock-up Interface defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems.

JModelica.org is a commercial software platform based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. The platform is maintained and developed by Modelon AB in collaboration with academic and industrial institutions, notably Lund University 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.

Wolfram System Modeler, developed by Wolfram MathCore, is a platform for engineering as well as life-science modeling and simulation based on the Modelica language. It provides an interactive graphical modeling and simulation environment and a customizable set of component libraries.

Simcenter Amesim is a commercial simulation software for the modeling and analysis of multi-domain systems. It is part of systems engineering domain and falls into the mechatronic engineering field.

pSeven For designing software used in electronics and embedded systems

pSeven is a DSE software platform that was developed by pSeven SAS that features design, simulation, and analysis capabilities and assists in design decisions. It provides integration with third-party CAD and CAE software tools; multi-objective and robust optimization algorithms; data analysis, and uncertainty quantification tools.

<span class="mw-page-title-main">VisualSim Architect</span> Electronic system modeling and simulation software

VisualSim Architect is an electronic system-level software for modeling and simulation of electronic systems, embedded software and semiconductors. VisualSim Architect is a commercial version of the Ptolemy II research project at University of California Berkeley. The product was first released in 2003. VisualSim is a graphical tool that can be used for performance trade-off analyses using such metrics as bandwidth utilization, application response time and buffer requirements. It can be used for architectural analysis of algorithms, components, software instructions and hardware/ software partitioning.

OpenModelica 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, 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.

<span class="mw-page-title-main">MSC Adams</span> Multibody dynamics simulation software system

MSC ADAMS is a multibody dynamics simulation software system. It is currently owned by MSC Software Corporation. The simulation software solver runs mainly on Fortran and more recently C++ as well. According to the publisher, Adams is the most widely used multibody dynamics simulation software. The software package runs on both Windows and Linux.

References

  1. 1 2 "HOPSAN website" . Retrieved 2011-02-05.
  2. Krus, P.; Jansson, A.; Palmberg, J-O.; Weddfeldt, K. (1990). "Distributed Simulation of Hydromechanical Systems". Third Bath International Fluid Power Workshop.
  3. "OMEdit website" . Retrieved 2011-11-06.
  4. Asghar, Syed Adeel; Tariq, Sonia (2010). Design and Implementation of a User Friendly OpenModelica Graphical Connection Editor (M.Sc. thesis). Linköping University.
  5. Larsson, L. Viktor (2017-08-17). Control Aspects of Complex Hydromechanical Transmissions: with a Focus on Displacement Control. Linköping University Electronic Press. ISBN   978-91-7685-483-9.
  6. Braun, R.; Nordin, P.; Eriksson, B.; Krus, P. (2011). "High Performance System Simulation Using Multiple Processor Cores". The Twelfth Scandinavian International Conference on Fluid Power.
  7. Axin, M.; Braun, R.; Dell'Amico, A.; Eriksson, B.; Nordin, P.; Pettersson, K.; Staack, I.; Krus, P. (2010). "Next Generation Simulation Software using Transmission Line Elements". Fluid Power and Motion Control.