В случае реализации на алгоритмической машине следует воспользоваться алфавитом алгоритмов: блоками начала и конца алгоритма, ввода-вывода информации, задания начальных условий, вычислительными блоками, блоками условия, конструкциями цикла. На рис. 11.10 представлена блок-схема алгоритма, имитирующего теплообмен между телами.
Рис. 11.10. Блок-схема алгоритма, имитирующего теплообмен между телами
Заметьте, что для реализации нам понадобились следующие инструменты:
устройства ввода информации (для задания параметров модели, параметров метода расчета, задания начальных условий процесса);
устройство вывода информации;
вычислительные блоки для реализации математических формул;
цикл для имитации течения времени.
В теле цикла присутствуют:
счетчик времени;
условие выхода из цикла для контроля за временем моделирования;
блок задания внешних воздействий;
блок расчета приращений;
блок расчета нового состояния системы;
блок вывода текущих состояний.
В той или иной мере вышеназванные блоки обязательно присутствуют в каждом алгоритме данного типа
12. Лекция 12. Уравнения высших порядков
Если при построении модели динамической системы оказалось, что в его записи использованы производные второй и более степени, это значит, что мы имеем дело с уравнениями высших порядков. Уравнения высших порядков приводят к системе уравнений первого порядка. Рассмотрим это на примере.
Пример 1. Дано следующее дифференциальное уравнение второго порядка: y'' + y'/x + y = 0. Необходимо привести его к системе уравнений первого порядка.
Обозначим: dy/dt = z; d2y/dt2 = z'. Тогда: z' + z/x + y = 0. И далее приходим к системе дифференциальных уравнений первого порядка:
Далее решаем эту систему уже известными нам способами, например, методом Эйлера (см. Лекцию 10. Численные методы интегрирования дифференциальных уравнений. Метод Эйлера).
13. Лекция 13. Структурно перестраиваемые модели
В ряде случаев объект, который мы моделируем или которым мы управляем, может в процессе функционирования качественно меняться. До этого мы рассматривали случаи, когда изменялись количественно отдельные параметры системы, значения ее отдельных переменных, но не менялись сами уравнения, названия или количество переменных, их связи. В структурно изменяющихся системах, например, могут исчезать старые или появляться новые связи, элементы в составе системы. То есть в процессе моделирования может измениться сама структура моделируемой системы. Соответственно модель также должна в процессе моделирования иметь возможность изменить свои свойства и уравнения.
Задача 1. В бак наливаются две разные жидкости. Имеется отверстие для слива в нижней части бака и отверстие для аварийного слива сбоку (см. рис. 13.1). Цель имитации — анализ поведения системы. Для этого обсудим уравнения, моделирующие динамику поведения системы.
Рис. 13.1. Моделируемая система
Обозначим: P — расход жидкости [л/час], C — концентрация [кг/м3], S — площадь [м2], V — объем жидкости [м3]. Обозначим концентрации входных потоков как C1 и C2. Оба потока смешиваются в баке, в результате чего образуется жидкость с некоторой средней концентрацией C. Естественно, через выходные отверстия будет сливается жидкость именно с концентрацией C. Тогда: dC/dt = (P1 · C1 + P2 · C2 – P3 · C – P4 · C)/V.
Изменение концентрации зависит от соотношения расхода жидкости (поступающей и удаляемой из бака) и концентрации соответствующих потоков: dV/dt = P1 + P2 – P3 – P4.
Изменение объема жидкости в баке зависит от соотношения расхода жидкости (поступающей и удаляемой из бака) соответствующих потоков: H = V/S.
Высота жидкости в баке зависит от объема и площади бака: P3 = a · H.
Расход жидкости через сливное отверстие в дне бака зависит от столба жидкости — чем больше столб жидкости, тем сильнее он давит на нижние ее слои и тем быстрее жидкость выливается из бака (здесь a — коэффициент пропорциональности).
Чтобы учесть влияние на работу системы аварийного клапана, заметим, что если высота H жидкости в баке превысит уровень H1, то жидкость начнет переливаться через отверстие аварийного слива сбоку, иначе расхода жидкости через данное отверстие нет. Математически этот факт можно выразить следующей системой:
Алгоритм реализации такой модели показан на блок-схеме (см. рис. 13.2). Обратите внимание: по сравнению с прежними реализациями появился блок условия IF — с помощью него подключается один или другой вариант записи уравнения. Изменение структуры имитируется условным блоком.
Рис. 13.2. Блок-схема алгоритмической реализации структурно-перестраиваемой модели