Помощь в решении уравнение теплопроводности

Метод Фурье для уравнения теплопроводности

Содержание:

По этой ссылке вы найдёте полный курс лекций по математике:

Займемся решением первой смешанной задачи для уравнения теплопроводности: найти решение и(х, t) уравнения удовлетворяющее начальному условию и граничным условиям Начнем с простейшей задачи: найти решение u(x,t) однородного уравнения удовлетворяющее начальному условию и нулевым (однородным) граничным условиям Метод Фурье для уравнения теплопроводности.

Будем искать нетривиальные решения уравнения (4), удовлетворяющие граничным условиям (6), в виде Псдстаапя в форме (7) в уравнение (4), получим или откуда имеем два обыжювенных дифференциальных уравнения Чтобы получить нетривиальные решения и(х, *) вида (7), удовлетворяющие граничным условиям (6), необходимо найти нетривиальные решения уравнения (10), удовлетворяющие граничным условиям.

Таким образом, для определения фунмдои Х(х) мы приходим к задаче на собственные значения: найти те значения параметра А, при которых существуют нетривиальные решения задачи Эта задача была рассмотрена в предыдущей главе. Там было показано, что только при существуют нетривиальные решения При А = А„ общее решение уравнения (9) имеет вид удовлетворяют уравнению (4) и граничным условиям (6). Образуем формальный ряд.

Потребовав, чтобы функция и(х> t), определяемая формулой (12), удовлетворяла начальному условию , получим Ряд (13) представляет собой разложение заданной функции в ряд Фурье по синусам в интервале (О, I). Коэффициенты а„ разложения определяются по известным формулам Метод Фурье для уравнения теплопроводности Предположим, что Тогдаряд (13) с коэффициентами, определяемыми по формулам (14), будет сходиться к функции абсолютно и равномерно.

Так как при то ряд при также сходится абсолютно и равномерно.

Поэтому функция и(х, t) — сумма ряда (12) — непрерывна в области и удовлетворяет начальному и граничному условиям. Остается показать, что функция и(х, t) удовлетворяет уравнению (4) в области 0. Для этого достаточно показать, что ряды, полученные из (12) почленным дифференцированием по t один раз и почленным дифференцированием по х два раза, также абсолютно и равномерно сходятся при.

Но это следует из того, что при любом t > 0 если п достаточно велико. Единственность решения задачи (4)-(6) и непрерывная зависимость решения от начальной функции были уже установлены ранее. Таким образом, для t > 0 задача (4)-(6) поставлена корректно; напротив, для отрицательных t зада ча эта некорректна. Замечание.

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

Возможно вам будут полезны данные страницы:

Пример:

Найти распределение температуры в однородном стерве длины ж, если начальная температура стержня и на концах стержня поддерживается нулевая температура. 4 Задача сводится к решению уравнения при начальном условии и граничных условиях Применяя метод Фурье, ищем нетривиальные решения уравнения (15), удовлетворяющие граничным условиям (17), в виде Подставляя u(x,t) в форме (18) в уравнение (15) и разделяя переменные, получим откуда Собственные значения задачи . собственные функции Хп(х) = мп пх.

При А = А„ общее решение уравнения (19) имеет вид Tn(t) = апе а п\ так что Решение задачи (15)—(17) ищем в виде ряда Потребовав выполнения начального условия (16), получим откуда . Поэтому решением исходной задачи будет фунхция 2. Рассмотрим теперь следующую задачу: найти решение гх(ж, t) неоднородного уравнения _ удовДстворя ющее начальному условию и однородным граничным услови м Предположим, что функци / непрерывна, имеет непрерывную производ-ную и при всех t > 0 выполняется условие .

Решение задач:

Решение задачи (1)-(3) будем искать в виде где определим как решение задачи а функци — как решение задачи Задача (8)—(10) рассмотрена в п. 1. Будем искать решение v(x, t) задачи (5)-(7) в виде ряда по собстве нным функциям < краевой задачи . Подсгааяяя t) в виде в уравнение (5), получим Разложим функцию /ОМ) в ряд Фурье по синусам, где Сравнивая два разложения (12) и (13) функции /(х, t) в ряд Фурье, получаем ! Пользуясь начальным условием для v(x, t).

Метод Фурье для уравнения теплопроводности.

Находим, что Решения уравнений (15) при начальных условиях (16) имеют вид: Подставляя найденные выражения для Tn(t) в ряд (11), получим решение Функция будет решением исходной задачи (1)-(3). 3. Рассмотрим задачу: найти в области решение уравнения при начальном условии и неоднородных граничных условиях Непосредственно метод Фурье неприменим из-за неоднородности условий (20).

Введем новую неизвестную функцию v(x, t), положив где Тогда решение задачи (18)—(20) сведется к решению задачи (1)-(3), рассмотренной в п. 2, для функции v(x, J). Упражнения 1. Задан бесконечный однородный стержень. Покажи те, что если начальная температура то влобой момент температура стержня 2. Ко|рцы стержня длиной ж поддерживаются при температуре, равной нулю. Начальная температура определяется формулой Определите температуру стержня для любого момента времени t > 0. 3.

Концы стержня длиной I поддерживаются при температуре, равной нулю. Начальная температура стержня определяется формулой Определите температуру стержня для любого момента времени t > 0. 4. Концы стержня длиной I поддерживаются при температуре, равной нулю. Начальное распределение температуры Определите температуру стержня для любого момента времени t > 0. Ответы

Присылайте задания в любое время дня и ночи в ➔

Официальный сайт Брильёновой Натальи Валерьевны преподавателя кафедры информатики и электроники Екатеринбургского государственного института.

Все авторские права на размещённые материалы сохранены за правообладателями этих материалов. Любое коммерческое и/или иное использование кроме предварительного ознакомления материалов сайта natalibrilenova.ru запрещено. Публикация и распространение размещённых материалов не преследует за собой коммерческой и/или любой другой выгоды.

Сайт предназначен для облегчения образовательного путешествия студентам очникам и заочникам по вопросам обучения . Наталья Брильёнова не предлагает и не оказывает товары и услуги.

Уравнение теплопроводности в tensorflow

Привет, Хабр! Некоторое время назад увлекся глубоким обучением и стал потихоньку изучать tensorflow. Пока копался в tensorflow вспомнил про свою курсовую по параллельному программированию, которую делал в том году на 4 курсе университета. Задание там формулировалось так:

Линейная начально-краевая задача для двумерного уравнения теплопроводности:

Хотя правильнее было бы назвать это уравнением диффузии.

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

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

Численный алгоритм

Разностная схема:

Чтобы проще было расписывать, введем операторы:

Явная разностная схема:

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

Неявная разностная схема:

Перенесем в левую сторону все связанное с , а в правую и домножим на :

По сути мы получили операторное уравнение над сеткой:

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

Заменив на нашу оценку , запишем функционал ошибки:

где — ошибка в узлах сетки.

Будем итерационно минимизировать функционал ошибки, используя градиент.

В итоге задача свелась к перемножению тензоров и градиентному спуску, а это именно то, для чего tensorflow и был задуман.

Реализация на tensorflow

Кратко о tensorflow

В tensorflow сначала строится граф вычислений. Ресурсы под граф выделяются внутри tf.Session. Узлы графа — это операции над данными. Ячейками для входных данных в граф служат tf.placeholder. Чтобы выполнить граф, надо у объекта сессии запустить метод run, передав в него интересующую операцию и входные данные для плейсхолдеров. Метод run вернет результат выполнения операции, а также может изменить значения внутри tf.Variable в рамках сессии.

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

Сначала код инициализации. Здесь производим все предварительные операции и считаем все, что можно посчитать заранее.

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

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

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


источники:

http://habr.com/ru/post/321734/