Примеры решения задач на уравнение теплопроводности

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

Содержание:

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

Займемся решением первой смешанной задачи для уравнения теплопроводности: найти решение и(х, 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 запрещено. Публикация и распространение размещённых материалов не преследует за собой коммерческой и/или любой другой выгоды.

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

Метод Finite Volume — реализация на примере теплопроводности

Метод Finite Volume (FVM)

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

Термин конечный объем в статье будет часто заменятся на Элемент, будем для удобства считать их эквивалентами (элемент в данной статье не имеет ничего общего с методом конечных элементов).

Есть 2 различных способа решения задачи по FVM:
1) грани контрольного объема совпадают с гранями элемента
2) грани контрольного объема проходят через центры граней элементов(на которые разбита область).Искомые переменные хранятся в вершинах этих элементов.Вокруг каждой вершины строится контрольный объем. Для непрямоугольной сетки этот способ имеет еще 2 подвида.

Мы будем использовать способ 1) с контрольными объемами совпадающими с элементами на которые разбита область.

Некоторые плюсы FVM:

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

Метод FVM реализуем на примере уравнения теплопроводности:

Итак основные шаги при реализации FVM:

  1. Перевод дифф уравнения в форму пригодную для FVM — интегрирование по контрольному объему
  2. Составление дискретного аналога, выбор способа перевода производных и других подынтегральных выражений в дискретную форму
  3. Получение уравнения для каждого из контрольных объемов, на которые разбита область.Составление системы линейных уравнений и ее решение.

Дискретизация по времени.

Немного теории или первый шаг в реализации FVM

FVM на стандартной прямоугольной сетке

На рисунке изображен Элемент С и его соседние элементы справа(E), слева(W), сверху(N) и снизу(S).У элемента С есть 4 грани обозначенные буквами e w n s.Именно эти 4 грани и составляют периметр элемента и по ним производится интегрирование.Для каждого элемента в результате получаем дискретный аналог исходного дифф уравнения.

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

Уравнение (7) и есть конечное уравнение для элемента С, из него мы на каждом шаге по времени получаем новое значение температуры (Tnew) в элементе С.

Граничные условия на прямоугольной сетке

Мы рассмотрим только 2 вида граничных условий.

  1. Задана температура Tb на границе
  2. Задан поток FluxB на границе, рассмотрим только случай когда FluxB=0, т.е. грань e будет теплоизолирована(Insulated)

Случай 2) самый простой, поскольку получается что грань e не потребуется при дискретизации(т.к. все коэффициенты Flux=0) и можно ее просто пропустить.

Теперь рассмотрим случай 1).Дискретизация грани e будет в целом похожа на ту что уже была описана.Будут только 2 изменения — вместо Te будет известное граничное значение Tb и вместо расстояния DXe будет DXe/2.В остальном можно рассматривать значение Te так, как будто это был бы обычный соседний узел E.Теперь подробнее распишем терм для граничного элемента С.

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

FVM в задачах со сложной геометрией

Здесь как раз проявляется преимущество FVM, где также, как и в методе конечных элементов, можно представлять область с круглыми границами через разбиение на треугольники или любые другие полигоны.Но FVM имеет еще 1 плюс — при переходе от треугольников к полигонам с большим числом сторон не требуется абсолютно ничего менять, конечно если код был написан для произвольного треугольника а не равностороннего.Более того, можно без изменения кода использовать смесь разных элементов — треугольники, полигоны, квадраты и тд.

Рассмотрим общий случай, когда вектор соединяющий центры 2-х элементов не совпадает с вектором нормали к общей грани этих элементов.Вычисление потока flux через грань теперь будет состоять из 2-х частей.В первой будет расcчитываться ортогональная составляющая а во второй так называемая «кросс-диффузия».

На картинке изображены 2 элемента, С — текущий рассматриваемый элемент и F — соседний элемент.Опишем дискретизацию для грани, разделяющей эти 2 элемента.Вектор соединяющий центры элементов — DCF.Вектор e — это единичный вектор по направлению DCF.Вектор Sf — направлен по нормали к грани, его длинна равна длине грани.

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

Расчет граничных элементов ничем не отличается от расчетов не на границе, вместо центра соседнего элемента берется центр грани, ну и как обычно подставляется температура на границе.
В моей реализации в итоге получается так:

Примеры и проверка результатов

Описание структуры исходников

Гитхаб с исходниками лежит тут
Основная версия в папке heat2PolyV2.То что относится к вычислительной части лежит в heat2PolyV2\Src\FiniteVolume\.

Вначале файла Scene2.cs — параметры которые можно менять для отображения в разных цветовых схемах, масштаб, отображение mesh и т.д.Сами примеры хранятся в heat2PolyV2\bin\Debug\Demos\
Выгрузку из Матлаба сделать просто — нужно открыть pde toolbox, открыть m файл (либо создать самому с нуля), зайти в меню Mesh-Экспорт mesh, нажать ОК; перейти в основной Матлаб, в панельке появятся переменные — матрицы p e t, открыть файл savemymesh.m, выполнить его, появится файл p.out, перенести его в папку Demos.
В исходниках для выбора примера необходимо задать имя файла в строке param.file = «p»;(FormParam.cs).Далее необходимо применить граничные условия — для готовых примеров можно просто раскомментировать соответствующие блоки в MainSolver.cs:

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


источники:

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