Please note that BondSim implements our ideas of Bond Graphs and modeling mechatronic systems by Bond Graphs. Thus, it possible, that it differs from how the other authors treat the Bond Graphs. It is described in much more details in the reference part of this manual and in particular in our books.
The main difference concerns the causality issue. In common Bond Graphs the modeling and the causality assignment is closely related. As is well known the causality assignment defines what are in the Bond Graphs the inputs and what are the outputs. If it is not possible to achieve this then the conventional Bond Graph modeling fails. Often the models are changed to archive this. Our approach is quite different. We separate the modelling of the model solving. We use the power and signal flow through the system and the physical reasoning to lead us during the model development. We try to develop the models as similar to the physical systems as is possible or reasonable. But, we do not use the causalities. Hence, the resulting models are not abstract state space models, but robust models composed of differential and algebraic equations. We do not try to eliminate the algebraic part of the models but treat them as a unit. Thus, our models are very general and robust. Of course it goes with a price. We have also to develop a very powerful solving engine. This enables e.g. to generate models of the robots in very general Lagrangian form and successfully solve them efficiently as reader can assure himself (by using e.g. Puma 560 robot project from the BondSim Library).
Another point by which our approach differs from the others is that we do not use any modelling language such as Modelica or some other. Instead, by using the object oriented modelling approach, we code the model as a tree of the modeling components. The models are created by drag and drop technique. Only, at the level of elementary components we use the mathematic expressions, but there are basically simple ones. All the other is left to the program. This way, the modeling of pretty complex system can be done and the problem solved without going into much mathematical details. This opens possibility to play with the models to rather wide user population. Using BondSim we may explore the physics of the problem and learn modeling. All the modeling problems that we as developers encountered so far we solved successfully by BondSim. The program library contains a large collection of such projects from different fields of engineering. We invite the users if they find a real engineering problem (not a pathological one) that they failed to solve by BondSim, to report to us at the address given in the manual. We will appreciate this very much.
You are really welcome to the BondSim a powerful modeling and simulation framework. Using BondSim you can solve different problems in engineering ranging from simple mechanical, electrical, thermal system to complex solid-state electronic circuits, multibody systems and continuous system models. It offers in particular a convenient environment for dealing with mechatronics systems. It uses a unified approach based on hierarchical Bond Graphs and continuous and discrete time block diagram models.
The BondSim framework supports systematic top-down model decomposition and/or model building using library components. This way the complex models for solving different real life problems can be developed efficiently. Every effort was taken to make you feel comfortable even if you use it for the first time.
The models are developed using simple drag and drop techniques. There is no a specific simulation language that user must learn in order to develop a model. The physics of the problem can drive the user. Thus, the physical components in the problem may be represented by the corresponding model components. They are interconnected in similar way as the physical components are. These components are “opened” next and modeling continued. In this way the physical models are developed that has a similar structure as the corresponding physical system.