Bond Graph Modelling — моделирование на основе связных графов. При расчетах гидравлических систем или других систем (электрических, механических), для которых применимы правила Кирхгофа, применяется общий подход по систематизации состава системы и порядка взаимодействия элементов. Bond Graph Modelling для гидравлики полезен при автоматизации расчета для больших и мультидисциплинарных систем. При расчетах систем небольших размеров проще составлять интуитивные математические уравнения, как показано в статье о Mathematica.
Многие ведь наверное пробовали моделирование систем в Amesim? Что же нужно для формирования вычислительного ядра способного анализировать сложные разветвленные системы, говорить о наличии неправильно подключенных компонентов, неправильно выбранных субмоделей (для дросселей) или алгебраических циклов. Такое поведение возможно благодаря определенной формализации и учету однообразия в расчетах цепей.
Сложно уложить в одну статью полноценное описание. Я приведу ссылки, что почитать и ссылки на практические примеры составления графов и уравнений. Язык источников — английский. Может быть позже буду приводить примеры (в других статьях), однако следует отметить, что простых примеров достаточно в приведенной литературе.
Книги по моделированию систем методом связных графов
- Javier A. Kypuros — System Dynamics and Control with Bond Graph Modelling, 2013
- Karnopp, Margolis, Rosenberg — System Dynamics (Modelling, Simulation and Control of Mechatronic Systems) 5 ed. 2012
- Jean U. Thoma — Bond Graphs and Their Applications, 1975
- Tenreiro Machado, Vitor Cunha — An Introduction To Bond Graph Modelling With Applications, 2021
Гидравлика в Bond Graph Modelling: Общие моменты
Есть узлы (вершины графа), связи (ребра с направлением). У связей есть направление по ходу мощности и есть casuality (причинность). Причинность это наверное самый близкий перевод для ‘casuality’, и поэтому здесь он используется. Предложения принимаются в комментариях. Связь это про передачу мощности, а не протекание среды сквозь элемент. Узел может быть устройством (сопротивлением, емкостью, инерцией) или сопряжением.
В рамках модели связанных графов, дроссель — это однопортовый элемент.
И, не знаю как вам, а мне этот вот момент несколько мешает ассоциативно понимать Bond Graph модели, как схемы по ЕСКД. Ведь у дросселя два штуцера. А есть ещё многоходовые клапаны, у которых больше чем 2 штуцера. С точки же зрения математики тут все нормально — один путь затрат энергии, одна связь. Если надо связать его далее то это делается через узел сопряжения 0 или 1 типа. При этом сложный клапан распадается на однопортовые элементы.
Дроссели часто ставятся через 1-сопряжения. Не следует делать аналогию с потоком жидкости сквозь дроссель от одного штуцера — к другому.
На рисунке ниже показана та же схема, что в начале статьи, но совместно со схемой системы, выполненной по ЕСКД.
Casuality — Причинность в Bond Graph Modelling
У каждая связь с элементом имеет причинность (casuality). Она изображается вертикальной чертой на древке или острие стрелки. Входное значение усилия, значит черта на стрелке у элемента. Если для элемента входное значение потока, значит без черты на конце у элемента. Есть элементы, у которых может быть только одна причинность (инерция, баки, источники).
Всегда указана связь и элемент. Например у бака (С) вход — это поток. У элемента, от которого мощность идет в бак, выход — поток. См. картинку 2.26 [4].
Благодаря причинности, для каждого ребра, одна из вершин определяет математикой давление, а другая определяет поток. При этом определенное давление подается на вход связанной вершины.
Примеры установки причинности в гидравлических схемах
Обратите внимание на то, что в таблице элемент расположен слева или справа от стрелки. Для бака, входом является поток, выходом является давление. Связь, ведущая в бак всегда повернута к нему стрелкой. Здесь имеется ввиду самый простой негерметичный бак без крышки. С наддуваемым баком сложнее.
Casuality Conflict
Это как раз то, почему в Amesim не получается иногда соединить два компонента или выбрать ту или иную субмодель.
Casuality Conflict это когда при расстановке причинности, одно из правил в Таблице 1 становится невозможно применить. В книге [4] (стр.55, ch.2.6.3) показан конфликт, когда дан источник давления и при этом он дает напор в аккумулятор который тоже дает давление выходом. Для разрешения конфликта вводится утечка в источнике давления. Не могут два элемента определять давление в сопряжении. У 1-сопряжения должна быть
одна стрелка без черты, а в конфликте выходит, что две (рис.2.42).
Примеры составления графа для гидравлики
См. главу 5.2 в книге [4]. Там же в главе 5.3 (Proposed Exercises даны для упражнения ещё системы и их графы, которые можно построить самостоятельно).
При составлении графа начинаем с выбора элементов, соединенных друг с другом 0-сопряжениями (0-junction), которые обеспечивают общее давление на входах, участвующих в этом сопряжении. И разные потоки. Нужно выявить на схеме все участки одинакового давления.
Также про алгоритм установки причинности см. [2] стр. 171.
Пример Bond Graph для предохранительного клапана. p.90, fig.4.20. [3]
Хороший пример по гидравлике тут [1] p.86, Ch.3.6 — Hydraulics Circuits.
Нелинейный аккумулятор (гидроаккумулятор с резиновой камерой) дан p.130, fig.4.26 [2].
Мультидисциплинарные системы
Трансформаторы и гираторы выбираются в зависимости от математики их уравнений. В книге [4] на стр.149 приведен выбор TF и GY для DC-электромотора (TF), гидронасоса (GY) и гидроцилиндра (GY).
Как строить уравнения для гидравлики в Bond Graph Modelling
При составлении уравнений, мы выписываем первичные и вторичные условия для всех сопряжений (правила Кирхгофа, в которые войдут уравнения состояния для агрегатов-узлов гидравлической системы).
Для 0-сопряжения (common effort) первично условие равенства усилий e1=e2=e3=… и вторично условие суммы потоков f1+f2+f3…=0.
Для 1-сопряжения (common flow) первично условие равенства потоков f1=f2=f3=… и вторично условие суммы усилий e1+e2+e3…=0.
См. табл 2.7 стр. 47 [1].
Пример уравнений для гидросистемы, построенных по связному графу — см. [1] стр.104, Ex.3.14.
Это означает, что при составлении уравнений, мы пишем уравнения первичные и вторичные для каждого из сопряжений. Мы потом видим, что в уравнениях вторичных встречаются определенные первичными величины состояния сопротивлений, емкостей и инерций, а также там есть производные, которые мы выносим в вектор состояния.
Так получаются ДУ. См. стр 114 [1], 2-й абзац.