Главная
Обратная связь
Дисциплины:
|
Аппроксимация граничных условий
Погрешность, связанная с приближенным характером численного дифференцирования, возникает также в граничном условии, если оно содержит производные. Рассмотрим задачу (2.1) в прямоугольной области [0, l1]´[0, l2] с граничным условием общего вида
l(u) = g{cosa u(x,h)+cosb u(x,h)}+ s(x,h)u(x,h) = g(x,h).
Здесь (x,h)ÎдD,
(cosa, cosb)|x = 0 = (-1, 0), (cosa, cosb)|x = l1= (1, 0),
(cosa, cosb)|h = 0 = (0, -1), (cosa, cosb)|h = l2= (0, 1).
При перенесении краевых условий на сетку придется использовать формулы (2.5.2,3) c погрешностью (2.6.2,3) первого порядка по h1 и h2 по сравнению со вторым порядком во внутренних узлах. Для более точного представления граничных условий выполним преобразование сетки. Допуская, что решение дифференциальной задачи существует в области, включающей , сместим границу, где g = 1, на половину шага в сторону увеличения области. Пусть, например,
g(0, h) = 0, g(l1, h) = g(x, 0) = g(x, l2) = 1.
Тогда новая расчетная область [0, l1+½h1]´[-½h2, l2 +½h2] представляет прямоугольник, показанный на рис. 3 пунктирной линией. Прямоугольник = [0, l1]´[0, l2] изображен сплошной линией. Левая граница областей - общая. На сетке, построенной в новом прямоугольнике, граница области дD, на которой g = 1, проходит по середине между узлами, и при представлении граничных условий можно применить формулы (2.5.1,4), имеющие погрешности (2.6.1,4) второго порядка по h1 и h2.
Рассмотрим общий случай. Зададим значение gi по следующему правилу: gi = 1, если краевое условие на соответствующей стороне содержит производную, в противном случае gi = 0. Индекс i принимает значения из диапазона{1, 2, 3, 4} и обозначает соответственно левую, нижнюю, правую и верхнюю сторону прямоугольника. В расчетной области строим сетку
xm = (m -½ g1) h1, yn = (n -½ g2)h2, 0 £ m £ M, 0 £ n £ N,
h1= l1/(M -½ g1 -½ g3), h2= l2/(N -½ g2 -½ g4).
| (2.10)
| В масштабе сетки точка (xx, yh) теперь будут иметь координаты (x,h), определяемые условием
xx = (x -½ g1) h1, yh = (h -½ g2)h2.
Перенесем краевые условия на сетку. Если на стороне gi = 0, краевое условие определяется по-прежнему формулами (1.15)
uxh = gxh , (x,h)ÎдDh.
Если gi = 1, используем формулы (2.5.1,4) для представления производных по x и аналогичные формулы для производных по y.




Запишем краевые условия компактно (h3 = h1, h4 = h2)
uxh = gxh , gi = 0,
(u - uab)/hi + [s]xh (u + uab) = [g]xh, gi = 1,
| (2.11)
| где (x, h)ÎдD, ( )ÎдDh, (a, b)ÎDh. Соотношения между различными параметрами приведены в таблице 1.
Таблица 1. Соответствие между узлами в граничном условии
i
| ( )
| (a, b)
| (x, h), gi = 0
| (x, h), gi = 1
|
| (0, n)
| (1, n)
| (0, n)
| (½, n)
|
| (M, n)
| (M-1, n)
| (M, n)
| (M-½, n)
|
| (m, 0)
| (m, 1)
| (m, 0)
| (m, ½)
|
| (m, N)
| (m, N-1)
| (m, N)
| (m, N-½)
|
Оценим погрешность аппроксимации в граничном узле. Согласно формулам (2.6.1,4) имеем
lh([u]h) – [l(u)]h = 
Допуская, что решение имеет соответствующие непрерывные производные, получим (h = max(h1, h2))
|dfxh| £ £ A¢¢h2,
| (2.12)
| причем в точках границы (x,h), где граничное условие не содержит производную (gi = 0), невязка dfxh равна нулю.
Разрешим уравнение (2.11) относительно значения в граничном узле (h3 = h1, h4 = h2)
u = R uab + G ,
R = , G =
| (2.13)
| Итак, в общем случае краевое условие преобразуется на сетке в уравнения, выражающие граничные значения неизвестных через значения во внутренних узлах.
Для оператора (2.8) разностная задача (2.2) принимает вид
Cm n um n - Am-½n um-1 n - Am+½n um+1 n -
- Bm n-½um n-1 - Bm n+½um n+1 = [f]m n,
u0 n = G0 n + R0 n u1 n, uM n = GM n + RM n uM-1 n, 1 £ n £ N-1,
um 0 = Gm 0 + Rm 0 um 1, um N = Gm N + Rm N um N-1, 1 £ m £ M-1.
| (2.14)
| Здесь
Am+½n = , Bm n+½= ,
Cm n = Am-½n + Am+½n + Bm n-½+ Bm n+½+ cm n.
Суммируя результаты оценок погрешностей (2.9), (2.12) во внутренних и граничных узлах, получим
||df (h)|| £ Ah2, A = max(A¢, A¢¢),
| (2.15)
| откуда вытекает, что разностная задача (2.2) аппроксимирует дифференциальную задачу (2.1) в прямоугольной области со вторым порядком по h.
Используя граничные условия (2.13), исключим из системы уравнений (2.14) значения в граничных узлах. Эквивалентная система
(u(h)) = f (h) на Dh
содержит только значения неизвестных во внутренних узлах. После решения этой системы из уравнений (2.13) найдем значения в граничных узлах. Запишем систему (2.14) в явном виде.
C¢mn umn - Am-½n um-1n - Am+½n um+1n - Bmn-½umn-1 - Bmn+½umn+1 = fmn,
A½ n = AM-½n = Am ½= Am N-½= 0, 1 £ m £ M-1, 1£ n £ N-1.
Новые значения коэффициентов определяются формулами
C¢mn = cm n + (Am-½n - A½n R0ndm1) + (Am+½n - AM-½n RM ndmM-1)+
+ (Bmn-½- Bm ½Rm0d1n) + (Bmn+½- Bm N-½RmN dN-1 n),
fmn = [f]mn + A½n G0ndm1 + AM-½ n GM ndmM-1 +
+ Bm ½Gm0d1n + Bm N-½GmN dN-1 n.
Здесь A½ n, AM-½n, Am ½, Am N-½-прежние (не обнуленные) значения коэффициентов, dmn - символ Кронекера.
Упорядочим значения сеточных функций как компоненты векторов
u = (u11,…, uM-1 1, u12,…, uM-1 2, …, u1N-1,…, uM-1N-1),
f = ( f11,…, fM-1 1, f12,…, fM-1 2, …, f1N-1,…, fM-1 N-1).
Тогда систему уравнений можно записать в матричном виде
L(u) = f,
где симметричная матрица Lпредставляет разностный оператор . Квадратная матрица L порядка (M-1)(N-1) имеет блочную структуру и составлена из квадратных матриц An и Bn порядка M-1, 1 £ n £ N-1.
An = , Bn = ,
, L = .
| (2.16)
| Выражение матрицы L остается неизменным для квазилинейной задачи, когда коэффициенты a, b и s зависят от решения задачи u. Если решение u имеет непрерывные производные до четвертого порядка, а функции a и b трижды непрерывно дифференцируемы, сохраняется оценка (2.15), устанавливающая второй порядок аппроксимации по пространственным переменным.
|