Разностные схемы для решения дифференциальных уравнений

О построении разностных схем

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

Пример простейшей прямоугольной области G(z, у) с границей Г в двумерном случае показан на рис. 2.1. Стороны прямоугольника делятся на элементарные отрезки точками и . Через эти точки проводятся два семейства координатных прямых х = const и у = const, образующих сетку с прямоугольными ячейками. Любой ее узел, номер которого (i,j), определяется координатами (xi, yj). Поскольку все ячейки показанной на рис. 2.1 сетки одинаковы, такую сетку называют равномерной сеткой.

Рис. 2.1. Прямоугольная сетка

Аналогично вводятся сетки для многомерных областей, содержащих более двух измерений. На рис. 2.2 показан элемент сетки в виде прямоугольного параллелепипеда для трехмерной области.

Рис. 2.2. Элемент сетки

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

Узлы сетки, лежащие на границе Г области G, называются граничными узлами. Все остальные узлы — внутренними. Поскольку начальные и граничные условия при постановке задач формулируются на границе расчетной области, то их можно считать заданными в граничных узлах сетки. Иногда граничные точки области не являются узлами сетки, что характерно для областей сложной формы. Тогда либо вводят дополнительные узлы на пересечении координатных линий с границей, либо границу приближенно заменяют ломаной, проходящей через близкие к границе узлы. На эту ломаную переносятся граничные условия.

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

Рис. 2.3. Преобразование расчетной области

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

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

В дальнейшем при построении разностных схем мы для простоты будем использовать прямоугольные сетки (или с ячейками в виде прямоугольных параллелепипедов в трехмерном случае), а уравнения будем записывать в декартовых координатах (х, у, z). На практике приходится решать задачи в различных криволинейных системах координат: полярной, цилиндрической, сферической и др. Например, если расчетную область удобно задать в полярных координатах (r,φ), то в ней сетка вводится с шагами и , соответственно, по радиус-вектору и полярному углу.

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

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

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

(2.2)

где — начальное распределение температуры U(при t= 0); , — распределение температуры на концах рассматриваемого отрезка (х = 0, 1) в любой момент времени t. Заметим, что начальные и граничные условия должны быть согласованы, т.е. .

Введем равномерную прямоугольную сетку с помощью координатных линий , ; hи τ — соответственно шаги сетки по направлениям х и t. Значения функции в узлах сетки обозначим . Эти значения заменим соответствующими значениями сеточной функции , которые удовлетворяют уравнениям, образующим разностную схему. Часто верхний индекс заключают в скобки, чтобы не путать его с показателем степени. Здесь и далее скобки для краткости опушены.

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

. (2.3)

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

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

,

то вместо (2.3) получим разностную схему

(2.4)

И в том и другом случае получается система алгебраических уравнений для определения значений сеточной функции во внутренних узлах. Значения в граничных узлах находятся из граничных условий:

(2.5)

Совокупность узлов при t = const, т. е. при фиксированном значении j, называется слоем (или, поскольку переменная tсоответствует времени, временным слоем).Схема (2.3) позволяет последовательно находить значения на -ом слое через соответствующие значения на j-ом слое. Такие схемы называются явными.

Для начала счета по схеме (2.3) при j= 1 необходимо знать решение на начальном слое при j= 0. Оно определяется начальным условием (2.2), которое запишется в виде:

(2.6)

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

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

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

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


источники: