Abstract
Bond graph software can simulate bond graph models without the user needing to manually derive equations. This offers the power to model larger and more complex systems than in the past. Multibond graphs (those with vector bonds) offer a compact model which further eases handling multibody systems. Although multibond graphs can be simulated successfully, the use of vector bonds can present difficulties. In addition, most qualitative, bond graph–based exploitation relies on the use of scalar bonds. This article discusses the main methods for simulating bond graphs of multibody systems, using a graphical software platform. The transformation between models with vector and scalar bonds is presented. The methods are then compared with respect to both time and accuracy, through simulation of two benchmark models. This article is a tutorial on the existing methods for simulating three-dimensional rigid and holonomic multibody systems using bond graphs and discusses the difficulties encountered. It then proposes and adapts methods for simulating this type of system directly from its bond graph within a software package. The value of this study is in giving practical guidance to modellers, so that they can implement the adapted method in software.
Keywords
Introduction
There has been a resurgence of interest in bond graphs in the last 20 years, as computer science has progressed.1,2 Software environments with graphical user interfaces enable the user to enter, modify and interpret bond graphs, allowing the graphical aspect to be fully exploited. Equations can be automatically generated, reducing the scope for human error, and high-performance numerical solvers can be utilised to solve them.
As far as multibody systems are concerned, several bond graph methods have been developed. Karnopp and Rosenberg define a procedure for constructing bond graphs from Lagrange equations.3–5 Tiernego and Bos offer a modular approach based on Newton–Euler equations 6 and Hamiltonian formalism. 7 Different specific physical aspects of multibody systems have also been modelled: high pairs of joints, 8 complex friction models9,10 and flexible bodies.11,12 In addition, bond graph models have been developed for industrial applications: motorcycle, 6 vehicle dynamics,13,14 automotive powertrains,15,16 robots 17 and biomechanics. 18 Some books have some parts on the modelling of multibody systems.1,19–21 However, it is relatively unusual to simulate mechanisms directly from the bond graph without manually deriving the associated equations.6,22–26 This article therefore focuses on the methods for simulating three-dimensional (3D) rigid and holonomic multibody systems from bond graphs. The authors define the class of multibody system studied as one where the joints are lower pairs of joints, only a viscous friction model is considered, and the bodies are assumed to be rigid. The simulation of such systems in bond graphs is problematic, with little detailed literature on the subject.
The aim of this article is to overview and expand on existing methods, in order to provide guidance on simulating multibody systems directly from a bond graph, that is, automatically within a software package, as opposed to the user manually deriving the dynamic equations. It is addressed to bond graph specialists as well as engineers. The software used here is 20-sim: a simulation package for dynamic systems using physical components, block diagrams, bond graphs and equations of motion. The methodology recommended to modellers depends on the type of system to be modelled (open chain (OC) or closed kinematic chain (CKC) systems). Several methods for simulating multibody systems with bond graphs will be compared numerically, by observing parameters such as time (computational load) and accuracy.
An important part of this methodology is to show how a bond graph with vector bonds can be transformed into a bond graph with scalar bonds. This is because bond graph exploitation largely relies on the use of scalar bonds: simplification and reduction, 27 structural analysis 28 and model inversion.29–34
The method is demonstrated on two classic multibody case studies: (1) a planar pendulum and (2) a slider crank. The bond graph approach used in this article has specific features which allow a structured and modular development of complex mechatronic systems: it is multiphysics, graphical, object-oriented and acausal. Embedded electronics could easily be inserted into the models (e.g. modelling a torque delivered by an electrical actuator in the slider crank system). The graphical nature of bond graphs facilitates a global view and comprehension of large complex mechatronic systems, such as helicopter anti-vibratory system. 35 The object-oriented and acausal features also permit a modular approach, allowing knowledge to be capitalised upon and the modelling task to be automated.
The outline of the article is as follows. Section ‘Bond graph modelling dedicated to multibody systems’ gives a brief review of bond graph modelling in the context of multibody systems. Section ‘Methodology of modelling for simulation’ is dedicated to the methodology used to simulate bond graphs for multibody systems both with vector and scalar bonds. Section ‘Case studies’ presents the applications of the presented methods and a numerical comparison. Section ‘Conclusion’ draws general conclusions.
Notation
The notation used in the article is listed as follows.
Bond graph modelling dedicated to multibody systems
Brief review
This section reviews the main contributions on modelling dynamic behaviour of 3D multibody systems. A more detailed review can be found in the study of Borutzky. 1
The multibond graph formalism36,37 is an extension of bond graph method, where the scalar power bonds become vector bonds and the elements multiports. It extended the application of the bond graph to the study of multibody systems with three dimensions.
The bond graph approach for multibody systems was introduced by Bos and colleagues.6,38 In his PhD thesis, Bos developed bond-graph models for 3D multibody systems and discussed how to derive the equations of motion from the bond graph in several different forms. He conducted simulations of a 3D motorcycle, although the equations were derived by hand.
Library models for a rigid body and for various types of joints have been provided by Zeid and Chung 39 so that bond graph models of rigid multibody systems can be assembled in a systematic manner.
Felez et al. 40 develop a software programme that models multibody systems using bond graphs. To manage derivative causalities with this software, they propose introducing Lagrange multipliers into the system to eliminate derivative causality.
Van Dijk and Breedveld 41 present different methods for simulating bond graph models. Simulations were conducted with a predecessor of the 20-sim software and numerically compared on the basis of computing time and accuracy. The potential to use multibond graphs was mentioned, but the difficulty of implementing bond graphs with vector bonds was not detailed. This point will be discussed later in this article.
Marquis-Favre and Scavarda 42 propose a method to simplify bond graph models for multibody systems with kinematic loops. Nevertheless, few complex multibody systems with closed kinematic loops have been simulated directly from dedicated software.
More recently, a body of work has conducted simulations of complex kinematic closed systems with multibond graphs directly from 20-sim software, for example, Rideout, 23 Ersal et al., 24 Rahman et al. 25 and Boudon et al. 35
Approach chosen
The authors selected the Tiernego and Bos 38 method for modelling multibody systems with bond graphs, because it allows a modular approach. This method enables a multibody system to be built as an assembly of bodies and joints and is based on the use of absolute coordinate systems (Figure 1) and Newton–Euler equations. The dynamic equations of a rigid body therefore depend on its mass/inertia properties and on geometric parameters for the body under consideration. The kinematic joints constrain the effort and flow vectors associated with the articulation points in the assembly of two bodies, so that the desired relative motion can be achieved. Consequently, the dynamic equations of the complete system consist of the dynamic equations of each body, in terms of its own parameters and the constraint equations of each joint.

Parametrization of the free rigid body.
Modelling rigid bodies
Consider the architecture of a rigid body multibond graph model based on the literature.1,6,42,43
This bond graph architecture is based on the Newton–Euler equations (equations (1) and (2)). The inertia matrix

Bond graph model of the rigid body.
The upper part of the bond graph in Figure 2 represents the rotational dynamic part expressed in the body frame, while the lower part is for the translational dynamic part expressed in the inertial reference frame (or Galilean frame). Note that the power bonds corresponding to the rotational quantities are marked in purple, while the power bonds corresponding to the translational quantities are in green. The two 1-junction arrays correspond to the angular velocity vector of body j with regard to the inertial frame
The central part of Figure 2 describes the kinematic relations (equation (3)) between the velocities of the two points of the body i (
As the translational dynamic is expressed in the inertial reference frame, a modulated transformer (MTF) element between
In this article, XYZ Cardan angles have been employed for the sake of simplicity. The rotation matrix

Calculation of the Cardan angles and rotation matrix from the angular velocity.
It can be noted that the finite rotation transformation should be also defined with other coordinate systems since this transformation is a powerful conservative, for example, Euler angles with angles which are compatible with the mechanism concerning the singularities aspects, the Rodrigues–Hamilton parameters or the Cayley–Klein parameters. The implementation of the finite rotation transformation with the Rodrigues–Hamilton parameters is given by Marquis-Favre. 43
Modelling kinematic joints
The joint models express the constraints that are introduced when rigid bodies are connected. As with the bond graph model of the rigid body, the joint models have been built in a modular way, that is, their models do not change when the whole model of the system is assembled. The idea of this section is to allow bond graph practitioners to use a library of all the common existing kinematic joint models.
General kinematic joint model
The modelling of kinematic joints determines the rotational or translation degree of freedom (DOF) allowed by the joint.
Flow sources can be used to suppress the joint’s DOFs. However, in order to circumvent the causality constraints mentioned before, the joint models are presented with an additional L element which is either an R/C element or a modulated effort source (MSe) depending on the choice of simulation method (R/C element methods or the use of Lagrange multipliers).
For the unconstrained DOFs, the choice of modelling assumptions can dictate additional elements. If the joints are assumed to be perfect (i.e. without any dissipation or energy storage), there are no additional elements. However, if dissipation or compliance is assumed in the joints, R/C elements are added at the corresponding 1-junction. These R/C elements will be called as functional elements and should not be confused with the R/C elements used as parasitic elements for the purpose of simulation in section ‘The R/C parasitic element’.
The joint model is built from the following kinematic relationships
where
which can be also written as
where
The general kinematic joint model is then detailed in Figure 4.

General kinematic joint model.
In the general kinematic joint model, MTF elements modulated by coordinate transformation matrix are used to express the kinematic quantities in the frame associated with the body they are connected to.
Kinematic joint models
Based on the general kinematic joint model, models of common kinematic joints are given in Figures 5–7.

Kinematic joint models – part 1.

Kinematic joint models – part 2.

Kinematic joint models – part 3.
Methodology of modelling for simulation
General aspects
The first two steps of modelling a multibody system with bond graphs are choosing the dimension of the multibody model (2D or 3D) and choosing the dimension of the bonds (scalars or vectors).
In keeping with the philosophy of a modular approach, the authors propose a 3D model and vector bonds. Depending on the modelling objectives, the user can transform the model to one with scalar bonds in order to exploit it later (as described in Figure 8).

Steps for the bond graph exploitation of MBS.
Hence, modelling with vector bonds is discussed first, and then with scalar bonds.
Modelling with vector bonds
The first step in carrying out a simulation of a bond graph is the assignment of causalities. Two causality constraints appear with vector bonds, as noted by Ersal et al. 24 and Behzadipour and Khajepour. 44
The first causality constraint (C1) is as follows:
C1: each component of a vector bond must have the same causality
Consequently, it is not possible to constrain the motion using Sf elements in only one or two dimensions without introducing some parasitic elements into the remaining unconstrained dimension(s).
The second causality constraint (C2) is as follows:
C2: the causality of transformers implied in the cross products and the causality of gyrators in the bond graph model of the rigid body are intrinsically fixed The transformers implied in the cross products must have flow-in-flow-out causality; The gyrators must have flow-in causality.
Indeed, contrary to scalar bond graphs, the ideal two-port elements cannot propagate causality in both directions when the moduli are not invertible. In the context studied here (i.e. multibody system modelling with bond graphs and the Tiernego and Bos approach), the cases in which moduli (matrices associated to the elements) are not invertible are present for two elements: the transformer (TF) between the rotational and translational domain and the gyrator (GY) since both elements implement cross products. Consequently, transformers and gyrators have the mandatory fixed causality assignment specified above. The transformers and gyrators with the acceptable causal forms mentioned are given in Figure 9.

Causalities imposed with (modulated) TF and GY elements.
The causalities imposed on the transformers lead to some specific results when multibody systems with kinematic loops are considered. Figure 10 presents the bond graph model of a rigid body with vector bond and the imposed causalities. Consequently, in the bond graph of a rigid body, attaching flow sources (Sf) to more than one hinge point or the centre of mass at the same time is not possible and leads to causality conflicts. This situation typically occurs when the multibody system is composed of kinematic loops. Ersal et al. 24 give the example of an oscillating bar which, with its two joints, is a CKC system with one body. This case will appear in the slider crank model presented in this article.

Bond graph model of rigid body with vector bonds and the imposed causalities.
Modelling with scalar bonds
Bond graph models with scalar bonds do not have the same causality constraints as vector multibonds. However, in order to obtain the bond graph model with scalar bonds in a systematic way from the vector bond model, the same causality constraints (C1 and C2) on the gyrators and the transformers used for cross products are kept. Consequently, following the method chosen for the simulation of the bond graph model (presented in section ‘Review of the simulation methods’), the scalar equivalent transformers representing coordinate transformation (here called coordinate transformation subsystems) should be adapted to respect the causality imposed by the rest of the bond graph. This is true for both the rigid bodies and the joints. The causality of these transformers depends on the elements used to constrain the motion.
These coordinate transformation subsystems can have two different structures: the structure with flow-in-flow-out causality and the structure with effort-in-effort-out causality. The causalities of these coordinate transformation subsystems are imposed by the position of the 0-junctions or 1-junctions with regard to the scalar MTFs. The coordinate transformation subsystem with flow-in-flow-out causality is built with the 1-junctions at its input in order to propagate causality to the rest of the elements. Following the same logic, the coordinate transformation subsystem with effort-in-effort-out causality is built with the 0-junctions at the input.
Figure 11 presents the two possible structures of the coordinate transformation subsystem and the cross product model for the bond graph model of the rigid body. The use of these coordinate transformation subsystems in the joints is illustrated in section ‘Case studies’ of this article (see Figure 19). For the sake of clarity, the modulation signals for the MTFs are not displayed. Figures 12 and 13 present, respectively, the rotational dynamic model and translational dynamic model in scalar bond graphs. To the authors’ knowledge, these models have been presented for the first time in this form in the work of Ersal et al.27,45

Bond graph model of rigid body with scalar bonds.

Rotational dynamics.

Translational dynamics.
The procedure for transforming a multibody model with vector bonds into one with scalar bonds is as follows:
Identify the causality of the transformers linked to coordinate transformation (in bodies and joints).
Replace each of these transformers with the appropriate transformer subsystems and assign the same causality as that seen on the vectorial MTF in the model with vector bonds: (a) If the vectorial MTF is flow-in-flow-out causality, then use the coordinate transformation subsystem with flow-in-flow out causality (with 1-junctions at the input and 0-junctions at the output). (b) If the vectorial MTF is effort-in-effort-out causality, then use the coordinate transformation subsystem with effort-in-effort-out causality (with 0-junctions at the input and 1-junctions at the output).
Differential-algebraic equation formulation
In this article, absolute coordinates are selected in order to keep a modular approach. Consequently, due to the kinematic constraints, derivative causality appears on the inertial elements and leads to differential-algebraic equations (DAEs). It is important to note that both OC and CKC systems therefore lead to a DAE formulation. One of the priorities of the simulation methods proposed in this article will therefore be to handle DAEs.
Review of the simulation methods
The methods presented in this section come from the references given in section ‘Brief review’. The value of this study is in giving practical guidelines to modellers, so that they can implement the adapted method in 20-sim software.
Minimal coordinate method
Description
The minimal coordinate method is based on formulating the dynamics using minimal set of joint coordinates (as generalised coordinates) to describe the DOFs of the mechanism.
Tiernego and Bos method leads to a model with a mixed differential-integral causalities on its inertial elements. The number of variables of inertial elements with derivative causalities depends on the variables of the inertial elements with integral causalities. The principle of the method is to transform the dependent inertia storage element (using transformers) and to combine them with the independent elements. This idea was first described in the context of bond graphs by Karnopp. 3
Allen 46 uses this transformation on multibody systems where the dynamics are described with Lagrange equations and generalised coordinates. Breedveld and Hogan 7 utilise it on a rigid body dynamic model corresponding to Newton–Euler equations with absolute coordinates. From a bond graph point of view, the minimal coordinate method consists of a two-level transformation through transformer elements as detailed in Figure 14. One level of transformers converts the velocities associated with inertial elements in absolute coordinates to the generalised velocities chosen as the joint’s coordinates (also called relative coordinates). The second level of transformers converts the generalised velocities to the independent generalised velocity vector.

Equivalent mechanism bond graph model in relative coordinates.
As mentioned in section ‘Modelling rigid bodies’, the dynamics of a mechanism are represented by two elements. The rotational dynamics of a mechanism are described by I-elements, characterised by the inertia tensor I of the body and the corresponding gyrator MGY. The translational dynamics are also described by an I-element, characterised by the mass tensor mi.
For a system of n DOFs, there are n independent velocities grouped in vector
The dependent generalised velocities can be written as a function of the independent generalised velocities
where
From equations (8) and (9), the generalised velocities can be written as a function of the independent generalised coordinates
with
The inertial velocities of each body can be written as a function of the generalised velocities
where
Allen 46 shows that the transformation of multiport inertia elements over an MTF transformation leads to a virtual inertia Ĩ and a modulated gyristor element MGR. The ‘virtual’ denomination comes from the fact that the terms of this inertia are not constant. The modulated gyristor MGR comes from the MTF with a variable modulus. In the study of Breedveld and Hogan, 7 Breedveld formulated the displacement of I-elements and the gyrator GY element over a transformation from the inertial velocities to the generalised velocities. This leads to the following equations
The second transformation leads to the virtual inertia Ĩ2, gyristor MGR2 and junction structure EJS2 associated with the independent generalised velocities. These are both modulated by the independent generalised parameters qi
The bond graph of the two-level transformation is given in Figure 15.

Displacement of I and GY elements through two-level transformers.
This method requires three steps of symbolic manipulations. The first one is the determination of the
The technique of transforming storage elements from dependent to independent has been applied on industrial mechanisms: a forming machine,46,48 a web cutting machine, 49 a pneumatic welding robot 50 and manipulator robots. 51 More recently, bond graph examples have been published: a planar pendulum in the work of Breedveld 52 and a simple slider crank modelled from Lagrange equations using Karnopp procedure in the work of Borutzky. 1 In this article, it is applied on a slider crank modelled with the modular Bos and Tiernego method and can be easily used for more complex systems. As Borutzky 1 points out, this method essentially applies the well-known joint coordinate formulation of Nikravesh and Gim 53 to the bond graph modelling of multibody systems.
Advantages
All derivative causalities are removed, and only integral causality remains on the inertia associated with the independent generalised velocity vector. The virtual inertia will always be in integral causality because it is grouped to an inertia element in integral causality during the transformation. Consequently, the number of equations is reduced and an ordinary differential equation (ODE) formulation is achieved, which is much more compact than a DAE system. The ODE model can be solved with a fixed step solver such as fourth-order Runge–Kutta method.
Drawbacks
The technique can be very demanding in terms of computer memory, and requires consistent mathematical simplifications by an expert user.
The modularity (i.e. the property whereby the mechanism can be assembled as a set of subsystems according to its structure) disappears. Hence, simulation of a mechanism’s subsystems can no longer be conducted individually to check the whole model one piece at a time.
Zero-order causal path opening method
Description
Once causality is applied, different types of causal paths between elements can be identified. A closed causal path without any integration operations is called a zero-order causal path (ZCP).22,54–57 Bond graphs with ZCPs generate mathematical models with DAEs. There is a direct link between the nature of the ZCPs in the bond graphs and the index of the DAEs. The definitions of ZCPs are given by Felez et al. 22 as follows:
Class 1 ZCPs: The causal path is set between storage ports with integral causality and storage ports with differential causality. The associated topological loops are flat.
Class 2 ZCPs: The causal path is set between elements whose constitutive relations are algebraic (resistors are the most typical case). The topological loops are flat.
Class 3 ZCPs: A causal cycle whose topological loops are open. The causal path starts and ends in the same port of an element.
Class 4 ZCPs: Causal cycles whose topological loops are closed.
Only Class 4 ZCPs lead to DAEs with an index of 2. When the DAE’s index is inferior to 2, a backward differentiation formula (BDF) solver (such as the one in 20-sim) can handle these equations. In some cases (scalar bonds or vector bonds with no kinematic loops), the simulation can thus be conducted without additional specific elements.
Advantages
First, this method enables simulations to be conducted directly from the model without requiring the addition of elements (R/C elements or controlled effort sources) at the correction location. The initial physical model is therefore not changed. Second, this method is faster than the two following methods (R/C elements and controlled effort sources), as demonstrated in section ‘Case studies’.
Drawbacks
When multibody systems have kinematic loops, the bond graph may contain class-4 ZCPs which lead to a DAE formulation with an index superior to 1. When this happens, the BDF solver often encounters difficulties in the numerical computation of the model. The ZCP opening method consists of opening the class-4 ZCP using ‘break variables’. This technique can be used at an equation level or at a graphical level. The classical technique uses modulated sources (MSe) at 1-junctions of the class-4 ZCPs to open them. Without a systematic approach to the detection of the class-4 ZCPs, this method may be difficult to use when dealing with a case that involves complex multibody systems. Hence, the authors have not used this method here.
R/C parasitic element
Description
The R/C parasitic element method first appears as the ‘Stiff-compliance’ approach in the study of Karnopp and Margolis. 58 In the literature, other terminologies can be found: singular perturbation, 59 parasitic elements,23,60 virtual springs 61 and coupling or pads21,62
This method is based on the introduction of parasitic elements: compliances and resistances in the bond graph models of the joints. When used with multibody systems, this method has two objectives: (1) eliminating the kinematic constraints and (2) eliminating the derivative causality (which yields algebraic loops) so that an explicit solver may be used.
As mentioned in section ‘Modelling with vector bonds’, vector bond graphs impose some supplementary causality constraints (C1 and C2). These constraints can be enforced using flow sources (Sf), but they may lead to causal conflicts because of their flow-out causality. Enforcing the constraints with parasitic elements (R/C elements) can circumvent these conflicts since they can take effort-out causality. First, they allow the preservation of the causality assignments for all bonds of a multibond (C1 respected). Second, they allow the suppression of causality conflicts which may appear due to the causality of the transformers implied in the cross product and gyrators (C2 respected).
Advantages
With the R/C parasitic element method, all derivative causalities are removed. This leads to an explicit ODE model, which can be solved with a fixed step solver such as fourth-order Runge–Kutta method.
Unlike the Lagrange multiplier method, the consistency between the initial conditions for CKC system is not mandatory. In the work of Rideout,
23
the parasitic element method is even used to determine initial conditions. In addition, over-constrained (also called hyperstatic) systems can be simulated without any difficulties, as demonstrated in section ‘Case studies’. Karnopp and Rosenberg
5
state that The idea of using artificial C- and R-elements to enforce constraints and thus to avoid derivative causality or differential-algebraic equations may appear to be a ‘brute-force’ approach. This may be true, but first, a brute-force approach that is effective should not be discounted and, second, it has been argued that this approach is in many cases superior to the alternatives.
Drawbacks
This method introduces new elements (R/C elements) to the initial bond graph, whose parameters and initial conditions (in the case of C-elements) need to be specified. The values of the compliant elements must reflect the compliances which exist in all mechanical joints. The stiffness that is used should be high enough so as to approximate the constraints and not change the dynamics of the system. However, high stiffness can introduce high-frequency dynamics. This forces the solver to take very small integration steps to meet the tolerance criteria and, consequently, the simulation is slowed. This method therefore leads to a compromise between the accuracy of the results and the simulation time: the stiffer the system, the more numerical errors are reduced but the higher the simulation time.
Implementation
Even theoretically where explicit solvers can be used, the authors recommend the use of the implicit modified backward differentiation formula (MBDF) solver for three reasons. The first is because the MBDF solver is faster than classic explicit solver when a stiff ODE is concerned. The second is because, as an implicit method, the stability is guaranteed. The third is that controlled effort sources necessitate the use of the MBDF solver. Using the MBDF solver with R/C elements also allows comparison between the use of R/C elements and controlled effort sources. In this article, all simulations have been conducted with MBDF solvers.
Lagrange multiplier method
Description
In the Lagrange multiplier method, the constraint forces are modelled by controlled effort sources (MSe) rather than by parasitic elements. This method originates from Bos 6 and Felez et al. 40 and has been implemented in 20-sim by Borutzky and Van Dijk.1,41,63 The same concept is also implemented by Ersal et al. 24 with pseudo flow source (PSf) elements.
This method is similar to the parasitic elements in which the causality conflict is suppressed by removing the flow sources (Sf) and enforcing the constraint by other elements which do not have flow causality (here the controlled effort sources MSe)
The controlled effort sources (MSe) are computed such that the difference between velocities for the constraints is zero. The principle is to apply an effort equivalent to the one that the system would impose on a flow source. It would have a practical operation as a flow source but with effort-out causality instead of a flow-out causality.
The constitutive laws of the controlled effort sources are as follows:
The usual constitutive law for an effort source;
The constraint: effort = e such that flow(e) = f.
Figure 16 illustrates the implementation of this constraint. The effort e(t) applied iteratively to the system is determined so that the difference ε(t) between the flow measurement f(t) and its set point fc(t) tends to zero. This implementation uses the constraint() function in 20-sim. At every simulation step, this function induces an iterative procedure to find the force that keeps the velocity offset at zero within a given error margin. This iterative procedure is only supported by the MBDF in 20-sim software.

Implementation of the controlled effort source.
The effort-out causality of the controlled effort sources ensures that all the inertial elements (I elements) receive integral causality. The dependent states are therefore not visible as derivative causality. However, the controlled effort source establishes within itself algebraic dependencies and thus indicates an implicit form of equations. As stated by Borutzky, 1 the DAE system has an index of 2 due to the fact that the constraint forces do not appear in the algebraic constraints but is in a semi-explicit form which can be solved by the MBDF solver.
Advantages
Contrary to the parasitic element method, the modulated sources (MSe) do not need additional tuning because no additional parameters are added to the system. In other words, the order of the system is not modified because no new states (with their associated parameters and initial conditions) are introduced. The absence of supplementary parameters creates a bond graph that describes the system ideally, within the limit of the numerical tolerance on the constraints equations.
Although some iterations are required during the simulation to satisfy the constraint equations at each time step, the computational load is comparable or better than the parasitic element method, where the differential equations are truly explicit but very stiff.
Drawbacks
The bond graph obtained with this approach leads to implicit differential equations. Explicit integration algorithms therefore cannot be used, and the constraints can only be met within some numerical tolerances during the simulation. Consequently, the implementation of this method requires care.
Implementation
The Lagrange multiplier method is more challenging to implement than R/C elements, because the kinematic constraints imposed by the joints may produce computational conflicts. This issue occurs on CKCs with over-constrained multibody systems. Due to the topology of the system, more than one joint could impose the same constraint on the system, in which case the simulation will no longer be possible. The number of the controlled effort sources must not exceed the DOFs that need to be eliminated.
In order to solve this problem, the redundant constraints must be removed. For the slider crank example in the last section of this article, a practical detection method will be applied to determine the redundant constraints.
The initial conditions of the system should be consistent with constraints. If a controlled effort source is attached to a 1-junction to keep the velocity at zero, and a non-zero initial velocity is imposed on an I-element connected to the same 1-junction, then a simulation cannot be conducted. Note at this point that 20-sim does not offer an automatic correction of inconsistent initial conditions, but the user can always code the calculation of consistent initial conditions.
Case studies
The systems chosen here are intentionally kept simple, in order to demonstrate the methods for simulating bond graph models of multibody systems. Two classical systems are chosen: (1) the planar pendulum as an example of an OC system and (2) the slider crank as an example of a CKC system. The physical models parameterized with absolute coordinate systems are given in Figures 17 and 22. The values of model parameters are given in Appendix 1. For ease of representation, the physical models are given with a planar representation. However, the bond graph models have been realised on 3D physical models. This will impact the modelling of the crankshaft, which only contains redundant constraints when modelled in 3D.

Physical model of a planar pendulum.
Planar pendulum
Mechanical scheme
The physical model of a planar pendulum is shown in Figure 17.
Modelling with vector bonds
The models of the planar pendulum with the vector bonds are presented in Figure 18. Note that, when the Tiernego and Bos method is applied (ZCP method), inertial elements with differential causalities are present. When R/C or controlled effort source methods are used, integral causalities are conserved in the inertial elements.

Bond graph models with vector bonds of a planar pendulum.
Modelling with scalar bonds
The models of the planar pendulum with scalar bonds are presented in Figure 19.

Bong graph models with scalar bonds of a planar pendulum.
Simulation results
For the ZCP method, the equations are DAEs because of the inertial elements with differential causalities. However, since the ZCPs are class 2 or 3 (not 4), 20-sim’s BDF solver can handle the DAE. For the R/C method, the inertial elements with integral causalities lead to explicit differential equations, which could be easily integrated using explicit algorithms such as fourth-order Runge–Kutta method. In order to compare the three methods (ZCP, R/C and MSe), the BDF solver in 20-sim is used. For the Lagrange multiplier method, the dependencies are not visible in the form of derivative causality, but the equations still take an implicit form. Consequently, as previously discussed, explicit integration algorithms cannot be used.
From the results obtained (Table 1), similar conclusions to Borutzky 41 can be made. The ZCP method is the fastest of the three methods. The computational time of the Lagrange multiplier method is still comparable to the ZCP method but needs the addition of elements: the control effort sources. It can also be seen that there is a slight difference in computational time between the models with scalar bonds and vector bonds. The models with vector bonds take a little longer to simulate than the ones with scalar bonds.
Numerical comparison of the simulation methods for the planar pendulum model.
In order to test the accuracy of the solution, these methods are compared to a bond graph model with minimal coordinates. This is the simplest possible model, presented in the study of Breedveld 52 and recalled in Figure 20. From the results obtained (Figure 21), it can be seen that the ZCP method is almost identical to the bond graph with minimal coordinates. The R/C method yields a short ‘peak’, which is due to the excitation of the modes introduced by these elements.

Planar pendulum with minimal coordinates.

Difference in the different methods (ZCP, Lagrange and singular perturbation with regard to the model with minimal coordinates) on the angular velocity.
Slider crank
Mechanical scheme
Classically, the slider crank is composed of three bodies: the crank, the rod, and the piston, and four joints. Depending on the choice of the joints on CKC system, a hyperstatic system (also called an over-constrained system) can appear. That is the case when the slider crank comprises three revolute joints and one prismatic joint (Figure 22). In this case, the system is over-constrained because the number of constraints is higher than the relative DOF after connection (shown in Table 2). The last line of the table corresponds to the remaining DOFs after having closed the kinematic loop.

Physical model of a hyperstatic slider crank.
Analysis of the hyperstatic slider crank model.
This mechanical model can be modified into an isostatic one (Figure 23). The method is based on the reduction of DOFs from the reduction of constraints, as shown in Table 3.

Physical model of an isostatic slider crank.
Analysis of the isostatic slider crank model.
Note: The modified joints are in bold characters.
The redundant coordinates can be determined automatically using a structural multibody tool such as MapleSIM. 64 The process of identifying and removing constraints is done numerically. MapleSIM achieves this by obtaining the Jacobian and residual of all the constraints, and then performing numerical projections to determine which rows/constraints have the most effect on the condition of the matrix.
A summary of the two models studied is presented in Table 4.
Main characteristics of the two slider crank models.
The different structure of the mechanical model (hyperstatic or isostatic) plays an important role in the simulation as shown in the next section.
Hyperstatic model
Modelling with vector bonds
The bond graph model of the hyperstatic slider crank with vector bonds and R/C element method is presented in Figure 24. The R/C method relaxes the kinematic joint constraints. The dynamic equations are therefore transformed into an ODE form with no geometric constraints to deal with. Consequently, this method easily permits the simulation of hyperstatic CKC systems. In fact, the added springs have a very strong stiffness to keep a physical behaviour close to a rigid joint but, from a computational point of view, the hyperstatic nature of the model has disappeared thanks to the addition of the R/C elements.

Bond graph model with vector bonds and R/C element method of the hyperstatic slider crank.
When over-constraints are present, the Lagrange multipliers create more difficulties than the use of R/C element methods. In this case (CKC system), more than one joint could impose the same constraint on the system. In order to solve the model with Lagrange multipliers, the redundant constraints must be eliminated. For that purpose, the model has to be changed to an isostatic one by joint altercation.
Modelling with scalar bonds
The model with scalar bonds and R/C elements is built with the procedure given in section ‘Modelling with scalar bonds’.
Isostatic model
Modelling with vector bonds
When the definition of joints is modified by removing the redundant constraints, the simulation of the isostatic model can be conducted with both the R/C element and Lagrange multiplier methods. The bond graph model of the isostatic slider crank with vector bonds and MSe elements is presented in Figure 25.

Bond graph model with vector bonds and MSe elements of the isostatic slider crank.
Modelling with scalar bonds
The models with scalar bonds are built in a similar way for both the R/C method and the Lagrange multiplier method. The bond graph model of the isostatic slider crank with scalar bonds and MSe elements is presented in Figure 26.

Bond graph model with scalar bonds and MSe elements of slider crank.
Minimal coordinate model
In order to test the accuracy of the solution, these methods are again compared to a bond graph model with a minimal coordinate formulation. The method is presented in section ‘Minimal coordinate method’ and results from the isostatic model previously described. The kinematic scheme of the slider crank with geometric parameters is detailed in Figure 27. Note that only three parameters (xi, yi, γi) for the absolute coordinates are shown in this planar scheme but, in the bond graph models, six parameters (xi, yi, zi, αi, βi, γi) are considered for the absolute coordinates. The bond graph model is presented in Figure 28. All the dependent storage elements with derivative causality have been transformed by transferring the inertia of those elements to the independent storage element with integral causality (the angle of the crank

Kinematic scheme of the slidercrank.

Slider crank model with minimal coordinates.
Simulation results
A simulation of the dynamics of these models has been conducted. Identical results to Rideout 65 have been obtained (Figures 29 and 30).

Evolution of the centre of gravities in the inertial frame of the different bodies.

Evolution of angles.
A comparison of results in terms of computing time of the simulation is presented in Table 5. The simulation of hyperstatic kinematic closed systems (such as the slider crank with three revolute joints) is possible with R/C elements as we have previously mentioned, and the simulation time of the hyperstatic system is comparable to the isostatic system. Both the R/C method and the Lagrange multiplier method have comparable computation times. Their computational loads are bigger than that of the minimal coordinates, but remain within acceptable limits. Finally, as in the planar pendulum, models with vector bonds always take a little longer to simulate than the ones with scalar bonds.
Numerical comparison of the simulation methods for the slider crank models.
For the ZCP method with both scalar and vector bonds, CKC systems induce several ZCPs of class 1 and 4. The class-1 ZCPs are associated with dependences between energy storage elements, whereas the class-4 ZCPs are associated with causal cycles along the junction structures. The DAE index will typically be greater than 1. Consequently, the model with ZCPs does not permit direct simulation with the MBDF solver. In order to enable simulation, a specific causality assignment or break variables should be used to reduce the DAE index. There is no automatic method for locating ZCPs on large bond graphs within platforms such as 20-sim at the time of writing. However, an automatic ZCP-location method would not significantly improve computation time and accuracy.
Figure 31 shows that the R/C method and the Lagrange multiplier method perform comparably to the minimal coordinate method, with errors of less than 4e-3 m/s. The errors are dependent of some parameters: the value of the R/C method or the value of the integration error accepted for the solver. The proposed values of R/C elements (parasitic stiffness = 10−7 N/m and parasitic damping = 200 N·s/m) are therefore considered satisfactory for this application.

Difference between the different methods (Lagrange multipliers and R/C methods) and the model with minimal coordinates on the piston velocity.
Conclusion
This article presents three methods for simulating bond graph models of multibody systems: ZCP, R/C elements and Lagrange multipliers. For each method, the authors suggest implementing both conditions and practical rules for application. Additional considerations include the nature of the chain of multibody systems, the nature of the system towards its joint constraints, and the nature of the bonds.
A method for transforming vector bond graphs to scalar bond graphs is also provided. Future work will automate this.
Numerical comparisons complement the results given by Van Dijk and Breedveld 41 and Felez et al. 22 There is no best unique solution for conducting bond graph simulations of multibody systems: all of these methods are correct, and the best will depend on the application. The authors suggest the following guidelines:
The R/C method is perhaps the most convenient. It permits the simulation of both iso- and over-constrained multibody systems with kinematic closed loops. It is tolerant of small inconsistencies in the initial conditions and allows the use of a classical explicit solver. The computational time and accuracy are comparable to the other methods.
Lagrange multipliers must be implemented with care in the case of the over-constrained multibody systems, but give an ideal description of the system within the limit of the numerical tolerance on the constraint equations.
The ZCP method is easy and quick to implement on simple multibody systems. When applying it to large systems, a systematic way of detecting the class-4 ZCPs would be advantageous.
Footnotes
Appendix 1
Appendix 2
Handling Editor: Xiaoting Rui
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship and/or publication of this article.
