Дискретизация дифференциальных уравнений

В частных производных

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

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

4.1 Метод конечных разностей

Введенное в предыдущем параграфе определение сеточной функции естественным образом распространяется на случай двух и более аргументов. Простейшую двумерную сетку {xi,j, yi,j} можно построить как набор из J одномерных сеток, каждая из которых содержит I узлов, при этом должно выполняться условие:

xi-1, j< xi, j< xi+1, j ; yi, j-1< yi, j< yi, j+1 (19)

Очевидно, что суммарное число сеточных узлов в этом случае будет I×J. Расчетные сетки, удовлетворяющие условию (19), называются регулярными (упорядоченными). Для упрощения записи в дальнейшем мы будем использовать обозначение Фi,j= Дискретизация дифференциальных уравнений - student2.rui,j, уi,j). Пример сеточной функции двух переменных, построенной на регулярной сетке, приведен на рис. 5.

Дискретизация дифференциальных уравнений - student2.ru

Рис. 5. Сеточная функция двух переменных, заданная на упорядоченной сетке

Частные производные функции Дискретизация дифференциальных уравнений - student2.ru могут быть аппроксимированы аналогично (9). Например, в случае Δx=const, Δy=const[19] при использовании центрального конечно-разностного отношения, будем иметь:

Дискретизация дифференциальных уравнений - student2.ru , Дискретизация дифференциальных уравнений - student2.ru , Дискретизация дифференциальных уравнений - student2.ru , Дискретизация дифференциальных уравнений - student2.ru , Дискретизация дифференциальных уравнений - student2.ru (20)

Продемонстрируем применение метода конечных разностей на примере нестационарного уравнениятеплопроводности (уравнение диффузии):



Дискретизация дифференциальных уравнений - student2.ru , (21)

где Т – температура (подлежащая определению в результате решения), t – время, α – коэффициент теплопроводности, х – координата.

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

С математической точки зрения, решением уравнения (21) является функция, зависящая от двух переменных (координата х и время t).

Дискретизация дифференциальных уравнений - student2.ru

Рис. 6. Стержень с теплоизолированной боковой поверхностью

Для решения задачи должно быть заданы:

§ граничное условие на левом торце стержня – либо зависимость температуры от времени T0=T(x0,t) (условие Дирихле) либо пространственная производная Дискретизация дифференциальных уравнений - student2.ru (условие Неймана);

§ граничное условие на правом конце стержня – TN=T(xN,t) либо Дискретизация дифференциальных уравнений - student2.ru ;

§ начальное условие – закон распределения температуры по всей длине стержня в начальный момент времени Т(х, 0), где x0<x< xN.

Заменим[20] производную по времени в уравнении теплопроводности (21) разностным отношением вперед (см. 9b), а вторую производную по пространственной координате – центральным конечно-разностным отношением (см. 20)[21]:

Дискретизация дифференциальных уравнений - student2.ru , (22)

где i – номер рассматриваемого сеточного узла, j – номер рассматри­ваемого шага по времени, Δx – шаг пространственной сетки, Δt – шаг по времени, Ti,j – температура в сеточном узле с координатой xi=x0+i∙Δx в момент времени tj= j∙Δt.

Схема используемой расчетной сетки приведена на рис. 7. На рис. 8а приведен фрагмент расчетной сетки (расчетный шаблон, расчетная схема), включающий в себя только те узлы сетки, которые "упоминаются" в уравнении (22).

Дискретизация дифференциальных уравнений - student2.ru

Рис. 7. Расчетная сетка, используемая для решения уравнения теплопроводности (21)

Дискретизация дифференциальных уравнений - student2.ru

а) явная схема б) неявная схема

Рис. 8. Расчетные шаблоны, используемые для решения уравнения теплопроводности

Алгебраическое уравнение (21) позволяет методом "последовательного обхода" узлов расчетной сетки найти все неизвестные значения сеточной функции Ti, j:

Дискретизация дифференциальных уравнений - student2.ru , (22a)

Как следует из рассмотрения рис. 8а, в правой части уравнения (22a) упоминаются лишь те узлы расчетной сетки, значения температуры в которых уже известны. Расчетные схемы, обладающие указанным свойством, называются явными. Данное обстоятельство, с одной стороны, существенно упрощает решение задачи об отыскании значений сеточной функции Тi, j, с другой стороны, анализ формулы (22a), показывает, что температура в узле xi в момент времени tj+1, зависит только от температуры в узлах xi-1, xi, xi+1 в момент времени tj, и не зависит от распределения температур внутри стержня в момент времени tj+1, что не вполне соответствует физическому смыслу задачи.

