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 out 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.
Edited and compiled by Dr. A.K.Samantaray.
The views and opinions expressed here are those of the editor; collected from various
sources and/or first hand experience of trial / complete versions of the products reviewed.