Клиначёв Николай Васильевич

О явном и неявном решателях программ математического моделирования динамических систем

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

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

Явный решатель подключается ко всем интеграторам модели (см. рис. 1, блок 1/S), и, с той или иной точностью (на что влияет выбор метода интегрирования в настройках [1]), интегрирует входные сигналы, обеспечивая тем самым решение дифференциальных уравнений.

Представление явного и неявного решателей в графической (блочной форме)

Рис. 1

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

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

Возможности неявного решателя существенны. Он позволяет перейти к новой технологии построения моделей [2], которая предусматривает закрепление за группами уравнений условных графических обозначений элементов энергетических цепей (резистора, транзистора, магнитного сердечника, пневмоцилиндра и пр.). Например, такой подход к моделированию реализован в программе Multisim фирмы Electronics WorkBench. Однако, графический интерфейс многих программ (VisSim, Simulink, MBTY) сегодня не готов к построению моделей согласно новой технологии. Не смотря на этот факт, неявный решатель может существенно помочь при построении моделей тем специалистам, чьи знания в области теории управления неглубоки (физикам, электронщикам, гидравликам, механикам, электроприводчикам, экономистам и пр.).

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

Пример использования явного и неявного решателей программам математического моделирования динамических систем

Рис. 2

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

Формы записи закона Ома

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

В заключении отметим, что скорость моделирования остается приемлемой, не смотря на тот факт, что неявный решатель может подбирать десятки координат на каждом шаге симуляции. Так для модели VisSim'а состоящей из 100 блоков, трех интеграторов и пяти координат, подбираемых в итерационном процессе, скорость моделирования составила 1000 точек осциллограммы за секунду.

Литература

  1. Клиначёв Н. В. Основы моделирования систем. – Website: http://model.exponenta.ru/lectures/index.htm, Челябинск, 2003.
  2. Клиначёв Н. В. Технология мультидоменного физического моделирования с применением ненаправленных графов, или один шаг от VisSim'а до Multisim'а (Electronics Workbench). – Website: http://model.exponenta.ru/ndbg.html, Челябинск, 2003.

26.03.2003