Для устранения этого противоречия, несколько видоизменим аппроксимацию производной Дискретизация дифференциальных уравнений - student2.ru в уравнении (21):

Дискретизация дифференциальных уравнений - student2.ru , (23)

или:

Дискретизация дифференциальных уравнений - student2.ru . (23a)

Правая часть уравнения (23a) содержит неизвестные величины Ti-1,j+1 и Ti+1,j+1, поэтому оно не может быть непосредственно (без увеличения объема вычислительной работы) использовано для нахождения температуры Ti,j+1. Расчетный шаблон для неявной расчетной схемы (23a) приведен на рис. 8б. Как показывают оценки [Флетчер], объем вычислений, при применении неявной схемы вместо явной схемы (22a), возрастает, ориентировочно, в два раза. Однако лучшая физическая обоснованность неявной схемы позволяет нам рассчитывать на более высокое качество результатов расчета.

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

Дискретизация дифференциальных уравнений - student2.ru , для всех[22] i=1 … N-1 (24)

где верхний индекс означает номер итерации.

Тогда, с учетом (23а), в первом приближении температура в момент времени tj+1 может быть определена как

Дискретизация дифференциальных уравнений - student2.ru , Дискретизация дифференциальных уравнений - student2.ru , …, Дискретизация дифференциальных уравнений - student2.ru . (25)

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

Дискретизация дифференциальных уравнений - student2.ru , для всех i=1 … N-1. (26)

Следует также предусмотреть прекращение расчета в том случае, если решения не удастся достигнуть (решение не сойдется) после некоторого "разумного" числа итераций К. Причиной отсутствия сходимости, в частности, могут стать завышенные требования к точности решения ε, чрезмерно большие шаги расчетной сетки Δx и Δt, неудачный выбор начального приближения, а также некоторые физические эффекты[23].

В некоторых случаях, добиться сходимости решения удается за счет использования метода релаксации. Преобразуем последнюю из формул (25) к виду:

Дискретизация дифференциальных уравнений - student2.ru , (25а)

где r – коэффициент релаксации (r>0).

Очевидно, что, при r=1, формула (25а) совпадает с последней из формул (25). При значениях 0<r<1 (нижняя релаксация) число итераций, необходимое для достижения сходимости возрастает[24], однако при этом снижается вероятность получения расходящегося решения. И наоборот, использование коэффициента релаксации r>1 (верхняя релаксация), может привести к сокращению продолжительности расчета, а может вызвать полный "развал" численной схемы.

Следует подчеркнуть, что выбор метода дискретизации дифференциальных уравнений и оптимальной величины коэффициента релаксации возлагается на исследователя[25]. Дополнительные сведения по этому вопросу содержатся в главе, посвященной свойствам разностных схем.

4.2 Метод конечных элементов

В основе метода конечных элементов (МКЭ) лежит предположение о характере поведения функции Дискретизация дифференциальных уравнений - student2.ru , являющейся точным решением дифференциального уравнения. Для демонстрации основных идей МКЭ, предположим, что с достаточной точностью искомое решение Дискретизация дифференциальных уравнений - student2.ru (x) может быть представлено с помощью кусочно-линейной интерполяции[26] (рис. 9).

Очевидно, что значение кусочно-линейной функции Ф*=Ф(х*) в некоторой точке х*, лежащей внутри отрезка [xi-1, xi] может быть найдено по формуле:

Дискретизация дифференциальных уравнений - student2.ru

Рис. 9. Кусочно-линейная интерполяция решения дифференциального уравнения

Дискретизация дифференциальных уравнений - student2.ru , (27)

где

Дискретизация дифференциальных уравнений - student2.ru . (27а)

График функции формы (пробной функции) Дискретизация дифференциальных уравнений - student2.ru , приведен на рис. 10. Необходимо отметить, что функция формы, является локальной, т.е. она отлична от нуля лишь в некоторой области, непосредственно прилегающей к рассматриваемому узлу xi. В частности, в случае кусочно-линейной интерполяции функции одной переменной Дискретизация дифференциальных уравнений - student2.ru (x), функция формы Дискретизация дифференциальных уравнений - student2.ru отлична от нуля лишь в пределах отрезков (конечных элементов) [xi-1, xi] и [xi, xi+1].

Дискретизация дифференциальных уравнений - student2.ru

Рис. 10. Линейная функция формы Дискретизация дифференциальных уравнений - student2.ru

Отметим также, что производная кусочно-линейной функции Ф(х) в пределах элемента [xi-1, xi] совпадает с конечно-разностным отношением назад (9а), а в пределах элемента [xi, xi+1] – с конечно-разностным отношением вперед (9b).

Продемонстрируем применение метода конечных элементов на примере рассмотренного нами ранее обыкновенного дифференциального уравнения (13). Для сокращения записи будем использовать обозначение F(x)= Дискретизация дифференциальных уравнений - student2.ru .

Подстановка в уравнение (13) вместо точного решения Дискретизация дифференциальных уравнений - student2.ru (x) кусочно-линейной функции Ф(х) приведет к тому, что уравнение (13) будет выполняться неточно. Можно записать:

Дискретизация дифференциальных уравнений - student2.ru , хÎ[х0; хN]. (28)

Или:

Дискретизация дифференциальных уравнений - student2.ru , хÎ[ х0; хN], (28а)

где R(х) – невязка решения, в общем случае являющаяся функцией независимой переменной х. Очевидно, что кусочно-линейная функция Ф(х) будет хорошим приближением к точному решению Дискретизация дифференциальных уравнений - student2.ru (x) лишь в том случае, если невязка R(x) будет мала для всех значений хÎ[ х0; хN].

Второй принципиальный этап МКЭ заключается в выборе способа определения неизвестных узловых значений Фi. Для решения этой задачи потребуем, чтобы взвешенные интегралы невязки по всей области задания функции Дискретизация дифференциальных уравнений - student2.ru (x) были равны нулю:

Дискретизация дифференциальных уравнений - student2.ru , для всех i=1…N (29)

Вследствие локальности функций формы Дискретизация дифференциальных уравнений - student2.ru (см. рис. 10), можно записать:

Дискретизация дифференциальных уравнений - student2.ru для всех i=1…N (30)

Или:

Дискретизация дифференциальных уравнений - student2.ru (30а)

Все интегралы, входящие в (30а), могут быть сравнительно легко определены, а сами соотношения (30а), совместно с начальным условием Ф0= Дискретизация дифференциальных уравнений - student2.ru0), являются системой линейных алгебраических уравнений, которая может быть решена любым из известных методов, т.е.:

Дискретизация дифференциальных уравнений - student2.ru Дискретизация дифференциальных уравнений - student2.ru (30b)

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

Результаты решения дифференциального уравнения (13) методом конечных элементов приведены на рис. 11. Как можно видеть из этого рисунка, уже при шаге сетки Δх=0,08 численное решение, полученное с помощью МКЭ, гораздо лучше соответствует точному решению, чем численное решение, полученное с помощью метода Эйлера при шаге сетки Δх=0,025 (см. рис. 4). Следует, однако, отметить, что объем вычислительной работы, связанный с определением интегралов, входящих в (30), и последующее решение полученной системы алгебраических уравнений, на порядок превосходит объем вычислительной работы, выполненной по методу Эйлера.

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

Дискретизация дифференциальных уравнений - student2.ru

Рис. 11. Решение дифференциального уравнения (13) методом конечных элементов

Дискретизация дифференциальных уравнений - student2.ru

Рис. 12. Полилинейная функция формы Дискретизация дифференциальных уравнений - student2.ru , определенная на плоской сетке,

содержащей треугольные конечные элементы

4.3 Метод конечных объемов

Использование метода конечных (контрольных) объемов продемонстрируем на примере двумерного стационарного уравнения теплопроводности:

Дискретизация дифференциальных уравнений - student2.ru , (31)

где α – коэффициент теплопроводности, S – скорость выделения теплоты в единице объема.

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

Дискретизация дифференциальных уравнений - student2.ru (31а)

Дискретизация дифференциальных уравнений - student2.ru

Рис. 13. Расчетная сетка, используемая для решения уравнения (31)

методом конечных объемов

Используя теорему о среднем можно записать

Дискретизация дифференциальных уравнений - student2.ru , (32)

где Δх, Δу – длины граней ячейки, xW – абсцисса левой ("западной") границы ячейки А, xЕ – абсцисса правой ("восточной") границы, уN – ордината верхней ("северной") границы, уS – ордината нижней ("южной") границы, S* – средняя по ячейке скорость тепловыделения. Индекс у производных (*), в левой части (32), указывает на то, что их следует рассматривать как средние значения, определенные таким образом, чтобы правильно представить тепловые потоки на каждой из границ. С учетом данного обстоятельства, дискретный аналог (32) может быть получен без затруднений [Патанкар].

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

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

Наши рекомендации