Bond graph add-on block library BG V.2.1

Customizable add-on library with a small number of blocks for graphical programming of Bond Graph models using standard Simulink and editor.
9K Downloads
Updated 29 Oct 2022

View License

Why Bondgraphs?
The energy domain independently Bond Graph is an excellent power flow diagram for process models [see DOI:10.1109/epe.2005.219609]. Detailed introductions to the Bond Graph method may be found here for instance: http://groups.csail.mit.edu/drl/journal_club/papers/Samantaray__2001__www.bondgraphs.com_about.pdf
Realization using Simulink:
Replace each half arrow connection by one visible connection drawn by the standard editor, presenting optionally a flow or an effort connection. The implementation of the conjugated back connection for the complementary power variable effort or flow will be done automatically via software background. In addition the blocks are defined switchable, e.g. regarding causality or block function in order to reduce the number of library blocks. Library version 2.1 consists of 9 blocks only which realize the whole necessary functionality. These blocks may be used by means of drag & drop technique and have to be configured menu-driven as usual for Simulink. See homepage
https://etiema.et.tu-dresden.de/ae2_files/ae_8_1e.htm
of this Bond Graph library for more info including 10 pdf files for documentation, 4 lists of examples or on-line list with icon, function/mask and parameter.
Features:
Typical examples for combined functionalities are the energy storage block (choice of I or C type) or the node block (choice of 0 or 1 type). Environment connections to standard Simulink blocks ensure S/D and AB blocks, i.e. controllers may only drive a Bond Graph by means of source blocks and a measurement of Bond Graph power variables may only be done by use of AB blocks. All blocks are able to operate with scalar or vectorial bond connections optionally. The user may set constant parameters directly via block mask or work with variable parameters by defining an additional parameter input if allowable for the considered element like as for TF or GY. Alternatively the definition of a second file filename_P.m causes the allocation of determined or calculated numerical values to symbolic defined parameters for the Bond Graph blocks. The block masks offer different additional adjustments as for instance number of inputs and outputs as well as operation mode for node blocks or initial values as well as additional momentum, displacement or power output for energy storage blocks. Each block provides a protection of its functionality, i.e. in this case a first mask access step only allows the change of the parameter value. Operation mode modifications must be unlocked in a second step afterwards.
Nodes and measurements:
Since one power variable of the power variable pairs at any node block has been defined to be constant there are two different icons per node type necessary. The appearance forms of the icon and the underlying equations are documented. Any effort or flow variables of a Bond Graph may be measured by means of an so-called AB block which realizes the activated bond functionality whereas momentum, displacement or power are immediately disposal at each storage element.
Summary:
Simulink add-on library BG V.2.1 offers a tool for the graphical programming of power flow diagrams in terms of Bond Graphs. Nine blocks ensure all essential modes via menu input. That way e.g. causality changes, nonlinearities, initial values, vectorial operation, power outputs or protection of settings are ensured. Examples describe different usage as for process modelling, control loops (example ElaWe_GM_ZuReg) or energy efficiency based on integration (example GM_EE). The tool, all examples and a short documentation are included. See at homepage given above for more info.
Extract from the lists with examples:
- belt conveyor, clutch for HEV, subway traction drive, gimbal
- lift magnet, dynamic vibration absorber, lift a load, double pendulum
- double-fed asynchronous machine, synchronous machine (power conserving Park transformation)
- chaos generator (Chuas circuit), Twin-T band-stop filter, boost converter, buck converter
Hints for modelling (cp. also ORCID or ResearchGate):
a,
For use of this add-on library with recent MATLAB/Simulink versions use Simulink container technique. Updated version will be available later.
b,
Hints for modelling chain structure systems:
DOI: 10.1080/03081079.2019.1668383 (Generalized Bond Graph modelling) or: https://www.tandfonline.com/eprint/9W7TV8WIWNTU6BXADQBM/full?target=10.1080/03081079.2019.1668383
c,
Hints for modelling electrical machines:
DOI: 10.1109/IECON.2019.8927632 (Synchronous Reluctance Machine)
DOI: 10.1109/IECON.2016.7794063 (Generalised power flow model)
DOI: 10.1109/IECON.2016.7793471 (HB- and PM-type Vernier machines)
INSPEC Accession Number 10939726 (Standard electric machines)
d,
Hints for modelling compound epicyclic gears (planetary gears):
DOI: 10.1109/cecnet.2011.5769012 (three-speed gears)
DOI: 10.1016/j.mechmachtheory.2017.05.007 (four-speed gears)
e,
Hints for teaching power flow modelling:
arxiv.org/abs/1505.06828

Cite As

Gert-Helge Geitner (2024). Bond graph add-on block library BG V.2.1 (https://www.mathworks.com/matlabcentral/fileexchange/11092-bond-graph-add-on-block-library-bg-v-2-1), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Communities

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

BG21/BeiV20_TBBS

BG21/BeiV20_TBBS/Circuits

BG21/BeiV20_TBBS/El_Mot

BG21/BeiV20_TBBS/El_Mot/ClaParTra

BG21/BeiV20_TBBS/Scherf

BG21/BibV20

BG21/BibV20/Dokumentation

Version Published Release Notes
2.11

New example planetary gear, inclusive of comparison with POG and EMR, see example in chapter 2, pp. 19-44, Springer 2021, doi: 10.1007/978-3-030-76787-7_2;
Home page shifted

1.3.0.1

update of description including links, extract from list of modeling examples and add of hints for modeling

1.3.0.0

Bug fix regarding TF in vector / matrix mode – last(s) elements zero.

1.2.0.0

Reactivated links within block help; two new examples: sinusoidal source voltage, R resp. L, diode, RC load; "description" contains a link to the homepage now

1.0.0.0

Bug fix regarding Fields (mixed causality); bug fix regarding Nodes (loopthroughing); enhancements regarding GY / TF (unified parameter input / transpose operation); new examples gimbal + traction drive (POG parallel) – two versions each + reference