Численное решение одной задачи распределённой управляемости в среде Mathcad

Научная статья
DOI:
https://doi.org/10.60797/IRJ.2024.146.13
Выпуск: № 8 (146), 2024
Предложена:
28.04.2024
Принята:
22.07.2024
Опубликована:
16.08.2024
40
1
XML
PDF

Аннотация

В статье предлагается алгоритм численного решения задачи распределённой управляемости процессом остывания тонкого однородного стержня с теплоизолированной боковой поверхностью.

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

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

1. Введение

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

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

Статья

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

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

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

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

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

).

Особенность рассматриваемой задачи состоит в том, что требуется охладить стержень до нулевой температуры за конечное (необязательно минимальное) время. Ясно, что в такой постановке единственности решения задачи ожидать не следует.

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

2. Постановка задачи и аналитические результаты

Пусть img -- классическое решение в цилиндре img следующей задачи:

img
(1)
img
(2)
img
(3)

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

Хорошо известно

, что, при условиях, наложенных на функции img и img, задача (1)-(3) имеет единственное решение, которое может быть найдено методом разделения переменных в виде ряда Фурье по системе img, ортогональной на отрезке img

Применяя метод разделения переменных

, получим решение задачи в виде

img

Здесь imgimg

Подберём функцию img так, чтобы img при всех img и всех img, тогда получим, что img при всех img

Будем искать непрерывные коэффициенты img в виде img, тогда придём к равенству img Интегрируя, находим img.

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

.

Осталось выбрать такое img, чтобы выполнялась оценка img. Очевидно, что оценки достаточно проводить только для случая img. Тогда, учитывая, что img при всех img, получим:

img

Здесь img (ограниченность коэффициентов Фурье легко следует из ограниченности функции img) и использована сумма ряда обратных квадратов. Таким образом,

img
(4)

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

img
(5)

Легко видеть, что при img выполняется неравенство img: при img неравенство проверяется непосредственно, после чего остаётся заметить, что функция img строго возрастает. Кроме того, заметим, что функция img строго убывает при img. Тогда, считая, что 

img
(6)

из (5) получаем оценки:

img

img

img

img

 где img -- интеграл ошибок.

Отметим, что при численной реализации достаточно решить задачу только при img. Если окажется, что img, то, полагая img при всех img, в силу теоремы единственности

,
, будем иметь img при всех img. При этом, конечно, должна быть обеспечена непрерывная «склейка» значений img при img, что как раз и выполняется в предлагаемом решении.

3. Численное моделирование с использованием вычислительного блока Given/Pdesolve

Выполним численное моделирование в среде Mathcad решения задачи (1)-(3) на прямоугольнике img с учётом построенной функции img и полученных оценок. Будем использовать встроенный вычислительный блок Given/Pdesolve

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

Использование вычислительного блока интуитивно понятно и приведено в листинге на рис. 1.

Листинг вычислительного блока Given/Pdesolve

Рисунок 1 - Листинг вычислительного блока Given/Pdesolve

В качестве параметров функция Pdesolve получает имя функции-решения, имя первого аргумента, диапазон изменения первого аргумента, имя второго аргумента и диапазон изменения второго аргумента. Необязательными параметрами являются количества шагов дискретизации по первому и второму аргументу (в листинге они заданы, как 10 и 5 соответственно). При их отсутствии функция сама задаёт шаги дискретизации по обоим аргументам.

Результатом работы функции является интерполированная зависимость img, что увеличивает общее время вычислений, однако позволяет сразу получать значения искомой функции в любой точке рассматриваемого прямоугольника.

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

с любой наперёд заданной точностью.

Далее, найдём наименьшее целое значение img, для которого img. Простой код в Mathcad приведён на рис. 2.
Листинг нахождения K

Рисунок 2 - Листинг нахождения K

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

В таблице 1 приведены результаты работы вычислительного блока при различных соотношениях количеств шагов по координате (img) и времени (img). Норма равномерная.

Таблица 1 - Результаты работы модуля Given/Pdesolve

​M

5

​10

​100

​100

​-

N

5

5

5

100

-

​||u(x,T)||

​1,893х10-5

​8,614х10-7

​5,979х10-8

​​5,979х10-8

​​8,614х10-7

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

В следующем разделе будут приведены варианты явных вычислений на основе построения разностных схем.

4. Численное моделирование на основе разностных схем

Введём в прямоугольнике img сетку imgimgimgimgimgimgimgimg -- шаги по координате и по времени соответственно. Явная разностная схема, аппроксимирующая задачу (1)-(3) имеет вид

:

img
(7)
img
(8)
img
(9)

Как известно

, данная разностная схема аппроксимирует дифференциальную задачу с порядком img и является устойчивой при условии img. По теореме Лакса
решение разностной схемы сходится к решению дифференциальной задачи в равномерной норме с первым порядком по времени и вторым порядком по координате.

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

img
(10)

Листинг программы в среде Mathcad, решающей по явной разностной схеме тот же самый модельный пример, что был рассмотрен в предыдущем разделе, приведен на рис. 3.

Решение задачи при помощи явной разностной схемы

Рисунок 3 - Решение задачи при помощи явной разностной схемы

На рис. 4 приведена визуализация решения задачи при img (используется инструмент визуализации «График поверхности»
).
Решение с использованием явной разностной схемы

Рисунок 4 - Решение с использованием явной разностной схемы

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

Рисунок 5 - Листинг оптимизированной программы, реализующей явную разностную схему

Наконец, ещё одна оптимизация состоит в отказе от хранения даже одномерного временного массива с промежуточными данными. Реализация представлена на рис. 6.
«Максимальная» оптимизация расчётов по явной разностной схеме

Рисунок 6 - «Максимальная» оптимизация расчётов по явной разностной схеме

В таблице 2 приводятся сравнительные результаты вычислений по явной разностной схеме (норма равномерная, шаг по времени связан с шагом по пространству условием устойчивости разностной схемы).

Таблица 2 - Результаты решения задачи по явной разностной схеме

​h

​0,1

​0,01

​0,001

​0,0001

||u(x,T)||

​7,831х10-5

​8,01х10-7

​8,011х10-9

​неприемлемо большое время вычислений

Очевидным преимуществом явной разностной схемы является простота её реализации и скорость вычислений. Однако существенным недостатком является наличие условия устойчивости, заставляющего для достижения приемлемой точности решения рассчитывать большое количество временных слоёв сетки. Вычисления с шагом img оптимизированные программы проводили около пяти минут (процессор Intel core i5 10500h, ОС – Windows 11). Не оптимизированная программа при этом выдала ошибку нехватки памяти (что обусловлено необходимостью хранения больших двумерных массивов во время работы программы). Время вычислений с шагом img оказалось неприемлемо большим даже для оптимизированных программ.

Чтобы избавиться от условия устойчивости, рассмотрим неявную шеститочечную разностную схему Кранка-Николсон

. Чтобы записать эту разностную схему, заменим уравнение (7) в системе (7)-(9) уравнением

img
(11)

Разностная схема (11), (8), (9) аппроксимирует дифференциальную задачу с порядком img, что является её преимуществом перед простейшей неявной разностной схемой, а также является безусловно устойчивой. Решение этой разностной схемы сходится к решению дифференциальной задачи в равномерной норме со вторым порядком по времени и по координате. Вычисления по этой схеме организуются сложнее, чем по явной разностной схеме. Наиболее эффективным здесь является метод прогонки

, для применения которого уравнение (11) преобразуем к следующему виду

img

На рис. 7 представлена реализация решения задачи при помощи неявной разностной схемы Кранка-Николсон (сразу в варианте без использования двумерных массивов). Алгоритм метода прогонки реализован в листинге на рис. 8.

Решение задачи по схеме Кранка-Николсон

Рисунок 7 - Решение задачи по схеме Кранка-Николсон

Метод прогонки (алгоритм Томаса)

Рисунок 8 - Метод прогонки (алгоритм Томаса)

В таблице 3 приведены результаты вычислений по неявной разностной схеме Кранка-Николсон (норма равномерная). Отметим, что время вычислений в последнем тесте (шестой столбец таблицы 3) составило примерно пять минут.

Таблица 3 - Результаты решения задачи по схеме Кранка-Николсон

h

​0,1

​0,1

​0,01

​0,001

​0,0001

tau​

0,1

0,001

0,001

0,0001

0,00001

​||u(x,T)||

​1,176х10-3

​1,199х10-5

​1,947х10-7

​1,947х10-9

​1,712х10-11

5. Заключение

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

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

Также следует заметить, что рассматриваемую задачу можно считать обратной задачей математической физики

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

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

Метрика статьи

Просмотров:40
Скачиваний:1
Просмотры
Всего:
Просмотров:40