Введение в технологию мультидоменного физического моделирования с применением ненаправленных графов

Главной задачей, решаемой программами математического моделирования динамических систем, является симуляция движения их координат. Сегодня можно выделить два эволюционных этапа развития решателей этих программ. На первом этапе в программах появляется явный решатель. Это библиотека классических подпрограмм (функций), которые реализуют операцию интегрирования. Таким образом, используя дискретные квази-аналоги интеграторов, пользователь может решать дифференциальные уравнения. Лишь на втором этапе в моделирующих программах появляется неявный решатель. Это библиотека классических подпрограмм, которые предназначены для итерационного поиска корней алгебраических уравнений.

Если моделирующая программа может грамотно использовать неявный решатель, то из программы для моделирования систем автоматического регулирования она может перейти в разряд программ для мультидоменного моделирования физических систем, с применением схем физических принципиальных (например, электрических).

Основу представляемой технологии моделирования составляют модели девяти примитивов, которые используются при составлении схем замещений. Упомянутым примитивам (моделям) присвоены условные графические обозначения, заимствованные из схем электрических принципиальных, но суть моделей распространяется на любой из семи энергетических доменов: электрический, магнитный, тепловой, гидравлический, акустический, механический и ротационный.

Принципы построения графа схемы физической принципиальной

Принцип 1 (для шин)

Все элементы и узлы ненаправленного графа соединяются шинами, в которых есть два проводника распространяющие сигналы в противоположных направлениях. (Упомянутые сигналы – это физические величины первого и второго рода конкретного энергетического домена, для которых формулируются постулаты о сохранении материи и энергетического потенциала).

Принцип 2 (для элементов)

Все элементы графа должны быть двухвыводными. (Схема замещения любого устройства с большим количеством выводов должна состоять из фундаментальных двухвыводных элементов и узлов). Оба вывода у элементов должны быть оборудованы разъемами для подключения двухпроводных шин.

Принцип 3 (для узлов)

Узлы бывают двух типов: распределяющие и аккумулирующие. Узлы ненаправленного графа трехвыводные. (Узлы, в которых сходится большее количество ветвей, строятся каскадированием трехвыводных узлов). Каждый вывод узла должен иметь разъем для подключения двухпроводных шин.

Принцип 4 (для разъемов)

Элементы графа и его шины оборудуются разъемами "мама" и "папа". Половина узлов ненаправленного графа оборудуется одним разъемом "папа" и двумя разъемами "мама". Вторая половина узлов оборудуется одним разъемом "мама" и двумя разъемами "папа". (Графический интерфейс моделирующих программ не должен отображать этой особенности ненаправленного графа. Программы самостоятельно выбирают тип узлов, "скрыто переворачивают" элементы графа и шины для правильной коммутации).

Элементы ненаправленного графа

Графические образы девяти простейших библиотечных элементов ненаправленных графов, а так же поясняющая технику подключений схема приведены на рисунке. При сборке схемы выводы разных цветов ни когда не соединяются между собой. Та же схема подключений помогает понять, почему направленные графы программ VisSim, Simulink, MVTY (при использовании описываемой методики моделирования) называют ненаправленным или бинаправленным.

gif-file, 2KB

Пассивные элементы ненаправленного графа (потребители энергии)

В каждом из энергетических доменов существует от одного до трех (известных) простейших физических устройств, которые называются электрическим, магнитным, тепловым, гидравлическим, акустическим, механическим, ротационным и др. сопротивлениями. Таким образом, чуть округлив, можно сказать, что для названных энергетических доменов закон Ома имеет 21 формулировку. Формулы закона Ома записываются тремя способами:

gif-file, 2KB

Три формы записи закона Ома определяют три формальных примитива, которые являются пассивными элементами ненаправленного графа, т.е. моделями потребителей энергии.

Определимся так же с тем, что все элементы ненаправленного графа будут асимметричными, т.е. с тем, что именно поток материи по элементам будет определять разность энергетических потенциалов на их выводах, а не наоборот.

Безынерционный элемент (активное сопротивление)

Иконка безынерционного потребителя энергии, а так же его внутренняя структурная схема показаны на рисунке. От верхнего разъема к нижнему (зеленые контакты) по элементу протекает поток материи $i$. Потенциал $φ_2$ на красном контакте нижнего разъема элемента известен (определяется другими элементами цепи). Потенциал $φ_1$ красного контакта верхнего разъема вычисляется с помощью закона Ома, поскольку величина потока $i$ и сопротивление $R$ для элемента известны: $φ_1=φ_2+iR$.

gif-file, 2KB

Реактивный элемент 1

