MultiBondLib.UsersGuide.Overview MultiBondLib.UsersGuide.Overview


This overview contains the following sections: 

  1. Bondgraphic modeling
  2. Multibondgraphic modeling
  3. Wrapping multibond graphs
  4. The planar mechanics library
  5. The 3D mechanics library
  6. The hybrid 3D mechanics library
  7. Examples
  8. Literature

Package Content

NameDescription
MultiBondLib.UsersGuide.Overview.BGM BGM Bondgraphic modelling
MultiBondLib.UsersGuide.Overview.MBGM MBGM Multibondgraphic modelling
MultiBondLib.UsersGuide.Overview.Wrapping Wrapping Wrapping multibond graphs
MultiBondLib.UsersGuide.Overview.planarMechLib planarMechLib The planar mechanics library
MultiBondLib.UsersGuide.Overview.MechLib MechLib The 3D mechanics library
MultiBondLib.UsersGuide.Overview.HybridMechLib HybridMechLib The hybrid 3D mechanics library
MultiBondLib.UsersGuide.Overview.Examples Examples Examples
MultiBondLib.UsersGuide.Overview.Literature Literature Literature


MultiBondLib.UsersGuide.Overview.BGM MultiBondLib.UsersGuide.Overview.BGM


Bond graphs offer a generic domain-independent means to graphically modeling physical systems in an object-oriented fashion. 

To comfortably model with bond graphs a Modelica library called "BondLib" has been developed by Francois E. Cellier and his students. Using this library, bond graphs can be created in an object oriented fashion.

The BondLib also offers an excellent introduction. If you're unfamiliar to bondgraphic modelling this is a good way to start.

Please note, that the "BondLib" is also partially required by the MultiBondLib. The MultiBondLib is also very similar to the BondLib in its structure and in its way of usage. All your modeling abilities with respect to the BondLib can be adobted for the MultiBondLib.



MultiBondLib.UsersGuide.Overview.MBGM MultiBondLib.UsersGuide.Overview.MBGM



Presentation of Multibonds

The Multibonds, sometimes also called vector bonds, are an important extension of the classic bondgraphic terminology. Multibonds carry a variable number of bonds of the same domain or at least of closely related domains (like the translational and the rotational domain) and model multi-dimensional power flows.

The next figure illustrates the abbreviation of three parallel bonds by a multibond. The cardinality of the multibond is denoted by the placed in the middle of the multibond .

Causal and acausal Multibonds

Of course, there are also multibond counterparts for the causal bonds, but it has to be mentioned that these two causal multibonds do not cover all possible causalizations, because mixed causality is possible. Anyhow a notation for mixed causality is missing and also not very meaningful. If we want to explicitly show it, we have to decompose the multibond into single causal bonds.

Multibondgraphic elements

Each vertex element of a single bond graph has its multibondgraphic counterpart. The elementary equations of the basic bondgraphic elements remain the same. A transformation to the multibondgraphic terminolgy just extends the equations to be written in vectorial form.

Advanced multibondgraphic elements

Sensor elements for bondgraphic effort, flow, position and charge are provided as well. These elements provide an acausal real signal.

Also multibondgraphic switches have been developed, although their usage is barely meaningful.

Additional elements for multibond graphs

Elements are needed to allow a composition, decomposition and reordering of multibond graphs. These elements can be found in the subpackage: "Compositions" The converter bonds provide an interface to the single bond elements of the "BondLib".

Applications of multibond graphs

Multibond graphs are mainly used to model multidimensional processes. These can be diffusion processes like a heat distribution in planar electric circuit. In the sublibraries multibond graphs are used to model multidimensional mechanics. Another interesting field of application is the modeling of chemical reaction dynamics. Multibonds may also be applicable in the field of general relativity.


MultiBondLib.UsersGuide.Overview.Wrapping MultiBondLib.UsersGuide.Overview.Wrapping


Although multibond graphs can be used to describe arbitrarily complex physical systems, they offer a fairly low-level interface and are therefore not always easily readable. Especially multibond graphs of mechanical
systems tend to become pretty large and hard to read. Furthermore, different modelers may prefer different modeling mechanisms, because they are more familiar with them. 

