Bond graphs were introduced by Henry Paynter to describe dynamical mechanical or electrical systems and generate differential equations. Constructing a bond graph requires understanding a few rules. A node in a bond graph is called an element and an edge is referred to as a bond. An element can be one of the following: a source of flow (Sf) or effort (Se); an I-storage element; a C-storage element; an R-element; a transformer TF junction; a gyrator GY junction; a 0-junction; or 1-junction. A source of flow or effort is used to represent applied load or velocity. An I-element is used to represent an energy storing inertia element while a C-element is used to represent an energy storing spring or related stiffness member. An R-element is used to represent energy dissipation in the system. Any velocity change is represented using the transformer TF junction and energy transformation is represented using the gyrator GY junction. Velocity junctions and voltage junctions are represented using 1 and 0 junctions respectively.
The paper describes a web-based tool for generating bond graphs and differential equations from user-constructed system diagrams. The application was built using Blazor WebAssembly. The web application also includes features such as differential equation generation, an undo-redo system, exporting URLs and an interactive tutorial. The tool is designed to act in a way that it mimics the method of teaching bond graphs in lectures and related textbooks. Students can use the tool to verify the bond graphs generated by them as well as the differential equations.
The web application was tested in a senior level course, and students had a positive reaction to the application with many wishing they had been able to use it earlier in the course. We found that over 91% of users were satisfied with the process of creating the system diagram along with saving and opening the same. All other features earned positive reactions from at least 95% of users. URL generation had the highest satisfaction rate, with favorable reception from 100% of users. Most student dissatisfaction came small user interface, and backend bugs. Students also requested improvement of a few features, such as labeling system diagram elements with hover text, and asked that some features, such as panning the graph, be added to the tutorial.
The paper will describe the various features of the application, back-end algorithms as well as results from user studies.
The full paper will be available to logged in and registered conference attendees once the conference starts on June 22, 2025, and to all visitors after the conference ends on June 25, 2025