Смекни!
smekni.com

Краевые задачи и разностные схемы (стр. 6 из 7)

Значения функции в узлах сетки обозначим через

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

После подстановки в уравнение Лапласа этих выражений для каждой внутренней точки области будет получена система алгебраических уравнений следующего вида:

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

и значениями функции на границе, как показано ниже:
u(0,0) 0.5 0.476 0.404 0.294 0.154 0
0.5 u(1,1) u(1,2) u(1,3) u(1,4) u(1,5) 0
0.476 u(2,1) u(2,2) u(2,3) u(2,4) u(2,5) 0
0.404 u(3,1) u(3,2) u(3,3) u(3,4) u(3,5) 0
0.294 u(4,1) u(4,2) u(4,3) u(4,4) u(4,5) 0
0.154 u(5,1) u(5,2) u(5,3) u(5,4) u(5,5) 0
0 0 0 0 0 0 0

Уравнения для 25 внутренних точек u(i,k):

0.5-4·u(1,1)+u(1,2)+u(2,1) +0.5=0,u(1,1)-4·u(2,1)+u(2,2)+u(3,1)+0.476=0,u(2,1)-4·u(3,1)+u(3,2)+u(4,1)+0.404=0,u(3,1)-4·u(4,1)+u(4,2)+u(5,1)+0.294=0,u(4,1)-4·u(5,1)+u(5,2)+0.154=0,0.476+u(1,1)-4·u(1,2)+u(1,3)+u(2,2)=0,u(1,2)+u(2,1)-4·u(2,2)+u(2,3)+u(3,2)=0,u(2,2)+u(3,1)-4·u(3,2)+u(3,3)+u(4,2)=0,u(3,2)+u(4,1)-4·u(4,2)+u(4,3)+u(5,2)=0,u(4,2)+u(5,1)-4·u(5,2)+u(5,3)=0,0.404+u(1,2)-4·u(1,3)+u(1,4)+u(2,3) =0,u(1,3)+u(2,2)-4·u(2,3)+u(2,4)+u(3,3)=0,u(2,3)+u(3,2)-4·u(3,3)+u(3,4)+u(4,3)=0 u(3,3)+u(4,2)-4·u(4,3)+u(4,4)+u(5,3)=0,u(4,3)+u(5,2)-4·u(5,3)+u(5,4)=0,0.294+u(1,3)-4·u(1,4)+u(1,5)+u(2,4) =0,u(1,4)+u(2,3)-4·u(2,4)+u(2,5)+u(3,4)=0,u(2,4)+u(3,3)-4·u(3,4)+u(3,5)+u(4,4)=0,u(3,4)+u(4,3)-4·u(4,4)+u(4,5)+u(5,4)=0,u(4,4)+u(5,3)-4·u(5,4)+u(5,5)=0,0.154+u(1,4)-4·u(1,5)+u(2,5) =0,u(1,5)+u(2,4)-4·u(2,5)+u(3,5)=0,u(2,5)+u(3,4)-4·u(3,5)+u(4,5)=0,u(3,5)+u(4,4)-4·u(4,5)+u(5,5)=0,u(4,5)+u(5,4)-4·u(5,5)=0.

Результат решения системы из 25 уравнений представлен в таблице:

u(0,0) 0.5 0.476 0.404 0.294 0.154 0
0.5 0.444618 0.389236 0.316975 0.225193 0.116966 0
0.476 0.389236 0.319355 0.249474 0.172833 0.0886772 0
0.404 0.316975 0.249474 0.188730 0.127986 0.0649079 0
0.294 0.225193 0.172833 0.127986 0.0854773 0.0429672 0
0.154 0.116966 0.0886772 0.0649079 0.0429672 0.0214836 0
0 0 0 0 0 0 0

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

одномерной

,

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

,

,
, I

– матрицы, соответственно, блочная, коэффициентов и единичная;

,
,
,

,
,

– соответственно, векторы неизвестных и правых частей уравнения со своими блочными компонентами.

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

.

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

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

6. Повышение точности разностных схем

Оператор сдвига, преобразующий значение функции в точке z в значение функции в точке z+h выражается через оператор производной

, как
, а его применение представляется выражением:

Обозначив операторные выражения для сдвига значений функции по осям x, y соответственно

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

Во фрагменте сетки, изображенной в виде таблицы

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

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

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

и любых других.

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

Например, из выражения для

непосредственно следует

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

и
с весами соответственно 4 и 1, получим аппроксимацию производных по значениям в восьми точках: