Журнал вычислительной математики и математической физики, 2023, T. 63, № 2, стр. 218-226
Анализ формул численного дифференцирования на сетке Бахвалова при наличии пограничного слоя
1 Ин-т матем. СО РАН
630090 Новосибирск, пр-т Акад. Коптюга, 4, Россия
* E-mail: zadorin@ofim.oscsbras.ru
Поступила в редакцию 12.04.2022
После доработки 24.05.2022
Принята к публикации 11.08.2022
- EDN: BMPPYV
- DOI: 10.31857/S0044466923020163
Аннотация
Рассматривается вопрос численного дифференцирования функций с большими градиентами в области экспоненциального пограничного слоя. Тема исследования актуальна, так как применение к таким функциям классических полиномиальных разностных формул для производных в случае равномерной сетки приводит к неприемлемым погрешностям, если возмущающий параметр $\varepsilon $ соизмерим с шагом сетки. Формула численного дифференцирования с заданным числом узлов в сеточном шаблоне строится на подынтервалах, покрывающих исходный интервал. Проведен анализ точности формул численного дифференцирования на сетке Бахвалова, широко применяемой при построении разностных схем для сингулярно возмущенных задач. Для исходной функции одной переменной использовано представление в виде суммы регулярной и погранслойной составляющих на основе декомпозиции Шишкина для решения сингулярно возмущенной задачи. Ранее такая декомпозиция применялась для обоснования сходимости разностных схем. Получена оценка погрешности классических полиномиальных формул численного дифференцирования на сетке Бахвалова. Оценка погрешности на сетке Бахвалова получена в общем случае, когда вычисляется производная произвольно заданного порядка, и сеточный шаблон для этой производной содержит задаваемое число узлов. Оценка погрешности зависит от порядка вычисляемой производной, числа узлов в сеточном шаблоне для производной и учитывает равномерность по параметру $\varepsilon $. Приведены результаты численных экспериментов, согласующиеся с полученными оценками погрешностей. Библ. 16. Табл. 4.
1. ВВЕДЕНИЕ
На основе сингулярно возмущенных задач моделируются различные конвективно-диффузионные процессы с преобладающей конвекцией. Применение классических разностных схем на равномерной сетке для численного решения таких задач приводит к существенным погрешностям, если шаг сетки соизмерим с возмущающим параметром $\varepsilon .$ Для достижения сходимости разностной схемы, равномерной по параметру $\varepsilon ,$ известны два основных подхода: подгонка разностной схемы к погранслойной составляющей (см. [1]) и сгущение сетки в области пограничного слоя. Широко применяются сетки Бахвалова (см. [2]) и Шишкина (см. [3], [4]).
Вопрос применения формул численного дифференцирования к функциям с большими градиентами в пограничном слое значительно меньше исследован. В случае равномерной сетки применение классических разностных формул для вычисления производных приводит к погрешностям порядка $O(1),$ если малый параметр $\varepsilon $ соизмерим с шагом сетки (см. [5]). Таким образом, актуальна задача построения формул численного дифференцирования, погрешность которых равномерна по малому параметру $\varepsilon $.
Остановимся на имеющихся работах по построению формул численного дифференцирования. Как и при построении разностных схем, выделяются два подхода: применение классических формул численного дифференцирования на сетках, сгущающихся в пограничном слое, и построение формул подгонки к погранслойной составляющей в случае равномерной сетки.
Рассмотрим работы, в которых применяются формулы для производных, точные на погранслойной составляющей, выделенной с точностью до множителя. В [6] на равномерной сетке построены формулы численного дифференцирования, точные на погранслойной составляющей функции. Сеточный шаблон такой формулы содержит произвольно заданное число узлов. В [7] получены оценки погрешности формулы из [6], равномерные по параметру $\varepsilon ,$ при вычислении первой и второй производных в случае экспоненциального пограничного слоя. В [8] для формул из [6], приближающих первую и вторую производные, получены оценки погрешности, равномерные по погранслойной составляющей, рассматриваемой в виде функции общего вида. При таком подходе могут учитываться различные особенности, например, наличие степенного пограничного слоя.
Остановимся на анализе публикаций, в которых классические формулы численного дифференцирования применяются на сгущающихся в пограничном слое сетках. В [9], [10] на сетке Шишкина находится решение разностной схемы и через это решение находится первая производная. Получены оценки погрешности нахождения решения и производной, равномерные по $\varepsilon .$
В [11] оценивается погрешность формул численного дифференцирования на классе функций, соответствующих решению краевой задачи при наличии экспоненциального пограничного слоя. Класс таких функций выделяется на основе декомпозиции Шишкина (см. [3], [12]) для решения сингулярно возмущенной задачи. На сетке Шишкина получены оценки погрешности классических разностных формул для производных, равномерные по параметру $\varepsilon $. Оценки получены в общем виде, когда вычисляется производная произвольно заданного порядка, и сеточный шаблон для этой производной содержит произвольно заданное число узлов.
В [13], [14] получены равномерные по параметру $\varepsilon $ оценки погрешности разностных формул для вычисления первой и второй производных на сетке Бахвалова. Рассмотрены случаи, когда сеточный шаблон в разностных формулах для производных содержит два и три узла.
Целью настоящей работы является оценка погрешности классических формул численного дифференцирования на сетке Бахвалова (см. [2]) применительно к функциям с большими градиентами в экспоненциальном пограничном слое. Класс таких функций будет задаваться на основе декомпозиции Шишкина (см. [3]) для решения сингулярно возмущенной задачи. Оценка погрешности будет проводиться в общем случае, когда на основе разностного аналога приближается производная произвольно заданного порядка.
2. ПОСТАНОВКА ЗАДАЧИ
Для того чтобы функция $u(x)$ соответствовала решению сингулярно возмущенной задачи, зададим ее на основе декомпозиции Шишкина (см. [3]) для решения задачи
где(2.2)
${\text{|}}{{p}^{{(j)}}}(x){\kern 1pt} {\text{|}} \leqslant {{C}_{1}},\quad {\text{|}}{{\Phi }^{{(j)}}}(x){\kern 1pt} {\text{|}} \leqslant \frac{{{{C}_{1}}}}{{{{\varepsilon }^{j}}}}{{e}^{{ - \alpha x/\varepsilon }}},\quad 0 \leqslant j \leqslant J,$В (2.2) и далее под $C$ и ${{C}_{j}}$ будем понимать положительные постоянные, не зависящие от $\varepsilon $ и $N,$ где $N$ – число интервалов сетки. Одной постоянной ${{C}_{j}}$ будем ограничивать различные величины, если это понятно по тексту.
Согласно (2.2), регулярная составляющая $p(x)$ имеет производные, ограниченные до некоторого порядка, а производные погранслойной составляющей $\Phi (x)$ могут неограниченно расти с уменьшением $\varepsilon .$
В соответствии с [3], [12] для заданного $J$ можно осуществить декомпозицию (2.1) с выполнением ограничений (2.2) для решения сингулярно возмущенной задачи
(2.3)
$\varepsilon u{\kern 1pt} '{\kern 1pt} '(x) + {{a}_{1}}(x)u{\kern 1pt} '(x) - {{a}_{2}}(x)u(x) = f(x),\quad u(0) = A,\quad u(1) = B,$Декомпозиция (2.1) справедлива и для решения задачи Коши $\varepsilon u{\kern 1pt} '(x) + {{a}_{1}}(x)u(x) = f(x)$, $u(0) = A,$ где ${{a}_{1}}(x) \geqslant \alpha > 0$, $\varepsilon \in (0,1].$
Введем обозначения. Пусть ${{\Omega }^{h}}$ – сетка интервала $[0,1]:$
На каждом интервале $[{{x}_{m}},{{x}_{{m + k - 1}}}]$ из покрытия интервала $[0,1],$ в случае сетки ${{\Omega }^{h}}$ из класса сеток Бахвалова, будем вычислять производные функции $u(x)$ на основе дифференцирования многочлена Лагранжа:
(2.4)
${{u}^{{(i)}}}(x) \approx L_{{m,k}}^{{(i)}}(u,x),\quad i \geqslant 0,\quad x \in [{{x}_{m}},{{x}_{{m + k - 1}}}]$3. ЗАДАНИЕ НЕРАВНОМЕРНОЙ СЕТКИ
Зададим сетку Бахвалова (см. [2]) с учетом модификации из [15]. В соответствии с [15] для задания узлов сетки определим функцию $g(t){\kern 1pt} :$
(3.1)
$g(t) = - \frac{{k\varepsilon }}{\alpha }\ln [1 - 2(1 - \varepsilon )t],\quad 0 \leqslant t \leqslant \frac{1}{2},\quad \varepsilon \leqslant {{e}^{{ - 1}}},$(3.3)
$\sigma = \min \left\{ {\frac{1}{2}, - \frac{{k\varepsilon }}{\alpha }\ln \varepsilon } \right\},\quad \varepsilon \leqslant {{e}^{{ - 1}}}.$При $\sigma < 1{\text{/}}2$ задаем сетку ${{\Omega }^{h}}$ с узлами ${{x}_{n}} = g(n{\text{/}}N)$, $n = 0,1, \ldots ,N$, где $g(t)$ соответствует (3.1)–(3.3).
Учитывая (3.1), зададим узлы сетки на интервале $[0,\sigma ]:$
(3.4)
${{x}_{n}} = - \frac{{k\varepsilon }}{\alpha }\ln \left[ {1 - 2(1 - \varepsilon )\frac{n}{N}} \right],\quad n = 0,1, \ldots ,\frac{N}{2}.$Учитывая (3.4), получаем
(3.5)
${{h}_{n}} = \frac{{k\varepsilon }}{\alpha }\ln \left[ {1 + \frac{{2(1 - \varepsilon )}}{{N - 2(1 - \varepsilon )n}}} \right],\quad n = 1,2, \ldots ,\frac{N}{2}.$(3.6)
${{h}_{{N/2 - l}}} = \frac{{k\varepsilon }}{\alpha }\ln \left[ {1 + \frac{{2(1 - \varepsilon )}}{{N\varepsilon + 2(1 - \varepsilon )l}}} \right],\quad \frac{N}{2} - 1 \geqslant l \geqslant 0.$Теперь на основе (3.2) зададим узлы на интервале $[\sigma ,1]:$
(3.7)
${{x}_{n}} = \sigma + (2n{\text{/}}N - 1)(1 - \sigma ),\quad \frac{N}{2} \leqslant n \leqslant N.$Несложно показать, что для некоторой постоянной ${{C}_{2}}$ справедлива оценка
4. ОЦЕНКА ПОГРЕШНОСТИ ФОРМУЛ ЧИСЛЕННОГО ДИФФЕРЕНЦИРОВАНИЯ
Будем предполагать, что исходный интервал $[0,1]$ покрыт интервалами $[{{x}_{m}},{{x}_{{m + k - 1}}}],$ $m = 0,k - 1, \ldots ,N - k + 1$. Оценим погрешность формулы (2.4).
Теорема 1. Пусть функция $u(x)$ имеет представление (2.1) с ограничениями (2.2) при $J = k + i$, $0 \leqslant i < k,$ $N$ кратно $2(k - 1)$, и узлы сетки ${{\Omega }^{h}}$ соответствуют (3.3), (3.4), (3.7). Тогда для некоторой постоянной $C$ при всех $x \in [{{x}_{m}},{{x}_{{m + k - 1}}}]$ и $m = 0,k - 1, \ldots ,N - k + 1$ в зависимости от значения $m$ справедливы следующие оценки погрешности:
(4.1)
${{\varepsilon }^{i}}{\text{|}}{{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x){\kern 1pt} {\text{|}} \leqslant \frac{C}{{{{N}^{{k - i}}}}},\quad m + k - 1 < \frac{N}{2},$(4.2)
${{\varepsilon }^{i}}{\text{|}}{{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x){\kern 1pt} {\text{|}} \leqslant \frac{C}{{{{N}^{{k - i}}}}},\quad m + k - 1 = \frac{N}{2},\quad 1 + \frac{K}{{N\varepsilon }} \leqslant e,$(4.3)
${{\varepsilon }^{i}}{\text{|}}{{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x){\kern 1pt} {\text{|}} \leqslant \frac{C}{{{{N}^{k}}}}\mathop {\ln }\nolimits^k \left( {1 + \frac{1}{{N\varepsilon }}} \right) + \frac{{C{{\varepsilon }^{i}}}}{{{{N}^{{k - i}}}}},\quad m + k - 1 = \frac{N}{2},\quad 1 + \frac{K}{{N\varepsilon }} \geqslant e,$(4.4)
${{\varepsilon }^{i}}{\text{|}}{{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x){\kern 1pt} {\text{|}} \leqslant \frac{C}{{{{N}^{{k - i}}}}},\quad m \geqslant \frac{N}{2}.$Доказательство. Предполагаем, что в (3.3) $\sigma < 1{\text{/}}2$, так как при $\sigma = 1{\text{/}}2$ для некоторой постоянной ${{C}_{0}}\;\;\varepsilon \geqslant {{C}_{0}}$ и производные функции $u(x)$ являются $\varepsilon $-равномерно ограниченными. Тогда применимы известные в регулярном случае оценки погрешности вычисления производных на основе многочлена Лагранжа, и эти оценки по точности не ниже, чем получаемые оценки при $\sigma < 1{\text{/}}2$.
По условию теоремы $N$ кратно $2(k - 1),$ поэтому каждый интервал $[{{x}_{m}},{{x}_{{m + k - 1}}}]$ целиком попадает в погранслойную область $[0,\sigma ]$ или находится вне ее.
В соответствии с [16], c. 89, справедлива формула для погрешности вычисления $i$-й производной функции $u(x)$:
(4.5)
${{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x) = \sum\limits_{j = 0}^i \frac{{i!}}{{(i - j)!}}w_{{m,k}}^{{(i - j)}}(x)[\underbrace {x, \ldots ,x}_{j + {\text{1}}\;{\text{раз}}},{{x}_{m}}, \ldots ,{{x}_{{m + k - 1}}}]u,\quad i \geqslant 0,$В случае произвольных точек исходного интервала ${{y}_{1}}, \ldots ,{{y}_{p}}$ для некоторого $s \in (\min \{ {{y}_{j}}\} ,\max \{ {{y}_{j}}\} )$ справедливо представление (см. [16], c. 40):
(4.6)
$[{{y}_{1}},{{y}_{2}}, \ldots ,{{y}_{p}}]{\kern 1pt} u = \frac{{{{u}^{{(p - 1)}}}(s)}}{{(p - 1)!}}.$(4.7)
${\text{|}}{{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x){\kern 1pt} {\text{|}} \leqslant C\sum\limits_{j = 0}^i \mathop {\max }\limits_{s \in [{{x}_{m}},{{x}_{{m + k - 1}}}]} {\text{|}}{{u}^{{(k + j)}}}(s){\kern 1pt} {\text{|}}\,{\text{|}}w_{{m,k}}^{{(i - j)}}(x){\kern 1pt} {\text{|}},\quad i \geqslant 0.$Учитывая (2.1), погрешность ${\text{|}}{{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x){\kern 1pt} {\text{|}}$ оценим отдельно на составляющих $p(x)$ и $\Phi (x)$.
Учитывая (2.2), (3.8), из (4.7) для некоторой постоянной ${{C}_{3}}$ получаем
(4.8)
${\text{|}}{{p}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(p,x){\kern 1pt} {\text{|}} \leqslant \frac{{{{C}_{3}}}}{{{{N}^{{k - i}}}}}.$Теперь оценим погрешность на составляющей $\Phi (x).$ Рассмотрим возможные случаи для интервала $[{{x}_{m}},{{x}_{{m + k - 1}}}]$.
1. Пусть $m + k - 1 < N{\text{/}}2$. Тогда интервал $[{{x}_{m}},{{x}_{{m + k - 1}}}]$ не последний в пограничном слое, поэтому $m + k - 1 \leqslant N{\text{/}}2 - k + 1$. Оценим ${\text{|}}{{w}_{{m,k}}}(x){\kern 1pt} {\text{|}}$. Учитываем, что шаги сетки $\{ {{h}_{n}}\} $ при $n \leqslant N{\text{/}}2$ возрастают. Следовательно, для некоторой постоянной ${{C}_{1}}$ при всех $n = m,m + 1, \ldots ,m + k - 1$ выполняется соотношение ${\text{|}}x - {{x}_{n}}{\kern 1pt} {\text{|}} \leqslant {{C}_{1}}{{h}_{{m + k - 1}}}.$ Можно показать, что при условии $m + k - 1 \leqslant N{\text{/}}2 - k + 1$ справедлива оценка
Тогда на интервале $[{{x}_{m}},{{x}_{{m + k - 1}}}]$ для всех шагов справедлива оценка ${{h}_{l}} = O{\kern 1pt} *{\kern 1pt} ({{h}_{j}})$. Следовательно, для некоторой постоянной ${{C}_{2}}\;\;{\text{|}}{{w}_{{m,k}}}(x){\text{|}} \leqslant {{C}_{2}}h_{{m + 1}}^{k}.$ Аналогично,(4.9)
${\text{|}}w_{{m,k}}^{{(i - j)}}(x){\kern 1pt} {\text{|}} \leqslant {{C}_{3}}h_{{m + 1}}^{{k - i + j}}.$(4.10)
${{\varepsilon }^{i}}{\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant {{C}_{1}}{{e}^{{ - \alpha {{x}_{m}}/\varepsilon }}}\sum\limits_{j = 0}^i \,{{\ln }^{{k - i + j}}}\left( {1 + \frac{K}{{N - Km - K}}} \right).$(4.11)
${{\varepsilon }^{i}}{\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant {{C}_{2}}\frac{{{{{(N - Km)}}^{k}}}}{{{{N}^{k}}}}{{\left( {\frac{K}{{N - Km - K}}} \right)}^{{k - i}}}{\kern 1pt} .$2. Пусть $m + k - 1 = N{\text{/}}2$. Учитывая (3.6) и оценку
из (4.7) получаем(4.12)
${{\varepsilon }^{i}}{\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant C{{e}^{{ - \alpha {{x}_{m}}/\varepsilon }}}\sum\limits_{j = 0}^i {{\ln }^{{k - i + j}}}\left( {1 + \frac{K}{{N\varepsilon }}} \right).$Учитывая, что $m = N{\text{/}}2 - k + 1$ и (3.4), получаем
(4.13)
${{e}^{{ - \alpha {{x}_{m}}/\varepsilon }}} = {{\left( {\varepsilon + \frac{{K(k - 1)}}{N}} \right)}^{k}}.$Рассмотрим случай $1 + K{\text{/}}(N\varepsilon ) \leqslant e.$ Тогда значение логарифма в (4.12) между нулем и единицей, поэтому из (4.12), (4.13) получаем
(4.14)
${{\varepsilon }^{i}}{\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant C\frac{{{{{(N\varepsilon + K(k - 1))}}^{k}}}}{{{{N}^{k}}}}\mathop {\ln }\nolimits^{k - i} \left( {1 + \frac{K}{{N\varepsilon }}} \right).$(4.15)
${{\varepsilon }^{i}}{\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant \frac{C}{{{{N}^{{k - i}}}}},\quad 1 + \frac{K}{{N\varepsilon }} \leqslant e.$Рассмотрим случай $1 + K{\text{/}}(N\varepsilon ) \geqslant e.$ Учитывая (4.13), из (4.12) получаем
(4.16)
${{\varepsilon }^{i}}{\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant {{C}_{1}}\frac{{{{{(N\varepsilon + K(k - 1))}}^{k}}}}{{{{N}^{k}}}}\mathop {\ln }\nolimits^k \left( {1 + \frac{K}{{N\varepsilon }}} \right).$(4.17)
${{\varepsilon }^{i}}{\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant \frac{{{{C}_{2}}}}{{{{N}^{k}}}}\mathop {\ln }\nolimits^k \left( {1 + \frac{K}{{N\varepsilon }}} \right).$Из (4.8), (4.17) для некоторой постоянной $C$ получаем оценку (4.3).
3. Пусть $m \geqslant N{\text{/}}2$. Оценка (4.4) следует из (4.7) с применением соотношений (2.2), (3.3), (3.8), (4.8). Теорема доказана.
Получим оценку абсолютной погрешности вне области пограничного слоя. При $m \geqslant N{\text{/}}2$ из (4.7) для некоторой постоянной ${{C}_{1}}$ имеем
5. РЕЗУЛЬТАТЫ ЧИСЛЕННЫХ ЭКСПЕРИМЕНТОВ
Проведем сравнение точности при вычислении производных на равномерной сетке, сетках Шишкина и Бахвалова.
Зададим сетку Шишкина (см. [3]) на основе соотношений
(5.1)
$\sigma = \min \left\{ {\frac{1}{2},\frac{{k\varepsilon }}{\alpha }\ln N} \right\},\quad {{h}_{n}} = \frac{{2\sigma }}{N},\quad n \leqslant \frac{N}{2};\quad {{h}_{n}} = \frac{{2(1 - \sigma )}}{N},\quad n > \frac{N}{2},$(5.2)
${{\varepsilon }^{i}}{\text{|}}{{u}^{{(i)}}}(x) - L_{k}^{{(i)}}(u,x){\text{|}} \leqslant C{{\left( {\frac{{\ln N}}{N}} \right)}^{{k - i}}},\quad i < k,\quad x \in [{{x}_{m}},{{x}_{{m + k - 1}}}].$Для численных экспериментов зададим функцию вида (2.1):
В таблицах приведена максимальная погрешность по узлам ${{\tilde {x}}_{{n,j}}}$ сгущенной сетки, полученной из исходной сетки делением каждого сеточного интервала $[{{x}_{{n - 1}}},{{x}_{n}}]$ на $10$ равных частей. В таблицах $e - m$ обозначает ${{10}^{{ - m}}}.$
Будем вычислять первую производную на интервалах $[{{x}_{{n - 1}}},{{x}_{{n + 1}}}]$ по формуле, использующей в сеточном шаблоне три узла:
(5.3)
$L_{3}^{'}(u,x) = {{u}_{{n - 1}}}\frac{{2x - {{x}_{n}} - {{x}_{{n + 1}}}}}{{{{h}_{n}}({{h}_{n}} + {{h}_{{n + 1}}})}} - {{u}_{n}}\frac{{2x - {{x}_{{n - 1}}} - {{x}_{{n + 1}}}}}{{{{h}_{n}}{{h}_{{n + 1}}}}} + {{u}_{{n + 1}}}\frac{{2x - {{x}_{n}} - {{x}_{{n - 1}}}}}{{{{h}_{{n + 1}}}({{h}_{n}} + {{h}_{{n + 1}}})}}.$Относительная погрешность
Таблица 1.
Погрешность формулы (5.3) на равномерной сетке
ε | N | |||||
---|---|---|---|---|---|---|
16 | 32 | 64 | 128 | 256 | 512 | |
1 | 2.25e–3 | 5.68e–4 | 1.42e–4 | 3.57e–5 | 8.92e–6 | 2.23e–6 |
16−1 | 6.67e–2 | 2.56e–2 | 8.14e–3 | 2.30e–3 | 6.12e–4 | 1.58e–4 |
32−1 | 1.26e–1 | 6.67e–2 | 2.56e–2 | 8.14e–3 | 2.30e–3 | 6.12e–4 |
64−1 | 1.32e–1 | 1.26e–1 | 6.67e–2 | 2.56e–2 | 8.14e–3 | 2.30e–3 |
128−1 | 1.04e–1 | 1.32e–1 | 1.26e–1 | 6.67e–2 | 2.56e–3 | 8.14e–3 |
256−1 | 6.71e–2 | 1.04e–1 | 1.32e–1 | 1.26e–1 | 6.67e–2 | 2.56e–2 |
Таблица 2.
Погрешность и порядок точности формулы (5.3) на сетке Бахвалова
ε | N | |||||
---|---|---|---|---|---|---|
16 | 32 | 64 | 128 | 256 | 512 | |
1 | 2.25e–3 | 5.68e–4 | 1.42e–4 | 3.57e–5 | 8.92e–6 | 2.23e–6 |
1.99 | 2.00 | 2.00 | 2.00 | 2.00 | 2.00 | |
16−1 | 1.81e–2 | 4.84e–3 | 1.25e–3 | 3.17e–4 | 7.99e–5 | 2.00e–5 |
1.90 | 1.95 | 1.98 | 1.99 | 1.99 | 2.00 | |
32−1 | 1.92e–2 | 5.16e–3 | 1.33e–3 | 3.38e–4 | 8.53e–5 | 2.14e–5 |
1.90 | 1.95 | 1.98 | 1.99 | 1.99 | 2.00 | |
64−1 | 1.98e–2 | 5.32e–3 | 1.38e–3 | 3.49e–4 | 8.80e–5 | 2.21e–5 |
1.90 | 1.95 | 1.98 | 1.99 | 1.99 | 2.00 | |
128−1 | 2.01e–2 | 5.40e–3 | 1.40e–3 | 3.55e–4 | 8.94e–5 | 2.24e–5 |
1.89 | 1.95 | 1.98 | 1.99 | 1.99 | 2.00 | |
256−1 | 2.02e–2 | 5.44e–3 | 1.41e–3 | 3.58e–4 | 9.01e–5 | 2.26e–5 |
1.89 | 1.95 | 1.98 | 1.99 | 1.99 | 2.00 |
Зададим формулу для вычисления второй производной на интервале $[{{x}_{{n - 1}}},{{x}_{{n + 1}}}]$:
(5.4)
$L_{3}^{{''}}(u,x) = \frac{{2{{u}_{{n - 1}}}}}{{{{h}_{n}}({{h}_{n}} + {{h}_{{n + 1}}})}} - \frac{{2{{u}_{n}}}}{{{{h}_{n}}{{h}_{{n + 1}}}}} + \frac{{2{{u}_{{n + 1}}}}}{{{{h}_{{n + 1}}}({{h}_{n}} + {{h}_{{n + 1}}})}}.$В табл. 3, 4 приведены погрешность
Таблица 3.
Погрешность и порядок точности формулы (5.4) на сетке Шишкина
ε | N | |||||
---|---|---|---|---|---|---|
16 | 32 | 64 | 128 | 256 | 512 | |
1 | 1.74e–1 | 8.74e–2 | 4.38e–2 | 2.19e–2 | 1.10e–2 | 5.48e–3 |
1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | |
16−1 | 3.50e–1 | 2.58e–1 | 1.68e–1 | 9.17e–2 | 4.79e–2 | 2.45e–2 |
0.44 | 0.62 | 0.88 | 0.94 | 0.97 | 0.98 | |
32−1 | 3.50e–1 | 2.58e–1 | 1.74e–1 | 1.09e–1 | 6.52e–2 | 3.77e–2 |
0.44 | 0.57 | 0.67 | 0.74 | 0.79 | 0.83 | |
64−1 | 3.50e–1 | 2.58e–1 | 1.74e–1 | 1.09e–1 | 6.52e–2 | 3.77e–2 |
0.44 | 0.57 | 0.67 | 0.74 | 0.79 | 0.83 |
Таблица 4.
Погрешность и порядок точности формулы (5.4) на сетке Бахвалова
ε | N | |||||
---|---|---|---|---|---|---|
16 | 32 | 64 | 128 | 256 | 512 | |
1 | 1.74e–1 | 8.74e–2 | 4.38e–2 | 2.19e–2 | 1.10e–2 | 5.48e–3 |
1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | |
16−1 | 2.38e–1 | 1.30e–1 | 6.76e–2 | 3.45e–2 | 1.74e–2 | 8.75e–3 |
0.87 | 0.94 | 0.97 | 0.99 | 0.99 | 1.00 | |
32−1 | 2.44e–1 | 1.34e–1 | 6.98e–2 | 3.56e–2 | 1.80e–2 | 9.04e–3 |
0.87 | 0.94 | 0.97 | 0.99 | 0.99 | 1.00 | |
64−1 | 2.48e–1 | 1.36e–1 | 7.08e–2 | 3.62e–2 | 1.83e–2 | 9.18e–3 |
0.87 | 0.94 | 0.97 | 0.99 | 0.99 | 1.00 | |
128−1 | 2.49e–1 | 1.37e–1 | 7.14e–2 | 3.64e–2 | 1.84e–2 | 9.25e–3 |
0.87 | 0.94 | 0.97 | 0.99 | 0.99 | 1.00 |
Данные табл. 3 для сетки Шишкина согласуются с оценкой (5.2). Результаты табл. 4 для погрешности на сетке Бахвалова согласуются с оценкой погрешности порядка $O(1{\text{/}}N)$, соответствующей теореме 1 при $k = 3,$ $i = 2$. Отметим, что аналогичные результаты получены при вычислении других производных. Применение равномерной сетки при $\varepsilon \leqslant 1{\text{/}}N$ приводит к существенным погрешностям.
6. ЗАКЛЮЧЕНИЕ
Исследован вопрос применимости классических формул численного дифференцирования на сетке Бахвалова к функциям с большими градиентами в экспоненциальном пограничном слое. Необходимость исследования связана с тем, что применение таких формул к функциям с большими градиентами на равномерной сетке может приводить к погрешностям порядка $O(1).$ Разностные формулы для производных построены на основе дифференцирования многочлена Лагранжа произвольно заданной степени на подынтервалах сетки Бахвалова, содержащих заданное число узлов и покрывающих исходный интервал. Оценки погрешности формул численного дифференцирования получены в общем случае, когда вычисляется производная произвольно заданного порядка и сеточный шаблон в формуле для этой производной содержит произвольно заданное число узлов. На всех подынтервалах, кроме последнего в пограничном слое, получена оценка погрешности порядка $O(1{\text{/}}{{N}^{{k - i}}})$ равномерно по параметру $\varepsilon ,$ где $i$ – порядок вычисляемой производной, $k$ – число узлов в шаблоне для производной. Только на последнем в пограничном слое подынтервале сохранилась слабая логарифмическая зависимость от параметра $\varepsilon .$ При увеличении параметра $\varepsilon $ полученные оценки переходят в известные оценки в регулярном случае, когда дифференцируемая функция имеет ограниченные производные. Ранее такой подход к оцениванию погрешности формул численного дифференцирования для функций с большими градиентами не применялся. Результаты численных экспериментов согласуются с полученными оценками.
Список литературы
Ильин А.М. Разностная схема для дифференциального уравнения с малым параметром при старшей производной // Матем. заметки. 1969. Т. 6. № 2. С. 237–248.
Бахвалов Н.С. К оптимизации методов решения краевых задач при наличии пограничного слоя // Ж. вычисл. матем. и матем. физ. 1969. Т. 9. № 4. С. 841–890.
Шишкин Г.И. Сеточные аппроксимации сингулярно возмущенных эллиптических и параболических уравнений. Екатеринбург: УрО РАН, 1992.
Miller J.J.H., O’Riordan E., Shishkin G.I. Fitted numerical methods for singular perturbation problems: error estimates in the maximum norm for linear problems in one and two dimensions. Singapore: World Sci. Publ., 2012.
Задорин А.И., Задорин Н.А. Сплайн-интерполяция на равномерной сетке функции с погранслойной составляющей // Ж. вычисл. матем. и матем. физ. 2010. Т. 50. № 2. С. 221–233.
Zadorin A.I., Zadorin N.A. Interpolation formula for functions with a boundary layer component and its application to derivatives calculation // Sib. Electron. Math. Rep. 2012. V. 9. P. 445–455.
Zadorin A., Tikhovskaya S. Formulas of numerical differentiation on a uniform mesh for functions with the exponential boundary layer // Internat. J. Numer. Anal. Model. 2019. V. 16. № 4. P. 590–608.
Il’in V.P., Zadorin A.I. Adaptive formulas of numerical differentiation of functions with large gradients // J. Phys.: Conf. Ser. 2019. V. 1260. 042003.
Kopteva N.V., Stynes M. Approximation of derivatives in a convection-diffusion two-point boundary value problem // Appl. Numer. Math. 2001. V. 39. P. 47–60.
Shishkin G.I. Approximations of solutions and derivatives for a singularly perturbed elliptic convection-diffusion equations // Math. Proc. Royal Irish Acad. 2003. V. 103A. № 4. P. 169–201.
Задорин А.И. Анализ формул численного дифференцирования на сетке Шишкина при наличии пограничного слоя // Сиб. журн. вычисл. матем. 2018. Т. 21. № 3. С. 243–254.
Linβ T. The Necessity of Shishkin Decompositions // Appl. Math. Lett. 2001. V. 14. P. 891–896.
Zadorin N.A. Numerical differentiation on the Bakhvalov mesh in the presence of an exponential boundary layer // J. Phys.: Conf. Ser. 2020. V. 1546. 012108.
Блатов И.А., Задорин Н.А. Интерполяция на сетке Бахвалова при наличии экспоненциального пограничного слоя // Уч. зап. Казанского ун-та. Физ.-матем. науки. 2019. Т. 161. Кн. 4. С. 497–508.
Roos H.G. Layer-adapted meshes: milestones in 50 years of history // Appl. Math. arXiv:1909.08273v1, 2019.
Бахвалов Н.С. Численные методы. М.: Наука, 1975.
Дополнительные материалы отсутствуют.
Инструменты
Журнал вычислительной математики и математической физики