Since bond graphs offer a low-level interface, it is always possible to wrap bond graphs inside other modeling metaphors. For example, the model of a damper in planar mechanics:

contains the simple bond graph:

The M2D->MBG and MBG->M2D models are converter elements that transform the mechanical connectors to bond graph connectors, and vice versa.

Wrapping is extensively used in the domain specific subpackages of the MultiBondLib.



MultiBondLib.UsersGuide.Overview.planarMechLib MultiBondLib.UsersGuide.Overview.planarMechLib


  The MultiBondLib contains a subpackage for planar mechanical models: PlanarMechanics.
  

This library is similar in its structure and way of usage to the MultiBody library.

This library offers an object-oriented solution for the modeling of planar mechanical systems. Mechanical systems can be composed out of single ideal elements. They are separated according to their nature into subpackages. These packages contain:

All the basic elements consist of multibond graphs.

Tutorial

The MultiBody library offers an excelent tutorial. The models of this library can be treated essentially the same way.

Wrapped MultiBond Graphs

A look into the mechanical models reveals the corresponding multibond graphs. The standard multibond for planar mechanical systems is of cardinality 3 and summarizes the translational and rotational domain. The first two bonds belong to the translational domain whereas the third one is of the rotational domain. A multibond's effort vector is then {fx, fy, t} and the corresponding flow vector: {vx,vy,w}. The composition is illustrated in the next figure.

The processing of the positional variables is done by acausal signals. All bondgraphic variables and the positional signals are resolved in the inertial system.

Two converter elements convert the bondgraphic variables to the variables of the main connectors and vice-versa. These elements create a shell for the multibond graph. The figure below presents such a typical shell. The multibond graph is indicated by 1-junctions.

Kinematic Loops

Kinematic loops are not problematic and can be modeled in a fully object-oriented way. The appearing redundant statements are removed automatically. Whenever loop structures occur, non-linear algebraic equations are present on "position level", but usually they are solved fast and robustly and cause no further problems. Also an element for the manual closure of kinematic loops is provided. The application of this element is meaningful, if you want to "cut" the loop at a specific point. (This might lead to better equations)

Efficency

The PlanarMechanics library offers a comprehensive set of ideal elements for planar mechanics. Planar systems can be comfortably modeled and efficiently simulated.

The selection of the state variables is of major importance for the efficiency of the resulting simulation. This selection is automatically done by Dymola. The resulting state variables are then always the states of a joint's relative position and motion. So each joint is declaring state variables, unless there is a kinematic loop.

The state selection can be improved or fully determined by the advanced parameter "enforceStates" that is part of all joints. This helpful to avoid sets of dynamic state selection as they occur in kinematic loops.

The resulting systems of linear equations are usually small and can be solved fast and accurately. Kinematic loops usually lead to a system of 2 non-linear equations.

Examples

A small set of examples demonstrate the usage of the PlanarMechanics library. They are easy to understand and offer a good starting point to make yourself familiar with this library.


MultiBondLib.UsersGuide.Overview.MechLib MultiBondLib.UsersGuide.Overview.MechLib


  

This library is a partial reimplementation of the MultiBody library of Prof. Dr. Martin Otter.

This library offers an object-oriented solution for the modeling of 3D-mechanical systems. Mechanical systems can be composed out of single ideal elements. They are separated according to their nature into subpackages. These packages contain:

All the basic elements consist of multibond graphs.

Tutorial

The MultiBody library offers an excelent tutorial. The models of this library can be treated essentially the same way.

Wrapped MultiBond Graphs

A look into the mechanical models reveals the corresponding multibond graphs. There are separate multibonds for the translational and rotational domain, both of cardinality 3. The composition of them is illustrated in the next figure.

This separation is necessary because the corresponding bondgraphic variables are resolved in different coordinate systems. The translational variables are resolved with respect to the inertial system. The rotational variables are resolved with respect to the body system. The body system is defined by the signal R that contains the 3x3 orientation matrix. Again, the the positional variables are processed by acuasal signals and are of course resolved in the inertial system.

Two converter elements convert the bondgraphic variables to the variables of the main connectors and vice-versa. These elements create a shell for the multibond graph. The figure below presents such a typical shell. The multibond graph is indicated by 1-junctions.

Kinematic Loops

