epmn = Upmn - Umn
между сеточной функцией Up = {Upmn}и точным решением U = {Umn}задачи (1).
Решение {Umn}задачи (1) удовлетворяет уравнениям:
Upmn - Umn = LxxUmn - j(xm,yn)
t
Umn|г = Y(smn)
U0mn = Umn
Вычитая эти равенства из (4) почленно, получим для погрешности epmnследующую разностную задачу:
ep+1mn - epmn = Lxxepmn + Lyyepmn
t
ep+1mn|г = 0 (9)
e0mn = Y0(xm,yn) - Umn
Сеточная функция epmn при каждом p(p=0,1,...) обращается в ноль на границе Г.
Метод переменных направлений
Рассмотрим двумерное уравнение теплопроводности:
dU = LU + f(x,t) , xÎG02 , tÎ[0,t0]dt
U|г = m(x,t) (1)
U(x,0) = U0(x)
dx2
Область G0a =G0 = {0<= xa <=la , a=1,2} -прямоугольник со сторонами l1и l2, Г - граница G0 = G0 + Г.
В G0построили равномерную по xa сетку vhс шагами h1 = l1/N1 , h2 = l2/N2.Пустьnh - граница сеточной области wh, содержащая все узлы на сторонах прямоугольника, кроме его вершин, vh = wh + nh.
Оператор La заменим разностным оператором La:
Lay = yxaxa , L = L1 + L2В случае одномерного уравнения теплопроводности неявная схема на каждом слое приводит к разностной краевой задаче вида:
Aiyi-1 - Ciyi + Biyi+1 = -F , i=1,...,N-1
y0=m1 (2)
yn=mN
Ai > 0, Bi > 0, Ci> Ai + Bi
которая решается методом прогонки.
Рассмотрим теперь нашу двимерную задачу в прямоугольнике. Сетку vhможно представить как совокупность узлов, расположенных на строках i2=0,1,2,...,N2, или как совокупность узлов расположенных на столбцах i1=1,2,...,N1. Всего имеется N1+1столбцов и N2+1строк. Число узлов в каждой строке равно N1+1, а в каждом столбце N2+1 - узлов.
Если на каждой строке (или столбце) решать задачу вида (2) методом прогонки при фиксированом i2(или i1), то для отыскания решения на всех строках (или столбцах), т.е. во всех узлах сетки, понадобится О(N1N2)арифметических действий. Основная идея большинства экономичных методов и состоит в сведении перехода со слоя на слой к последовательному решению одномерных задач вида (2) вдоль строк и вдоль столбцов.
Наряду с основными значениями искомой сеточной функции y(x,t), т.е. сy = ynи y` = yn+1вводится промежуточное значение y = yn+½, которое можно формально рассматривать как значение при t = tn+½ = tn+½. Переход от слоя nна слойn+1 совершается в два этапа с шагами 0.5t . yn+½ - yn = L1yn+½ + L2yn + jn (3)0.5t
yn+1 - yn+½ = L1yn+½ + L2yn+1 + jn (4)
0.5t
Эти уравнения пишутся во всех внутренних узлах x = xiсетки vh и для всех t=th > 0.
Первая схема неявная по направлению х1 и явная по х2, вторая схема явная по х1 и неявная по х2. К уравнениям (3),(4) надо добавить начальные условия:
y(x,0) = U0(x) , xÎvh (5)
и разностно краевые условия, например, в виде:
yn+1 = mn+1приi1=0, i2=N2 (6)
yn+½ = mпри i1=0, i2=N1 (7)
где m = 1 (mn+1 + mn) - t L2(mn+1 - mn) (8)
2 4
Т.о. , разностная краевая задача (3)-(8) соответствует задаче (1). Остановимся на методе решения этой задачи. Пререпишем (3) и (4) в виде:
2 y - L1 y = F , F = 2 y + L2 y + j
t t (9)
2y` - L2 y` = F’ , F = 2 y + L1 y + j
t t
Введём обозначения:
xi = (i1h1 , i2h2)
F = Fi1,i2
y = yi1,i2
при этом, если в уравнении один из индексов фиксирован, то его не пишем. Тогда (9) можно записать в виде (2), т.е.:
i1 = 1,...,N1-1 (10)
y =mпри i1 = 0,N11
y`i2-1 - 2 1 + 1 y`i2 + 1 y`i2+1 = - Fi2h22 h22t h22
i2 = 1,...,N2-1 (11)y` = m` при i2 = 0,N2
Пусть задано у=уn. Тогда вычисляем òF, затем методом прогонки вдоль строк i2=1,...,N2-1решаем задачу (10) и определим y’ во всех узлах сеткиwh, после чего вычисляем Fи решаем задачу (11) вдоль столбцов i1=1,...,N1-1, определяя y`=yn+1. При переходе от слоя n+1к слоюn+2 процедура повторяется, т.е. происходит всё время чередование направлений.
Построение разностных схем
Для каждой области МДП - структуры построим консервативную разностную схему, учитывая при этом заданные условия.
Разобьём данную МДП - структуру на несколько областей следующим образом:
L M N
y
K0
K1
x
t. jk+½i-1,y + 1 + t + t . jk+½ij - t. jk+½i+1y = Yij
2h*ihi 2h*ihi+1 2h*i2hi 2h*ihi+1
jk1,y = Un
гдеYij = jkij + t(Lyjkij + fkij )
2