# 1 Introduction

The foundations of engineering practice are mathematical models, the principles of physics, and empirical results obtained from experiments for defining design criteria. An engineer must know the laws of physics very well and use the relevant mathematical models and their solutions, either exact or numerical, to design parts, systems, and complex machines which function with certain reliability for an assumed lifetime. To help with this task, an engineer may use modelling tools to simulate the behavior of systems and their components. Modelling and the application of software tools are becoming increasingly common in modern engineering practice. As shown in Figure 1‑1[1], modeling and simulation results can help optimize and refine a design before the physical prototype is built. This minimizes the time required for the design process. In addition, application of modelling can minimize the final cost of a prototype or a product.

Modelling has a long history starting from ancient times when scientists used “equations” to relate variables or parameters to one another (e.g., Archimedes, Thales, Khawrazmi). Later, scientists and mathematicians developed “equations” which could represent the way that natural phenomena work and materials behave. These “equations” are sometimes referred to as laws of physics and constitutive equations since they are validated through time and the obtained results match with what we experience or measure in the real world with some approximations, of course. For example, Newton’s second law is given as a model which predicts the behaviour of material bodies under given forces applied to them, i.e., the relationship between forces applied to a body mass and the change of its momentum with respect to time.

Similarly, Ohm’s law is a model which relates the voltage across a resistor to the electrical current using the resistor’s material property. These models, and many other similar ones (e.g., Hooke’s, Fick’s, Fourier’s) related to different engineering disciplines, form the foundation of engineering. It is through their application that we trust the behavior and responses of our designs in the real world. Assume that we are flying in an airplane which is designed based on laws and governing equations or models applied to fluid mechanics and solid mechanics, among others. If we don’t trust and accept these laws and models, then it would not be logical to ride in an airplane!

Real-world phenomena are complex and usually involve many types of physics. For application in engineering, we usually simplify these phenomena and consider the dominant physics involved. For example, the length of a simple spring linearly changes under a given load according to Hooke’s law. But it becomes a more complex problem if the spring’s material behaves non-linearly, or if for example, electrical charges flow through it. Traditionally, the simplification of a problem is/was due to lack of tools for finding a solution which could represent more accurately that problem’s real world behaviour. It is at this point that modelling methods, e.g., Lagrangian and BG, and advanced modelling software tools, e.g., 20-sim, are valuable resources for finding solutions to complex engineering systems and optimizing our designs to have more economical, reliable, and durable products as end results. Although this book focuses on using bond graphs as a modelling method, we also emphasize the importance of learning and, hence, understanding the foundation and mathematics behind an energy-based approach for system analysis. For this purpose, we summarize Lagrangian mechanics in chapter 2 and provide some references for further reading.

The main body of the text is devoted to the BG method. This graphical (i.e., it can be sketched similar to engineering drawings) method translates the physical laws relevant to a desired system at hand into graphical interactions of interconnected assigned elements. The method uses laws of thermodynamics and the principle of cause and effect (in an acausal[2] way) with the inclusion of constitutive relations relevant to system components.

In 1959, Henry M. Paynter at the MIT Department of Mechanical Engineering developed the bond graph method [1]. This method has fluctuated in application and popularity in the industry, with a recent rise due to its strength in modelling multi-energy-domain systems and the widespread availability of economically viable computer power [2].

In this book, we make use of facilities available in 20-sim, as a software tool for building, among others, BG models. 20-sim also offers solvers for finding solutions for the resulting system equations for simulation and design of systems. We use these solvers, with the modern script language SIDOPS++ included, to solve system equations as ordinary differential equations (ODEs). The system equations could be extracted from BG models or using Lagrangian method. The script language SIDOPS++ is suitable for complex system modelling and solving the relevant equations [3].

The reader may come across or already be familiar with other available methods/tools for modelling engineering systems, including block diagram, a signal processing graphical method; icon-diagram, a component-iconic graphical method; and advanced script languages/tools, e.g., Dymola, Smile, and recently Modelica [4], [5], [6].