Аппроксимация уравнений в частных производных

Конечно-разностные аппроксимации производных (стр. 1 )

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7

Конечно-разностные аппроксимации производных

Конечно-разностные аппроксимации производных (конечные разности) — способ приближенного вычисления частных производных

Выражения для конечных разностей можно получить из разложения функции в ряд Тейлора:

Или более коротко с использованием индексов точек:

Отсюда , где — остаток.

Отбрасывая остаток можно получить правую разность:

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

Аналогичным образом, разлагая в ряд функцию можно получить:

Получим новую аппроксимацию первой производной:

которая называется левой разностью. У нее погрешность также определяется членом, содержащим в первой степени. Однако, если из выражения (1) вычесть (2), то можно получить более точную аппроксимацию первой производной, которая называется центральной разностью:

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

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

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

Исходя из определения, можно получить выражения для третьей, четвертой и более старших разностей:

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

    правая разность по оси : ; правая разность по оси : ; левая разность по оси : ; левая разность по оси : ; центральная разность по оси : ; центральная разность по оси : ; вторая разность по оси : ; вторая разность по оси : .

Смешанная производная может быть получена следующим образом:

Алгоритм решения стационарных краевых задач методом конечных разностей

Метод конечных разностей — универсальный сеточный численный метод решения задач микроуровня.

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

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

Решение линейных одномерных стационарных краевых задач с помощью МКР

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

Одномерное стационарное уравнение теплопроводности для изотропной среды выглядит следующим образом:

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

Для каждого внутреннего узла сетки записываем разностный аналог исходного дифференциального уравнения:

    для узла 1:
    для узла 2:

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

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

Рассмотрим теперь решение задачи с краевым условием второго рода, на правой границе стержня задан тепловой поток:

Пусть и .

Запишем разностные аналоги для внутренних узлов сетки:

    для узла 1:
    для узла 2

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

Проще всего воспользоваться левой разностью:

Решая эту систему уравнений, получим , , .

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

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

Теперь можно записать следующую систему конечно-разностных уравнений:

    для узла 1:
    для узла 2:
    для узла 3:
    граничное условие второго рода:

За повышение точности пришлось заплатить увеличением размерности системы конечно-разностных уравнений.

Решение нелинейных одномерных стационарных краевых задач с помощью МКР

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

Одномерное стационарное уравнение теплопроводности для анизотропной среды выглядит следующим образом:

где — коэффициент теплопроводности.

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

Предположим, что толщина стекла . Температура в комнате , на улице —

Тепловой поток на улицу пропорционален градиенту температуры, то есть .

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

Для каждого внутреннего узла сетки записываем разностный аналог исходного дифференциального уравнения:

    для узла 1:
    для узла 2:
    для узла 3:

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

Решив систему уравнений, получим , и . В этом случае градиент температуры составит , то есть двойное остекление в 20 раз эффективнее одинарного.

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

    для узла 1:
    для узла 2:

Данную систему придется решать итерационными методами.

Решение нестационарных одномерных задач с помощью МКР

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

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

Пусть при записи разностей нижний индекс соответствует оси , а верхний — оси времени.

Первый вариант разностного уравнения, апроксимирующего исходное (1):

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

Второй вариант разностного уравнения, апроксимирующего исходное (1):

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

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

Рис. 1. Шаблоны явной и неявной разностной схемы

Использование шеститочечного шаблона применено в схеме Кранка-Николсона:

В общем случае использования шеститочечного шаблона, имеем схему с весами:

которая при является неявной.

Примеры решения нестационарных задач с помощью МКР

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

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

Одномерное нестационарное уравнение теплопроводности для изотропной среды выглядит следующим образом:

Пусть , выберем значения шага по оси и значение шага по оси времени .

Наносим на объект равномерную сетку по оси , как это показано на рис. 1.

Записываем явную разностную схему для узла 1:

где — граничное условие, — начальные условия, отсюда .

Записываем явную разностную схему для узла 2:

где — граничное условие, — начальные условия, отсюда .

Таким образом найдено температурное поле в момент времени .

Аналогично для момента времени :

Для момента времени :

Получили картину прогревания стержня в течение трех единиц времени, представленную на рис. 2.

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

Как нетрудно проверить, условие не было выполнено. Чтобы удостовериться в работоспособности явной разностной схемы, повторим вычисления для :

    для момента времени ; для момента времени для момента времени .

Теперь картина прогревания не противоречит физическому смыслу задачи.

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

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

Рассмотрим решение задачи явной разностной схемой с граничными условиями второго рода (типа Неймана).

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


источники: