Журнал вычислительной математики и математической физики, 2023, T. 63, № 2, стр. 218-226

Анализ формул численного дифференцирования на сетке Бахвалова при наличии пограничного слоя

А. И. Задорин 1*

1 Ин-т матем. СО РАН
630090 Новосибирск, пр-т Акад. Коптюга, 4, Россия

* E-mail: zadorin@ofim.oscsbras.ru

Поступила в редакцию 12.04.2022
После доработки 24.05.2022
Принята к публикации 11.08.2022

Полный текст (PDF)

Аннотация

Рассматривается вопрос численного дифференцирования функций с большими градиентами в области экспоненциального пограничного слоя. Тема исследования актуальна, так как применение к таким функциям классических полиномиальных разностных формул для производных в случае равномерной сетки приводит к неприемлемым погрешностям, если возмущающий параметр $\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.1)
$u(x) = p(x) + \Phi (x),\quad x \in [0,1],$
где
(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,$
функции $p(x)$ и $\Phi (x)$ достаточно гладкие и в явном виде не заданы, $\alpha > 0,$ $\varepsilon \in (0,1]$, $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,$
где ${{a}_{1}}(x) \geqslant \alpha > 0$, ${{a}_{2}}(x) \geqslant 0$, $\varepsilon > 0,$ функции ${{a}_{1}}(x),\;{{a}_{2}}(x),\;f(x)$ – достаточно гладкие. При малых значениях $\varepsilon $ решение задачи (2.3) имеет область больших градиентов у границы $x = 0,$ чему соответствует представление (2.1).

Декомпозиция (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]:$

${{\Omega }^{h}} = \{ {{x}_{n}}\} ,\quad n = 0,1, \ldots ,N,\quad {{x}_{0}} = 0,\quad {{x}_{N}} = 1,\quad {{h}_{n}} = {{x}_{n}} - {{x}_{{n - 1}}}.$
Пусть ${{L}_{{m,k}}}(u,x)$ – многочлен Лагранжа для функции $u(x)$ с $k$ узлами интерполяции ${{x}_{m}}, \ldots ,{{x}_{{m + k - 1}}}$ на интервале $[{{x}_{m}},{{x}_{{m + k - 1}}}].$ Пусть $K = 2(1 - \varepsilon )$, $u_{n}^{{(j)}} = {{u}^{{(j)}}}({{x}_{n}}),$ $j \geqslant 0.$ Будем писать $f = O(g)$, если справедлива оценка ${\text{|}}f{\kern 1pt} {\text{|}} \leqslant C{\kern 1pt} {\text{|}}g{\kern 1pt} {\text{|}}$, и $f = O{\kern 1pt} *{\kern 1pt} (g)$, если $f = O(g)$ и $g = O(f)$.

На каждом интервале $[{{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}}}]$
(оценим погрешность формулы (2.4) на сетке, задаваемой ниже).

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.2)
$g(t) = \sigma + (2t - 1)(1 - \sigma ),\quad \frac{1}{2} \leqslant t \leqslant 1,$
где $k$ соответствует (2.4), $k \geqslant 2.$ Зададим в (3.2)
(3.3)
$\sigma = \min \left\{ {\frac{1}{2}, - \frac{{k\varepsilon }}{\alpha }\ln \varepsilon } \right\},\quad \varepsilon \leqslant {{e}^{{ - 1}}}.$
При $\varepsilon > {{e}^{{ - 1}}}$ задаем $\sigma = 1{\text{/}}2$. При $\sigma = 1{\text{/}}2$ задаем сетку ${{\Omega }^{h}}$ равномерной.

При $\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}.$
Несложно убедиться, что последовательность шагов ${{h}_{n}},\;n = 1,2, \ldots ,N{\text{/}}2$, – строго возрастающая. Из (3.5) следует

