Causalité et bond graphs
![]()
Introduction
Le langage bond graph (BG) est remarquable par la simplicité de ses concepts de base et son applicabilité à de très nombreux domaines industriels. Il est fondé sur le transfert d'énergie entre éléments, symbolisé par un lien de puissance

dans lequel e représente la variable effort du domaine étudié (F, la force en dynamique de translation, U, la tension en électrotechnique, T, la température en thermodynamique,...) et f la variable flux de ce même domaine (respectivement V, la vitesse, I, l'intensité électrique, dS/dt, le flux d'entropie,...) La puissance transférée est alors le produit entre les variables effort et flux : P = e ´ f.
La dernière équation ci-dessus montre que pour une puissance donnée, si la variable effort est imposée, alors la variable flux est automatiquement déterminée et réciproquement. Pour chaque lien BG, si l'information sur l'effort est imposée par l'élément à l'une des extrémités du lien, alors l'information sur le flux doit venir de l'autre extrémité du lien et vice et versa.
Ce dernier point fait apparaître la notion de causalité.
Le concept de causalité
Prenons un exemple mécanique élémentaire pour bien comprendre ce qui vient d'être dit : Pour soulever une valise posée sur le sol, une personne doit fournir un effort. Pour cet effort, la masse de la valise va déterminer la vitesse de levage de celle-ci. La cause est l'effort, et la conséquence est la vitesse. de même, si l'on impose une tension électrique à une résistance pure, cette dernière détermine l'intensité dans le circuit. On indique la causalité par un trait perpendiculaire au lien BG comme le montre la figure ci-après dans le dernier cas

L'équation du lien est alors
Remarquer les deux points avant le signe égalité indiquant, comme en informatique, une équation <<orientée>> : c'est le rapport U/R qui détermine la valeur de I.
Le trait est conventionnellement placé sur le port où l'effort est imposé.
Le cas des éléments I et C est particulier. Il s'agit là d'éléments de stockage d'énergie respective de type cinétique et potentielle. Il apparaît la notion de causalité intégrale et différentielle. La première est la seule physiquement acceptable puisqu'elle est basée sur le calcul de l'avenir à partir du passé et non, comme la seconde à partir du futur !
Les deux graphes ci-dessous présentent les deux types de causalité :

Le premier correspond à la causalité intégrale : ce qui se passera après t1 dépend du passé entre t0 et t1 : on réalise une intégration entre ces bornes de la fonction f(t). Le second traduit la causalité différentielle : ce qui se passera à partir de t1 est déterminé par la direction (inconnue) de l'évolution de f(t).
Regardons de plus près nos deux éléments I et C.
Pour le premier type, l'équation traduisant le
comportement en causalité intégrale est :
![]()
Pour le second type, on a :
![]()
En effet, prenons le cas élémentaire de l'électrotechnique linéaire, pour la bobine et le condensateur : on a les équations physiques suivantes

Les symboles BG respectifs de ces deux équations sont

Les deux dernières équations peuvent s'écrire également

Elles sont identiques mathématiquement. Il faudrait, pour les distinguer et pour mettre en évidence la causalité des ces équations, indiquer les deux points comme présenté ci-dessus.
Les équations intégrales montrent bien les variables d'état propre à chaque phénomène. Pour le stockage d'énergie cinétique, c'est l'intégrale de l'effort qui permet de déterminer l'état du système (on l'appelle moment en langage BG). Pour le stockage d'énergie potentielle, c'est l'intégrale du flux qui donne l'état du système (c'est le déplacement en langage BG). Par exemple, pour un circuit RLC, les deux variables d'état sont, le flux magnétique (intégrale de la tension aux bornes de la bobine) et la charge du condensateur (intégrale du courant traversant le condensateur). L'évolution du système est déterminée par les conditions initiales et les équations différentielles régissant les variables d'état.
Causalité différentielle
Il arrive cependant lors de la procédure d'affectation de la causalité - SCAP (Sequential Causality Assignement Procedure) - que certains éléments soient en causalité différentielle. Exemple d'un circuit RLC parallèle alimenté par une source de tension :

Le BG de ce circuit s'obtient directement

La source de tension impose l'effort aux bornes des composants. Pas de problème pour l'élément résistif non affecté par un causalité différentielle, puisque dans le ca linéaire, la relation entre l'effort et le flux est une simple loi de proportionnalité. Pour la bobine, pas de problème : il s'agit d'une causalité intégrale ; lorsqu'on impose la tension à ses bornes, le courant s'en déduit par simple intégration. Ce n'est pas le cas du condensateur qui se voit, par la SCAP, affecter une causalité différentielle. Qu'est-ce qui ne va pas alors ? La capacité n'autorise pas la tension imposée par le générateur à varier indépendamment. Si, par exemple, le signal imposé par la source de tension est de type signal carré, le courant passant par le condensateur est infini au moment des transitions. La raison du problème est tout simplement qu'un condensateur ne doit jamais être mis en parallèle avec une source de tension. Il y a une erreur dans la modélisation ; et là le BG montre bien le problème. Pour retrouver une causalité de type intégrale sur le condensateur, il suffit, par exemple, de mettre une résistance en série avec la source de tension (ce qui est plus réaliste).

Conclusion
Le langage des bond graphs permet de plus de bien mettre en évidence le phénomène de causalité. Il s'agit d'un formalisme simple à appréhender, efficace à mettre en oeuvre. On peut déduire directement les équations d'état, les schémas blocs, les gains des boucles directement sur le bond graph. C'est un outil efficient.