Внутренняя структурная схема реактивных элементов принципиально не отличается от структурной схемы безынерционного потребителя энергии. Различие состоит лишь в способе расчета создаваемого потоком падения напряжения. В частности, реактивный элемент индуктивного характера должен обеспечивать в заданном масштабе ($L$) тем большую разность потенциалов, чем больше скорость изменения протекающего по нему потока ($di/dt$). Это падение напряжения вычисляется с помощью блоков unknown (неизвестная) и constraint (баланс_в_нуле) следующим образом (см. блок-схему). На каждом шаге симуляции неявный решатель моделирующей программы с помощью итерационного процесса подбирает такое выходное значение блока unknown, чтобы на входе блока constraint было нулевое значение. Однако интегратор – это блок обладающий эффектом памяти – он разрывает сигнальную цепь – сигнал на его входе на данном шаге симуляции ни как не определяет выходное значение (сигнал на входе интегратора определяет его выходное значение лишь на следующем, в данный момент еще не вычисляемом шаге симуляции). Баланс на входе блока constraint подбирается через цепь верхнего разъема, и ту схему, к которой элемент подключен. Т.е. фактически подбирается не выходное значение интегратора, а поток, протекающий по элементу. Если баланс будет вычислен, то значение сигнала на входе интегратора будет равно производной потока, а на входе делителя – искомому напряжению.

gif-file, 2KB

Приведенное описание принципа работы блок-схемы позволяет легко понять, что установка начального условия на интеграторе (Initial Condition), эквивалентна определению величины начального потока материи по элементу.

Реактивный элемент 2

Реактивный элемент емкостного характера должен обеспечивать в заданном масштабе ($1/C$) разность потенциалов пропорциональную интегралу протекающего по нему потока $i$, что и обеспечивается блок-схемой показанной на рисунке.

gif-file, 2KB

Установка начального условия на интеграторе данной блок-схемы эквивалентна определению величины начального падения напряжения на элементе.

Активные элементы ненаправленного графа (источники энергии)

Источники энергий определяют само существование энергетических доменов. В разных энергетических доменах нам известно разное количество источников. Функционирование известных нам источников может быть описано одной из двух идеализированных моделей. Первая модель имеет название "Источник движущей силы", поскольку в рабочем режиме создает разность энергетических потенциалов неизменной величины. Вторая модель – "Источник потока" – отличается тем, что генерирует постоянный по величине поток материи (рабочего тела).

Источник движущей силы (генератор энергетических потенциалов)

Иконка источника движущей силы и его внутренняя структурная схема показаны на рисунке. Логику работы модели обеспечивает неявный решатель с помощью пары блоков unknown (неизвестная) и constraint (баланс_в_нуле) (оба блока, см. блок-схему, имеют малиновые рамки). На каждом шаге симуляции неявный решатель моделирующей программы с помощью итерационного процесса подбирает такое выходное значение блока unknown, чтобы на входе блока constraint было нулевое значение. Другими словами неявный решатель подбирает такое значение потока материи, который бы создал в подключенной к источнику цепи заданную разность потенциалов (в данной модели в качестве опорного генератора используется блок синусоидального сигнала).

gif-file, 2KB

Второй блок unknown в модели (с красной рамкой) предназначен для обеспечения возможности изменения потенциалов источника в синфазном режиме. Парный этому блоку блок constraint расположен в модели физического элемента "заземлитель потенциала". Оставшийся в модели блок constraint обеспечивает нулевой баланс при возврате потока в источник (иначе, если в схеме несколько источников, то возможна ситуация, когда в данный источник вернется поток другой величины).

Источник потока (генератор потока материи)

Структурная схема источника потока материи изображена на рисунке. Величина и форма потока в данной модели задается опорным генератором – блоком синусоидального сигнала. Блок constraint заставляет неявный решатель, на каждом шаге симуляции, искать такой баланс энергетической цепи, при котором в данный источник вернется поток материи в полном объеме.

gif-file, 2KB

Блок unknown (в блок-схеме имеет красную рамку), так же как в модели источника движущей силы, предназначен для обеспечения возможности изменения потенциалов источника в синфазном режиме. Парный этому блоку блок constraint расположен в модели физического элемента "заземлитель потенциала".

Прерыватель алгебраических петель (инициатор потока материи)

Модель прерывателя алгебраических петель – есть модель источника движущей силы нулевой величины (сравни структурные схемы). Включение идеального источника движущей силы нулевой величины в разрыв любой ветви энергетической цепи, не может изменить режим ее работы (это обусловлено нулевым внутренним сопротивлением такого источника).

gif-file, 2KB

Существуют модели фрагментов энергетических цепей без источников энергии, движение материи в которых вызвано ненулевыми начальными условиями на реактивных элементах. Например, модель процесса разряда конденсатора на активное сопротивление. Если проанализировать блок-схемы потребителей энергетических цепей, то становится очевидным факт возможного появления алгебраических петель, а так же простых кольцевых замыканий линий связи (смотри проводники с зелеными контактами, передающие величину потока). Как было показано ранее, включение прерывателя алгебраических петель в RC-цепь не меняет режим ее работы, но инициирует в ней поток материи и разрывает алгебраические петли, – в этом и заключено его назначение.