(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.$
На этом интервале сетка равномерна с шагами ${{h}_{n}} = 2(1 - \sigma ){\text{/}}N$.

Несложно показать, что для некоторой постоянной ${{C}_{2}}$ справедлива оценка

(3.8)
${{h}_{n}} \leqslant \frac{{{{C}_{2}}}}{N},\quad n = 1,2, \ldots ,N.$

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,$
где $[x,{{x}_{m}},{{x}_{{m + 1}}}, \ldots ,{{x}_{{m + k - 1}}}]u$ – разделенная разность для функции $u(x)$ (см. [16], c. 38),

${{w}_{{m,k}}}(x) = (x - {{x}_{m}})(x - {{x}_{{m + 1}}}) \ldots (x - {{x}_{{m + k - 1}}}).$

В случае произвольных точек исходного интервала ${{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.6) в (4.5), при всех $x \in [{{x}_{m}},{{x}_{{m + k - 1}}}]$ для некоторой постоянной $C$ получаем

(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$ справедлива оценка

${{h}_{{n + 1}}} \leqslant 2{{h}_{n}},\quad m < n < m + 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}}.$
Учитывая (2.2), (3.5) и (4.9), из (4.7) получаем
(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).$
В соответствии с (3.4)
${{e}^{{ - \alpha {{x}_{m}}/\varepsilon }}} = \frac{{{{{(N - Km)}}^{k}}}}{{{{N}^{k}}}}.$
В силу заданного ограничения $m + k - 1 \leqslant N{\text{/}}2 - k + 1$ и условия $k \geqslant 2,$ имеем $N - Km - K > K,$ поэтому значение логарифма в (4.10) между нулем и единицей. Тогда из (4.10) для некоторой постоянной ${{C}_{2}}$ получаем
(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} .$
Из оценок (4.8), (4.11) получаем (4.1).

2. Пусть $m + k - 1 = N{\text{/}}2$. Учитывая (3.6) и оценку

${\text{|}}w_{{m,k}}^{{(i - j)}}(x){\kern 1pt} {\text{|}} \leqslant Ch_{{N/2}}^{{k - i + j}},$
из (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.14) получаем оценку
(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.$
Учитывая оценки (4.8), (4.15), получаем оценку (4.2).

Рассмотрим случай $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.16) для некоторой постоянной ${{C}_{2}}$ следует

(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}}$ имеем

${\text{|}}{{\Phi }^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(\Phi ,x){\kern 1pt} {\text{|}} \leqslant {{C}_{1}}\sum\limits_{j = 0}^i \frac{1}{{{{\varepsilon }^{{k + j}}}}}{{\varepsilon }^{k}}{{e}^{{ - \alpha ({{x}_{m}} - \sigma )/\varepsilon }}}\frac{1}{{{{N}^{{k - i + j}}}}} = \frac{{{{C}_{1}}}}{{{{N}^{{k - i}}}}}{{e}^{{ - \alpha ({{x}_{m}} - \sigma )/\varepsilon }}}\sum\limits_{j = 0}^i \frac{1}{{{{{(N\varepsilon )}}^{j}}}}.$
Из этого соотношения с учетом (2.1), (4.8) для некоторой постоянной $C$ получаем оценку абсолютной погрешности вне области пограничного слоя:
${\text{|}}{{u}^{{(i)}}}(x) - L_{{m,k}}^{{(i)}}(u,x){\kern 1pt} {\text{|}} \leqslant \frac{C}{{{{N}^{{k - i}}}}}\left[ {\frac{1}{{{{{(N\varepsilon )}}^{i}}}}{{e}^{{ - \alpha (m - N/2)/(N\varepsilon )}}} + 1} \right],\quad x \in [{{x}_{m}},{{x}_{{m + k - 1}}}],\quad m \geqslant \frac{N}{2}.$
Из этой оценки следует, что абсолютная погрешность при вычислении производной порядка $i$ становится величиной порядка $O(1{\text{/}}{{N}^{{k - i}}})$ при $m > N{\text{/}}2$.

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},$
где $k$ – число узлов интерполяции многочлена Лагранжа ${{L}_{k}}(u,x).$ Согласно [11], в случае функции вида (2.1) и заданной сетки (5.1) для некоторой постоянной $C$ при всех $m$

