Bond Graph Modeling, Simulation and Control Software
SYMBOLS Shakti : SYstem Modeling in BOndgraph Language and Simulation
SYMBOLS Shakti is an object oriented hierarchical hybrid modeling, simulation and control analysis software. It allows users to create models using bond graph, block-diagram and equation models. Large number of advanced sub-models called Capsules are available for different engineering and modeling domains. It automatically derives completely reduced system equations. Differential causalities and algebraic loops are solved using its powerful symbolic solution engine. Non-linerities and user code can be integrated in single editing IDE. It creates high-level C language code and allows any external code embedding. The simulator module has both online and post-display facilities. Event handlers and online event notification and variation of parameters are key features of this advanced simulator.
It has a well-developed controls module, that automatically transforms state-space modules from BG or block diagram models and converts them to analog or digital transfer functions. Most control charts and high-level control analysis can be performed.
Review : This software uses a contemporary GUI with great outlook. Its symbolic and numeric solution capabilities are very advanced. The iconic modeling facility allows system-morphic model layout. The event handlers are a great bonus. It also has many post-processing facilities over the simulated result. This software requires pre-installed Microsoft Developer Studio™ (version 5.0 or above). The direct C++ compilation allows easy integration of external code. The controls module incorporates advanced state space, analog, digital routines for various conversions, filters, feedback systems. The controls module handles matrices, transfer functions, quadruples and numeric data equally. This software is recommended for use in research and industrial modeling of large systems.
ENPORT: From RosenCode Associates, Inc.
The is the first bond graph modeling and simulation software written in the early seventies by Prof. R.C.Rosenberg. This software did not request causalities to be
specified, and it transformed the topological input description into a branch admittance matrix which could then be solved. Consequently, ENPORT is able to handle structurally singular problems. The current version of the code, ENPORT-7 offers an alphanumerical topological input language and a menu-driven graphical input. ENPORT-7 runs on various mainframe computers,
but a slightly reduced version, ENPORT/PC, exists for IBM PC's and compatibles.
Review : There are a lot of sentimental values attached with this product. It takes a very high position in the heart of bond graphers. This software was instrumental in growth of bond graph theory and applications. The new release Model Builder (MB) supports hierarchical model structuring by defining subsystem Components that can contain other Components; and it has display properties, such as an icon, that can be used in a graphical modeling environment. It structures equations for solution with MATLAB®. User-Defined Model Types (UDMTs), which are generalized model definition based on multiport templates that can be specialized for a particular purpose, are the latest improvements to this product. The MDI (Multiple document interface) architecture make it a suitable editing and development environment. However, the product is not available in a commercial scale and doesn't confirm to cutting-edge software development practices.
ARCHER
It is a product of The "Laboratoire d'Automatique et d'Informatique Industrielle de Lille" (L.A.I.L.) at the "Ecole Centrale de Lille". The bond graph group (BG-group) of LAIL is a research structure devoted to the development and application of the bond graph theory to create physically consistent modeling of a wide class of engineering and life-sciences systems. The BG-Group has developed the modeling software (ARCHER) allowing a structured and graphical development of engineering models. This group has also developed advanced methods for fault diagnosis and structural analysis using bond graphs.
Review : The software is written in VB and C++, is object oriented and structured. It is yet not commercially available. The software allows determination of structural controllability, observability and invertibily of linear models. It is a high quality academic work based on the research at the "Ecole Centrale de Lille" catering mostly to automatic control theory. The user interface lacks modern features. Numerical simulation and control systems analysis are not within the scope of this product.
CAMP-G : The Universal Bond Graph Preprocessor for
Modeling and Simulation of Mechatronics Systems.
CAMP-G is a software package that helps engineers and scientists design Mechatronics and Dynamic Systems using as input physical models described by the method of Bond Graphs. Mechanical, Electrical, Hydraulic, Thermal and Control Systems
can be modeled together using computer graphics, CAMP-G is a model generating tool that interfaces with Languages such as
MATLAB® / SIMULINK®, ACSL® and others to perform computer simulations of physical and control systems.
Review : A Preprocessor, based on a good GUI, doesn't support object based modeling. Equations derived are neither completely reduced nor sorted properly. Heavily depends on external software to perform post-processing. In the post-processing domain, relation to the base bond graph model is lost amidst mathematical abstractions.
20-sim : Twente Sim the simulation package from the University of Twente.
20-sim is a modeling and simulation program that runs under Windows. It is an advanced modeling and simulation package for dynamic systems that supports iconic diagrams, bond graphs, block diagrams, equation models or any combination of these. With it you can simulate the behavior of dynamic systems, such as electrical, mechanical and hydraulic systems or any combination of these. The latest release is MATLAB® enabled and allows interaction with SIMULINK®.
Review: The product is a time-tested modeling tool evolved after the famous TutSim software. The sub-model facilities are big bonus. It supports hierarchical modeling, but sticks to a out-dated PDMT (Pre-Defined Model Type) object implementation. Doesn't require external compilers or any other post-processing software. Control systems analysis module is present only in form of simulation and some basic frequency domain charts. The object property and equation description language does'nt confirm to any current day programming languages like Pascal, Fortran, C, or C++. Overall, it is a good product recommended for modeling of small to medium sized systems. The graphics and hard copy output quality is poor. Use of non-standard menu and toolbar systems, difficult to access library windows and SDI (Single document interface) architecture make overall model creation very tedious.
PASION 32 : simulation system for Windows
A object-oriented simulation tool for discrete, continuous and combined models. It supports ODE, signal-flow graphs, bond graphs, queuing models and animation. It is a low-cost simulation software for discrete event and continuous system simulation, queuing models, bond graphs, signal flow graphs, animation in 3D scenarios, training and more. The Bond Graph model is created on the screen using a menu-driven easy-to-use graphical editor BONDW. No causalities are needed. BGS can verify the user causalities or impose its own causalities on the user model. Non-linear dependencies can be used
describing source nodes or special user-defined non-linear graphs. BGSW (Bond Graph Simulator) generates a set of differential equations for a given model. These equations are used to automatically generate the corresponding PASION code.
It then invokes the solver module DIFEQ for simulation.
Review : A product from Stanislaw Raczynski, who is an editor of open directory project on scientific simulation software, this product lives up to reputations of its author. It is an object-oriented, Pascal-related simulation language. The language has a clear process/event structure. It's translator generates Pascal source code that can be run using a Pascal compiler. The software computes transient process simulation as well as frequency response (Bode and Nyquist plots) are provided. State events, Discrete and continuous objects can run concurrently. Various frequently used processes are available in library form. Also includes a Post Mortem analyzer for stochastic (discrete and continuous) models. The Complex System Simulator (CSS) is very useful for combined systems, permits model coupling. Sub models of different types (queuing, continuous, etc.) can run concurrently in the same simulation program. Hierarchical model building features are not very advanced in bond graph domain. The GUI features are rather rudimentary. Recommended for class-room and tutorial purpose use by students and researchers.
BondLab : Bond Graph laboratory from K.U. Leuven
BondLab is a design environment which has the aim to facilitate and optimize the design cycle of mechahytronic products. BondLab is developed as a platform independent MATLAB®
toolbox. It integrates seamlessly the behavioral modeling with other tasks in a mechahytronic design cycle.
It has an easy to use model entry graphical interface and a unified treatment of both linear and nonlinear models. Several smooth transitions between the behavioral and causal model descriptions are available ((non)linear parametric ODE description in MatLab® .m function format, Transfer Function (symbolic and numerical), (non)linear State Space (symbolic and numerical), parametric Simulink2® .mdl block diagram format). Contains direct simulation, visualization and animation facilities.
Review : The GUI confirms to standard software practices. The editing tools are ergonomically placed. It is based on a SDI (single document interface) architecture in Win 32, which makes model building a bit difficult. A bond graph animation support is available. Overall, this product can be rated as an average software.
CAMBAS : Computer Aided Model Building Automation System
In this automated modeling software using BGs from U. Michigan, system components are represented by icons called templates, which have a fixed number of ports by which they can be interconnected. Expandable (variable complexity) bond graph models are used to represent the detailed model contained in each component template. CAMBAS allows the design engineer to simply select and arrange the icons (templates) containing the expandable model to build a 'word bond graph like' representation that matches the configuration of the system to be modeled (designed). CAMBAS then automatically deduces the Proper Model (global system bond graph) by searching through the component templates based on the eigenvalue structure of the system. The software includes four major components, namely, bond graph processor, system synthesizer, equation generator, and eigenvalue solver. The parameters (mass, stiffness, damping, diameter, etc.) of each component are entered using the Parameters tool. The bond graph of any component can be displayed using the Expand tool.
Review : CAMBAS is developed using the C programming language and the OSF/Motif graphics commands for RISC workstations. This software facilitates the development of proper models (simplest model with physically meaningful parameters and variables) using a two-level, Template-Based Modeling Approach. The proper model is detected when all the system eigenvalues within a user specified frequency range of interest are found. An additional accuracy criteria, which requires all of the critical system eigenvalue to converge to a user specified tolerance, can also be used. This product aims at generating proper models during the early stages of the design, shortening the design cycle and boosting the dynamic performance. Applicable to only linear systems, simulation and control analysis (besides eigenvalue inspection) are out of its scope. It is a freeware available from Automotive Research Center, University of Michigan.
Dymola : BG modeling software from Dynasim AB
Dymola provides an object oriented modeling using Modelica language. Dymola allows for graphical model composition from library models, continuous/discrete simulation and 3D animation. Bond graph methodology can be used. Model details are given by ordinary differential and algebraic equations, also in a matrix form. Dymola converts the differential-algebraic system
of equations symbolically to state-space form if possible. Graph-theoretical algorithms are used to determine which variable to solve for in each equation and to find minimal systems of equations (optionally using tearing) that have to be solved simultaneously (algebraic loops). The equations are then, if possible, solved symbolically. Linear systems of equations can be solved symbolically or numerically. Dymola also supports instantaneous and discontinuous equations. Ready to use model libraries are available in many engineering domains.
Review : Handles large, complex multi-domain models, faster modeling by graphical model composition, symbolic pre-processing, allows user defined model components, 3D Animation and real-time simulation. Huge library modules make it an ideal platform for easy and quick model creation. Uses object oriented modeling language Modelica to support hierarchical structuring, reuse and evolution of large and complex models independent from the application domain. Acausal sub-model creation based on differential and algebraic equations gives flexibility of implementation. Learning Modelica language seems to be the only hitch. There are no major provisions for advanced frequency domain and control system analysis. It is rated a very high as a modeling language, but fails to impress in its bond graph processing capabilities.
Java Applet for BGs from U. Miskolc
This internet version of the program can be run as Applet with a Java compatible browser Models cannot be saved. Only the example models are available to load. The Application version supports local file operations and requires Java compatible
OS, Java Developers Kit or Microsoft Command-line Loader for Java. Static data for parameters can be assigned through a properties dialog. Simulation results are displayed for selected variables.
Review : A small implementation, that is good for modeling and solving very small and linear tutorial problems using basic bond graph elements. The Internet version is a good learning tool.
HybrSim : Hybrid Systems Simulation from DLR
HYBRSIM is an implementation of a hybrid (mixed continuous/discrete behavior) bond graph modeling and simulation. It embodies a set of physical principles that govern discontinuous changes in physical system models which violate the continuity of power constraint. It is an experimental modeling and simulation environment to establish a formal framework and serves as a precursor to an object-oriented implementation as part of the Modelica modeling language. This software was designed using IBM VisualAge for Java. It consists of a model editor and two toolboxes, one for bond graph elements and one for block diagram elements. The simulator has an animation facility to study the power distribution over time.
Review : Hybrid bond graphs extend traditional bond graphs by an ideal switching element, the controlled junction. Simulation is based on graph propagation. No explicit system of equations is derived. It supports only ideal bond graph elements and a few block-diagram components for analysis of small linear systems. The software is still in development stage. Free java source code can be downloaded.
Modelica : Object-Oriented Physical System Modeling Language
This is a language designed for multi domain modeling developed by the Modelica Association, a non-profit organization with seat in Linköping, Sweden. Modelica is An object-oriented modeling and simulation tool, influenced by many of the
ideas from OMOLA. Modelica is a freely available,
object-oriented language for modeling of large, complex, and heterogeneous physical systems. It is suited for multi-domain modeling, for example, mechatronic models in robotics, automotive and aerospace applications involving mechanical, electrical, hydraulic and control subsystems, process oriented applications and generation and distribution of electric power. Models in Modelica are mathematically described by differential, algebraic and discrete equations. Modelica is designed such that available, specialized algorithms can be utilized to enable efficient handling of large models having more than hundred thousand equations. Modelica is suited and used for hardware-in-the-loop simulations and for embedded control
systems.
Review : The simulation and graphical editing interface of many software products like DYMOLA generate and use Modelica code. The latest release of Modelica language Version 1.4 was on December 15, 2000 by the Modelica Association. Modelica can be used for mixed continuous and discrete models (Hybrid models) as well as for Discrete Event and Discrete Time Models. It can deal with conditional equations with causality changes and generally adopts to a formal acausal (non-causal) modeling scheme at the front-end. It is suitable for modeling of large systems using hierarchical modeling scheme embeded as reusable sub-model classes. The lack of proper GUI drivers and difficulty in linking with other high-level programming languages like C and C++ code are a few short-comings.
MS1 : BG modeling software from Lorenz Simulation
MS1® is a modeling workbench developed in partnership with EDF (Electricité de France), which allows free combination of Bond Graph, Block Diagram and Equations for enhanced flexibility in model development. MS1 is an interactive environment for modeling, simulation and analysis of non-linear dynamic systems. Models can be introduced in Bond Graph, Block Diagram or directly as equations. MS1 performs a symbolic manipulation of the model (using a powerful causality analysis engine) and generates the corresponding simulation code. Calculation is done by commercialy available solvers like Esacap, Matlab/Simulink® and ACSL®. MS1 also permits topological analyses of the model (looking for causal loops and paths between variables). Downloadable Trial version of MS1 version 5 for Windows NT, 95 and 98 is available for evaluation.
Review : MS1 provides ways to call subroutines in C and Fortran. Hierarchical description is allowed using top-down and bottom-up approaches. The user interface (GUI) is outdated, has no scroll bars in the model viewing window (large models are clipped) and the overall design and ergonomics is awfully unprofessional. It fails to impress as a reliable, modern modeling and simulation package.
MTT : Bond Graph based Model Transformation Tools
MTT (Model Transformation Tools) comprises a set of tools for modeling dynamic physical systems using the bond-graph methodology and transforming these models into representations suitable for analysis, control and simulation. These tools use, and generate m files for, GNU Octave. It allows incorporation of bicausal bond graphs and hierarchical bond graphs.
MTT handles hybrid modeling of systems using two new elements, namely, a switched I component(ISW) and a switched C component(CSW).
Review : MTT has been developed by Peter Gawthrop at the University of Glasgow. It is a non-comercial research tool. Besides command line and batch mode input, a simple menu driven interface is also available. GNU Octave is a freely redistributable high-level language software, primarily intended for numerical computations and is mostly compatible with Matlab®. It provides a convenient command line interface for solving linear and nonlinear problems numerically.
Bond graph tool box for Mathematica by Nicolas Venuti
A product of Virtual Dynamics in collaboration with Wolfram Research,
this toolbox features a complete embedding of graphical bond graph in the Mathematica symbolic environment and notebook interface. Allows field elements and non-linear constitutive relations. It uses a portable notation of models to exchange bond graphs between users.
Review : As demonstrated at ICBGM'01, the attempt is note-worthy. However, it still is in a developmental stage and doesn't include any hierarchical modeling philosophy. Till review, the tool box did only support basic bond graph elements and junction structures. Recommended for tutorial use in modeling of very small simple systems.
Add-on library BG V.2.0 for SIMULINK by G. H. Geitner
Nine blocks ensure all essential modes via mask input, e.g. causality changes, nonlinearities, initial values, vectorial operation, power outputs or protection of settings. More then 50 examples describe the different usage as for process modelling, control loops or energy efficiency computation. A zip file contains tool, examples and short documentation.