Таким образом, прерыватель алгебраических петель – это служебный элемент моделирующей программы, который используется последней, для показанных нужд, автоматически (по мере необходимости). Он не входит в базовые библиотеки элементов и его присутствие в ненаправленном графе (в схеме физической принципиальной) ни как не отражается.

Заземлитель потенциала

Модель заземлителя потенциала состоит из одного блока constraint. Данный датчик неявного решателя будет уравновешиваться теми блоками unknown (с красной рамкой), что будут обнаружены в источниках той энергетической цепи, которую составит пользователь моделирующей программы. При этом заземлитель может быть подключен к любому ее потенциальному контакту.

gif-file, 2KB

Не следует путать заземлитель энергетического потенциала с условным графическим обозначением заземления на схемах электрических принципиальных. Заземлитель потенциала – это не проводник. Он может быть установлен в модели только один раз. В программах с развитым графическим интерфейсом за подключение этого блока отвечает сама моделирующая программа.

Узлы ненаправленного графа

Распределяющий (материю) узел

Основу распределяющего узла составляет обслуживаемый неявным решателем трехвыводной сумматор, математическое уравнение которого соответствует постулату о сохранении материи (например, это может быть I закон Кирхгофа). Соблюдение этого постулата обеспечивает датчик неявного решателя (блок constraint) на выходе сумматора. Перераспределение же потоков материи $I_2$ и $I_3$ контролирует второй датчик неявного решателя, фиксирующий разность потенциалов $φ_2$ и $φ_3$. Если $(φ_2-φ_3) \gt 0$, то баланс в цепи может быть найден при уменьшении потока $I_2$ и увеличении $I_3$. Если $(φ_2-φ_3) \lt 0$, то неявному решателю потребуется увеличить поток $I_2$ и уменьшить $I_3$. (Изменения потоков материи приводят к тому, что элементы ненаправленного графа меняют значения соответствующих потенциалов). Таким образом, принцип работы узла состоит в том, чтобы распределить поток материи $I_1$ на потоки $I_2$ и $I_3$ так, чтобы соблюдалось равенство потенциалов $φ_2$ и $φ_3$ (после нахождения баланса цепи потенциал $φ_1$ будет равен потенциалам $φ_2$ и $φ_3$).

gif-file, 2KB

Аккумулирующий (материю) узел

Структурная схема аккумулирующего узла существенно проще (см. рис.) и особых комментариев не требует.

gif-file, 2KB

Рекомендации к использованию библиотеки элементов

Рабочие файлы: [Элементы] [RLC схема] [Схема электрическая] [Ее граф в VisSim'е]

Описанные модели элементов ненаправленного графа являются идеализированными, т.е. имеют стремящиеся к нулю внутренние сопротивления, обладают высокой добротностью, или совершенно не имеют инерционных свойств, как то и требуется для схем замещений. Отсюда следует, что неправильно составленный ненаправленный граф может привести к перегрузке мантиссы решателей. Приведем примеры для электрического энергетического домена:

Другой причиной проблем с решателями могут послужить элементы, установленные на рабочее поле, но не подключенные к графу. Далеко не у всех моделирующих программ неявные решатели умеют находить и исключать из расчетов те датчики нулевого баланса и блоки неизвестная, которые не связаны функциональной зависимостью (т.е. не подключены). По той же причине не следует создавать не связанные, хотя бы потенциально, энергетические цепи, поскольку в этом случае, так же образуются независимые области итерационного подбора.

Не следует так же забывать, что итерационный поиск баланса для десятков, а то и сотен координат (переменных) энергетических цепей выполняется на каждом шаге симуляции. Очевидно, что итерационный процесс будет тем короче, чем меньше приращения значений координат. Отсюда следует рекомендация отказываться, в критических случаях, от задающих генераторов, чьи выходные последовательности имеют разрывы: меандр, пила, и т.д. (Пропустите сигналы соответствующих источников опорного напряжения, через апериодические звенья первого порядка с малой постоянной времени).

Об альтернативном построении графа схемы физической принципиальной

Рабочие файлы: [Альтернативные элементы] [codirected_bond_graphs.vsm]

Большинство программ для математического моделирования динамических систем (VisSim, Simulink, ПК «МВТУ») в своем графическом интерфейсе предоставляют возможность собрать проводники в шину. Но направления проводников в шинах должны совпадать. Это вызывает затруднения при использовании предложенной библиотеки элементов. Однако, следуя этому ограничению, можно составить альтернативную библиотеку, элементы которой можно будет соединять подобными шинами. Принципиальных отличий в построении альтернативной библиотеки нет, и требуемые модификации не существенны. В моделях пассивных элементов ненаправленного графа меняется знак на сумматоре при вычислении приращения потенциала, а та часть блок-схемы распределяющего узла, которая отвечает за баланс потенциалов, перемещается в аккумулирующий узел.