(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):

$u(x) = \cos \frac{{\pi x}}{2} + {{e}^{{ - x/\varepsilon }}},\quad x \in [0,1],\quad \varepsilon \in (0,1],$
где функция $\Phi (x) = {{e}^{{ - x/\varepsilon }}}$ имеет большие градиенты при малых значениях $\varepsilon .$

В таблицах приведена максимальная погрешность по узлам ${{\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}}})}}.$

Относительная погрешность

${{\Delta }_{{N,\varepsilon }}} = \varepsilon \mathop {\max }\limits_{n,j} {\text{|}}L_{3}^{'}(u,{{\tilde {x}}_{{n,j}}}) - u{\kern 1pt} '({{\tilde {x}}_{{n,j}}}){\kern 1pt} {\text{|}}$
формулы (5.3) приведена в табл. 1, 2 на равномерной сетке и на сетке Бахвалова. Результаты табл. 1 показывают неприемлемость применения равномерной сетки при $\varepsilon \leqslant 1{\text{/}}N$. В табл. 2 приведен и вычисленный порядок точности
${{M}_{{N,\varepsilon }}} = {{\log }_{2}}\frac{{{{\Delta }_{{N,\varepsilon }}}}}{{{{\Delta }_{{2N,\varepsilon }}}}}$
при вычислении первой производной на сетке Бахвалова. Полученные погрешности порядка $O({{N}^{{ - 2}}})$ согласуются с оценками погрешности теоремы 1 при $k = 3,$ $i = 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 приведены погрешность

${{\Delta }_{{N,\varepsilon }}} = {{\varepsilon }^{2}}\mathop {\max }\limits_{n,j} {\text{|}}L_{3}^{{''}}(u,{{\tilde {x}}_{{n,j}}}) - u{\kern 1pt} '{\kern 1pt} '({{\tilde {x}}_{{n,j}}}){\kern 1pt} {\text{|}}$
и вычисленный порядок точности ${{M}_{{N,\varepsilon }}}$ формулы (5.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 $ полученные оценки переходят в известные оценки в регулярном случае, когда дифференцируемая функция имеет ограниченные производные. Ранее такой подход к оцениванию погрешности формул численного дифференцирования для функций с большими градиентами не применялся. Результаты численных экспериментов согласуются с полученными оценками.

Список литературы

  1. Ильин А.М. Разностная схема для дифференциального уравнения с малым параметром при старшей производной // Матем. заметки. 1969. Т. 6. № 2. С. 237–248.

  2. Бахвалов Н.С. К оптимизации методов решения краевых задач при наличии пограничного слоя // Ж. вычисл. матем. и матем. физ. 1969. Т. 9. № 4. С. 841–890.

  3. Шишкин Г.И. Сеточные аппроксимации сингулярно возмущенных эллиптических и параболических уравнений. Екатеринбург: УрО РАН, 1992.

  4. 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.

  5. Задорин А.И., Задорин Н.А. Сплайн-интерполяция на равномерной сетке функции с погранслойной составляющей // Ж. вычисл. матем. и матем. физ. 2010. Т. 50. № 2. С. 221–233.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. Задорин А.И. Анализ формул численного дифференцирования на сетке Шишкина при наличии пограничного слоя // Сиб. журн. вычисл. матем. 2018. Т. 21. № 3. С. 243–254.

  12. Linβ T. The Necessity of Shishkin Decompositions // Appl. Math. Lett. 2001. V. 14. P. 891–896.

  13. 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.

  14. Блатов И.А., Задорин Н.А. Интерполяция на сетке Бахвалова при наличии экспоненциального пограничного слоя // Уч. зап. Казанского ун-та. Физ.-матем. науки. 2019. Т. 161. Кн. 4. С. 497–508.

  15. Roos H.G. Layer-adapted meshes: milestones in 50 years of history // Appl. Math. arXiv:1909.08273v1, 2019.

  16. Бахвалов Н.С. Численные методы. М.: Наука, 1975.

Дополнительные материалы отсутствуют.