Kinematic loops are not problematic and can be modeled in a fully object-oriented way. The appearing redundant statements are removed automatically. Whenever loop structures occur, non-linear algebraic equations are present on "position level", but usually they are solved fast and robustly and cause no further problems.

Also an element for the manual closure of kinematic loops is provided. The application of this element is meaningful, if you want to "cut" the loop at a specific point. (This might lead to better equations)

Planar loops cannot be handled autoatically. To close such a strucute a special revolute joint is provided.

Efficency

The Mechanics3D library offers a comprehensive set of ideal elements for 3D-mechanics. Mechanical systems can be comfortably modeled and efficiently simulated.

The selection of the state variables is of major importance for the efficiency of the resulting simulation. This selection is automatically done by Dymola. The resulting state variables are then always the states of a joint's relative position and motion. So each joint is declaring state variables, unless there is a kinematic loop.

The state selection can be improved or fully determined by the advanced parameter "enforceStates" that is part of all joints. This helpful to avoid sets of dynamic state selection as they occur in kinematic loops.

The resulting systems of linear equations are usually small and can be solved fast and accurately. Kinematic loops lead to a systems non-linear equations.

Examples

A comprehensive set of examples demonstrate the usage of the Mechanics3D library. They are easy to understand and offer a good starting point to make yourself familiar with this library. Don't forget the examples of the PlanarMechanics library.


MultiBondLib.UsersGuide.Overview.HybridMechLib MultiBondLib.UsersGuide.Overview.HybridMechLib


  The MultiBondLib contains a subpackage for hybrid 3D-mechanical models: Mechanics3DwithImpulses.
  

It is an extension of the subpackage Mechanics3D. The continuous models are extended to hybrid models, that describe the behaviour of in situaions of continuous changement and in situations of sudden (impulse) changement. The extension of the underlying continuous models is done by equations.

The library is used to create models of mechanical systems that underly hard collisions and impacts. Again, mechanical systems can be composed out of single ideal elements. They are seperated as in Mechanics3D into packages for:

Tutorial

The modeling of the actual mechanical systems doesn't differ from the Mechanics3D library.

A contact model needs to be applied to model an hard impact between two mechanical systems. The contact model generates additionally a contact signal that needs to be manually connected to both colliding systmes. This is done via the "InsertImpulse" element of the subpackage "interfaces".

If a system underlies several possible impacts, the corresponding contact signals have to be merged by a boolean "or" function.

Please, don't forget to take a look at the examples.

Extension of the continuous models

The existing continuous models of the Mechanics3D library are extended by their corresponding impulse equations. The necessary equations are added in textual form. The continuous models remain unchanged.

To afford such an extension of the continuous models, it is necessary to redeclare the existing connectors. The new connectors are an extended variant of the old ones. The new connector contains also boolean variable that is the contact signals. This signal is set to true at the time of a force impulse and is transmitted between all rigid connections.

Kinematic Loops

Impacts on kinematic loops cause no severe problems. Only the loop needs to be closed manually by a special CloseLoop elements of the package "Joints". The CloseLoop element is an extension of the manual loop closer of the Mechanics3D library. It is needed, because a further loop needs to be cut: the one of the boolean contact signal.

Efficency

The efficiency of the continuous models is not impaired in any way.

The efficiency of the computation at an discrete event is sufficient but could be better. However, the resulting systems of linear equations are solved accurately and robustly.

Examples

A small set of examples demonstrate the usage of the Mechanics3DwithImpulses library. They offer a good starting point to make yourself familiar with this library.


MultiBondLib.UsersGuide.Overview.Examples MultiBondLib.UsersGuide.Overview.Examples


  The main library offers a few general examples:
  
  

Most of the examples are provided in the domain-specific sublibraries:



MultiBondLib.UsersGuide.Overview.Literature MultiBondLib.UsersGuide.Overview.Literature


This modeling of this library is described in the corresponding 
master thesis.
The master thesis offers an introduction to bondgraphic and multibondgraphic modeling and 
provides explanations of the fundamental mechanical models.

Additionally, we offer a fairly substantial bibliography of bond graph modeling in the "Bond Graph Compendium."



HTML-documentation generated by Dymola Thu Aug 31 09:47:32 2006.