Minor changes
[pde-project.git] / Explicit.tex
blobe4ed7208220c58f0f638a8629e6cf45c11ebfedf
1 \chapter{Явная разностная схема}
3 \section{Построение явной разностной схемы}
5 Введем регулярную равномерную сетку, на которой будем рассматривать дискретный аналог задачи \eqref{eq:problem}.
6 \begin{equation}
7 \label{eq:grid}
8 \begin{array}{lll}
9 y = i h_y, & i = \overline{0, I}, & h_y = l_y / I; \\
10 z = j h_z, & j = \overline{0, J}, & h_z = l_z / J; \\
11 t = k h_t, & k = \overline{0, K}, & h_t = T / K.
12 \end{array}
13 \end{equation}
15 Здесь $h_y$, $h_z$, $h_t$ --- шаги сетки по пространственным и временной координате соответственно.
17 Аппроксимируем модель \eqref{eq:problem} простейшей явной разностной схемой, используя метод замены производных разностными отношениями.
19 \begin{equation}
20 \left\{
21 \label{eq:scheme:explicit}
22 \begin{array}{l}
23 \begin{array}{lr}
24 \frac{1}{c^2} \frac{u_{ij}^{k+1} - 2u_{ij}^{k} + u_{ij}^{k-1}}{h_t^2} =
25 \frac{u_{i+1j}^k - 2u_{ij}^k + u_{i-1j}^k}{h_y^2} + \frac{u_{ij+1}^k - 2u_{ij}^k + u_{ij-1}^k}{h_z^2},&
26 i = \overline{1, I-1},\\
27 &j=\overline{1, J-1},\\
28 &k=\overline{1,K-1};\\
29 \end{array}\\
30 \begin{array}{rclrclr}
31 u_{0j}^k &=& 0, & u_{Ij}^k &=& 0, &j=\overline{1,J-1},k=\overline{0,K};\\
32 %&&&&&&k=\overline{0,K};\\
33 u_{i0}^k &=& \sin\frac{\pi i}{I}\sin\frac{2\pi c k h_t}{\lambda}, & u_{iJ}^k &=& 0, &i=\overline{0,I},k=\overline{0,K};\\
34 %&&&&&&k=\overline{0,K};\\
35 u_{ij}^0 &=& 0, & \frac{u_{ij}^1 - u_{ij}^0}{h_t} &=& 0,&i=\overline{1,I-1},j=\overline{1,J-1}.\\
36 %&&&&&&j=\overline{1,J-1}.
37 \end{array}
38 \end{array}
39 \right.
40 \end{equation}
42 Здесь $u_{ij}^k$ --- дискретная функция, заданная на сетке \eqref{eq:grid}.
44 \section{Аппроксимация явной разностной схемой}
45 \label{sec:approx:explicit}
47 Рассмотрим общий вид краевой задачи относительно функции $u$.
48 \begin{equation}
49 \label{eq:problem:common}
50 Lu = f.
51 \end{equation}
53 Здесь $L$~--- линейный оператор, а $f$~--- составной функциональный объект.
55 Для решения \eqref{eq:problem:common} мы используем сеточную задачу
56 \begin{equation}
57 \label{eq:scheme:common}
58 L_hu_h = f_h.
59 \end{equation}
61 Поскольку решение $u_h$ не равно дискретному аналогу точного решения $[u]_h$, при подстановке в $[u]_h$ в \eqref{eq:scheme:common}
62 в правой части возникнет невязка.
63 \begin{equation}
64 \label{eq:discrepancy:common}
65 \delta f_h = L_h[u]_h - f_h.
66 \end{equation}
68 Говорят, что разностная схема \eqref{eq:scheme:common} аппроксимирует задачу \eqref{eq:problem:common} на решении $u$, если для любой
69 последовательности сгущающихся сеток выполняются условия
70 \begin{eqnarray}
71 \label{eq:approx:1}
72 f_h &\xrightarrow{h\rightarrow 0}& f;\\
73 \label{eq:approx:2}
74 \delta f_h &\xrightarrow{h\rightarrow 0}& 0.
75 \end{eqnarray}
78 Покажем, что схема \eqref{eq:scheme:explicit} аппроксимирует задачу \eqref{eq:problem} и найдем порядки аппроксимации. Для этого проверим
79 выполнение условий аппроксимации.
81 Рассмотрим нашу конкретную схему \eqref{eq:scheme:explicit}. Если ее представить правую часть в виде составного функционального объекта, получим
82 \begin{equation}
83 f_h =
84 \left(
85 \begin{array}{l}
86 f^1_h\\
87 f^2_h\\
88 f^3_h\\
89 f^4_h\\
90 f^5_h\\
91 f^6_h\\
92 f^7_h\\
93 \end{array}
94 \right)
96 \left(
97 \begin{array}{l}
98 0\\
99 0\\
101 \sin\frac{\pi i}{I}\sin\frac{2\pi c k h_t}{\lambda}\\
105 \end{array}
106 \right).
107 \end{equation}
109 Очевидно, что \eqref{eq:approx:1} выполняется в силу того, что при построении разностной схемы в качестве $f_h$ мы брали
110 дискретный аналог правой части $[f]_h$ исходной задачи. Поэтому необходимо лишь доказать выполнение условия \eqref{eq:approx:2}.
112 Рассмотрим по очереди каждую часть составной невязки $\delta f_h^i, \forall i=\overline{1,7}$. Затем выберем из полученных невязок
113 максимальную~--- она и будет характеризовать аппроксимацию схемой \eqref{eq:scheme:explicit} уравнения \eqref{eq:problem}.
114 \begin{multline}
115 \label{eq:discrepancy:1}
116 \delta f^1_h = \left\{
117 \frac{1}{c^2}\frac{u(y_i, z_j, t_{k+1}) - 2u(y_i, z_j, t_k) + u(y_i, z_j, t_{k-1})}{h_t^2} - \right. \\
118 - \frac{u(y_{i+1}, z_j, t_{k}) - 2u(y_i, z_j, t_k) + u(y_{i-1}, z_j, t_{k})}{h_y^2} - \\
119 \left. - \frac{u(y_{i}, z_{j+1}, t_{k}) - 2u(y_i, z_j, t_k) + u(y_{i}, z_{j-1}, t_{k})}{h_y^2} \right\}.
120 \end{multline}
122 Разложим каждое слагаемое в выражении невязки в окрестностях некоторой точки $(y_i, z_j, t_k)$ для $i = \overline{1, I-1}$, $j = \overline{1, J-1}$, $k = \overline{1, K-1}$. Для простоты введем обозначение
123 $u = u(y_i, z_j, t_k)$.
124 \begin{multline}
125 \label{eq:item:1}
126 \frac{1}{c^2}\frac{u(y_i, z_j, t_{k+1}) - 2u(y_i, z_j, t_k) + u(y_i, z_j, t_{k-1})}{h_t^2} =\\
127 = \frac{1}{c^2h_t^2}
128 \left(
129 u + u'_th_t + u''_{tt}\frac{h_t^2}{2} + u^{'''}_{ttt}\frac{h_t^3}{6} + u^{IV}_{tttt}\frac{h_t^4}{24} + O(h_t^5)
130 - 2u + \right.\\
131 \left. + u - u'_{t}h_t + u''_{tt}\frac{h_t^2}{2} - u^{'''}_{ttt}\frac{h_t^3}{6} + u^{IV}_{tttt}\frac{h_t^4}{24} + O(h_t^5)
132 \right) =\\
133 = \frac{1}{c^2}\frac{u''_{tt}h_t^2 + u^{IV}\frac{h_t^4}{12} + O(h_t^5)}{h_t^2} = \frac{u''_{tt} + u^{IV}_{tttt}\frac{h_t^2}{12} + O(h_t^3)}{c^2}.
134 \end{multline}
136 Аналогично разложим и преобразуем два других слагаемых
137 \begin{equation}
138 \label{eq:item:2}
139 \frac{u(y_{i+1}, z_j, t_{k}) - 2u(y_i, z_j, t_k) + u(y_{i-1}, z_j, t_{k})}{h_y^2} =
140 u''_{yy} + u^{IV}_{yyyy}\frac{h_y^2}{12} + O(h_y^3).
141 \end{equation}
143 \begin{equation}
144 \label{eq:item:3}
145 \frac{u(y_{i}, z_{j+1}, t_{k}) - 2u(y_i, z_j, t_k) + u(y_{i}, z_{j-1}, t_{k})}{h_z^2} =
146 u''_{zz} + u^{IV}_{zzzz}\frac{h_z^2}{12} + O(h_z^3).
147 \end{equation}
149 Подставив \eqref{eq:item:1}, \eqref{eq:item:2} и \eqref{eq:item:3} в \eqref{eq:discrepancy:1} получим выражение для локальной невязки
150 \begin{multline}
151 \label{eq:discrepancy:1:local}
152 \delta f_h^1|_{y_i, z_j, t_k} = \left\{
153 \frac{1}{c^2}\left( u''_{tt} + u^{IV}_{tttt}\frac{h_t^2}{12} +O(h_t^3) \right)
154 - u''_{yy} - u^{IV}_{yyyy}\frac{h_y^2}{12} + O(h_y^3)-\right.\\\left.
155 - u''_{zz} - u^{IV}_{zzzz}\frac{h_z^2}{12} + O(h_z^3)
156 \right\}_{y_i, z_j, t_k}.
157 \end{multline}
159 Вспомним первое уравнение задачи \eqref{eq:problem} и учтем, что $u''_{tt} = c^2 (u''_{yy} + u''_{zz})$. Перепишем \eqref{eq:discrepancy:1:local}, приведя подобные слагаемые
160 \begin{multline}
161 \label{eq:discrepancy:1:final}
162 \delta f_h^1|_{y_i, z_j, t_k} =\\= \left\{
163 \frac{1}{c^2}u^{IV}_{tttt}\frac{h_t^2}{12}
164 - u^{IV}_{yyyy}\frac{h_y^2}{12}
165 - u^{IV}_{zzzz}\frac{h_z^2}{12}
166 + O(h_t^3) + O(h_y^3) + O(h_z^3)
167 \right\}_{y_i, z_j, t_k}.
168 \end{multline}
170 Выделим в \eqref{eq:discrepancy:1:final} ненулевые слагаемые наименьших порядков относительно шагов дискретизации $h_t$, $h_y$ и $h_z$.
171 Порядки этих слагаемых и являются порядками локальной аппроксимации в первом соотношении разностной схемы \eqref{eq:scheme:explicit}.
172 В нашем случае, это соотношение дает нам порядок $O(h_t^2, h_y^2, h_z^2)$.
174 Для всех граничных и начальных условий (кроме начального условия второго порядка) схемы \eqref{eq:scheme:explicit} характерно то, что
175 их левые и правые части ведут себя в узлах сетки так же, как соответствующие условия задачи \eqref{eq:problem}. Следовательно, погрешность
176 аппроксимации для этих соотношений нулевая.
178 Рассмотрим последнее соотношение схемы \eqref{eq:scheme:explicit}, соответствующее начальному условию второго рода задачи
179 \eqref{eq:problem}. Видно, что левая часть этого условия получена путем замены производных разностными отношениями, то есть она лишь
180 аппроксимирует оригинальное условие.
182 Исследуем локальную невязку в узле $(y_i, z_j, t_0)$.
183 \begin{multline}
184 \label{eq:discrepancy:7}
185 \delta f^7_h|_{y_i, z_j, t_0} =
186 \left\{
187 \frac{u(y_i, z_j, t_1) - u(y_i, z_j, t_0)}{h_t}
188 \right\}
189 =\\=
190 \left\{
191 \frac{u|_{t_0} + \frac{\partial u}{\partial t}|_{t_0}h_t + \frac{\partial^2 u}{\partial t^2}|_{t_0}\frac{h_t^2}{2} + O(h_t^3)}{h_t}
192 \right\}.
193 \end{multline}
195 Обозначим $u = u(y_i, z_j, t_0)$ и перепишем \eqref{eq:discrepancy:7} с учетом начальных условий задачи \eqref{eq:problem}
196 \begin{multline}
197 \label{eq:discrepancy:7:final}
198 \delta f^7_h|_{y_i, z_j, t_0} =
199 \left\{
200 \frac{u''_{tt}\frac{h_t^2}{2} + O(h_t^3)}{h_t}
201 \right\}_{y_i, z_j, t_0}
203 \left\{
204 u''_{tt}\frac{h_t}{2} + O(h_t^2)
205 \right\}_{y_i, z_j, t_0}
207 \end{multline}
209 Как видно из полученного выражения для невязки, начальное условие второго рода имеет порядок аппроксимации $O(h_t)$.
211 Используя определение нормы в пространстве $F_h$ (см. \cite{samarsky}), запишем выражение для погрешности аппроксимации схемы \eqref{eq:scheme:explicit}.
212 \begin{equation}
213 \label{eq:approx:explicit}
214 \Vert \delta f_h \Vert_{f_h} = O(h_t, h_y^2, h_z^2).
215 \end{equation}
217 \section{Устойчивость явной разностной схемы}
218 \label{sec:stable:explicit}
220 Исследуем \eqref{eq:scheme:explicit} на устойчивость. Считаем, что на правую часть $f_h$ схемы \eqref{eq:scheme:common} подается возмущение, причиной которого могут являться погрешности вычислений, некоторая неточность модели и другое. При этом $L_h u_h$ по сути дела представляет собой отклик нашей дискретной задачи на поданное возмущение.
222 Задача \eqref{eq:scheme:common} называется \textit{устойчивой}, если
223 \begin{itemize}
224 \item она имеет решение,
225 \item это решение единственно,
226 \item порядок отклика не превышает порядка возмущения, т.~е.
227 \begin{equation}
228 \label{eq:stability_condition:common}
229 \left\| u_h \right\|_{U_h} = O \left( \left\| f_h \right\| \right).
230 \end{equation}
231 \end{itemize}
233 \eqref{eq:stability_condition:common} означает, что для некоторой нормы из функционального пространства $U_h$ должна подыскаться такая константа $C$, что
234 \begin{equation}
235 \label{eq:stability_condition}
236 \left\| u_h \right\|_{U_h} \le C \left\| f_h \right\|.
237 \end{equation}
239 Это определение устойчивости. Если показать первые два утверждения не составляет труда (видно, что \eqref{eq:scheme:explicit} действительно имеет единственное решение в силу наличия достаточного числа краевых условий), то доказать \eqref{eq:stability_condition} уже нелегко.
241 Вместо этого мы воспользуемся необходимым признаком Неймана, обоснование которого можно найти, например, в \cite{godunov}. Этот признак утверждает, что если схема устойчива, то найдется такая мелкость сетки по времени $h_1 > 0$ и такая константа $C_1 > 0$, что для всех более мелких сеток и любых $\alpha$
242 \begin{equation}
243 \label{eq:neumann}
244 \left| \lambda(\alpha) \right| \le 1 + C_1 h_t,
245 \end{equation}
246 где $\lambda(\alpha)$ --- семейство собственных чисел оператора перехода от одного временного слоя к другому.
248 Следуя \cite{godunov}, положим
249 \begin{equation}
250 \label{eq:neumann:u}
251 u_{ij}^k = \lambda^k(\alpha, \beta) e^{\hat{i} (\alpha i + \beta j)},
252 \end{equation}
253 где $\hat{i}^2 = -1$.
255 Подставим это выражение в рекуррентное соотношение из \eqref{eq:scheme:explicit}.
257 \begin{multline}
258 \label{eq:u_to_recurr}
259 \frac{1}{c^2 h_t^2} \left( \lambda^{k+1} e^{\hat{i} (\alpha i + \beta j)} - 2 \lambda^{k} e^{\hat{i} (\alpha i + \beta j)} + \lambda^{k-1} e^{\hat{i} (\alpha i + \beta j)} \right) = \\
260 \frac{1}{h_y^2} \left( \lambda^{k} e^{\hat{i} (\alpha (i+1) + \beta j)} - 2 \lambda^{k} e^{\hat{i} (\alpha i + \beta j)} + \lambda^{k} e^{\hat{i} (\alpha (i-1) + \beta j)} \right) + \\
261 \frac{1}{h_y^2} \left( \lambda^{k} e^{\hat{i} (\alpha i + \beta (j-1))} - 2 \lambda^{k} e^{\hat{i} (\alpha i + \beta j)} + \lambda^{k} e^{\hat{i} (\alpha i + \beta (j-1))} \right)
262 \end{multline}
264 Разделим \eqref{eq:u_to_recurr} на $\lambda^{k-1} e^{\hat{i} (\alpha i + \beta j)}$, обозначим
265 \begin{equation}
266 \label{eq:gamma}
267 \gamma_y = c^2 \frac{h_t^2}{h_y^2}, \gamma_z = c^2 \frac{h_t^2}{h_z^2}.
268 \end{equation}
270 Получаем квадратное уравнение относительно $\lambda$.
272 \begin{equation}
273 \label{eq:lambda_eq:temp}
274 \lambda^2 - 2 \lambda + 1 = \lambda \gamma_y \left( e^{\hat{i} \alpha i} - 2 + e^{- \hat{i} \alpha i} \right) + \lambda \gamma_z \left( e^{\hat{i} \beta j} - 2 + e^{- \hat{i} \beta j} \right).
275 \end{equation}
277 После преобразований \eqref{eq:lambda_eq:temp} перепишется в виде
278 \begin{equation}
279 \label{eq:lambda_eq}
280 \lambda^2 + 2 \lambda \left( 2 \gamma_y \sin^2 \frac{\alpha i}{2} + 2 \gamma_z \sin^2 \frac{\beta j}{2} - 1 \right) + 1 = 0.
281 \end{equation}
283 Проанализируем корни уравнения \eqref{eq:lambda_eq}. Для начала заметим, что по теореме Виета произведение этих корней всегда равно $1$. Это никак не зависит от $\alpha$, $\beta$, $\gamma_y$ или $\gamma_z$. Дискриминант такого уравнения
284 \begin{equation}
285 \label{eq:explicit:discriminant}
286 D = 4 \left( 2 \gamma_y \sin^2 \frac{\alpha i}{2} + 2 \gamma_z \sin^2 \frac{\beta j}{2} - 1 \right)^2 - 4.
287 \end{equation}
289 Если \eqref{eq:explicit:discriminant} отрицателен, то уравнение \eqref{eq:lambda_eq} имеет пару комплексно-сопряженных корней. Т.~к. их произведение равно $1$, то и по модулю каждое из них тоже равно $1$. В этом случае условие \eqref{eq:neumann} выполняется. Оно также выполняется в случае, если дискриминант \eqref{eq:explicit:discriminant} равен нулю. В этом случае едиснтвенный корень уравнения \eqref{eq:lambda_eq} $\lambda = 1$. Положительный же дискриминант нас не устраивает, потому что в этом случае один из корней получается по модулю больше $1$, а другой --- меньше. Получаем соотношение, выполнение которого гарантирует выполнение \eqref{eq:neumann}.
290 \begin{equation}
291 \label{eq:cond}
292 4 \left( 2 \gamma_y \sin^2 \frac{\alpha i}{2} + 2 \gamma_z \sin^2 \frac{\beta j}{2} - 1 \right)^2 - 4 \le 0.
293 \end{equation}
295 Разрешаем \eqref{eq:cond} относительно $\gamma_y$ и $\gamma_z$.
296 \[\begin{array}{l}
297 \left( 2 \gamma_y \sin^2 \frac{\alpha i}{2} + 2 \gamma_z \sin^2 \frac{\beta j}{2} - 1 \right)^2 \le 1; \\ \\
298 -1 \le 2 \gamma_y \sin^2 \frac{\alpha i}{2} + 2 \gamma_z \sin^2 \frac{\beta j}{2} - 1 \le 1; \\ \\
299 2 \gamma_y \sin^2 \frac{\alpha i}{2} + 2 \gamma_z \sin^2 \frac{\beta j}{2} \le 2; \\ \\
300 \gamma_y \sin^2 \frac{\alpha i}{2} + \gamma_z \sin^2 \frac{\beta j}{2} \le 1.
301 \end{array}\]
303 Учитывая, что квадраты синусов за счёт произвольных $\alpha$ и $\beta$ принимают различные значения на отрезке $[0; 1]$, получаем
305 \begin{equation}
306 \label{eq:explicit:neg_discr}
307 \gamma_y + \gamma_z \le 1.
308 \end{equation}
310 Из \cite{godunov} известно, что для трехслойных задач с постоянными коэффициентами в разностном уравнении признак Неймана имеет достаточную силу, если нет возмущения в начальных условиях. В этой связи мы можем с высокой долей уверенности утверждать об устойчивости задачи \eqref{eq:scheme:explicit} при условиях \eqref{eq:explicit:neg_discr}.
312 \section{Моделирование процесса на ЭВМ с помощью явной разностной схемы}
313 \label{sec:explicit:emulation}
315 Выразим из разностного уравнения задачи \eqref{eq:scheme:explicit} значение $u_{ij}^{k+1}$, благо это единственное значение функции на новом временном слое, входящее в уравнение.
317 \begin{equation}
318 \label{eq:explicit:resolve}
319 u_{ij}^{k+1} = c^2 \frac{h_t^2}{h_y^2} \left( u_{i+1j}^k - 2u_{ij}^k + u_{i-1j}^k \right) + c^2 \frac{h_t^2}{h_z^2} \left( u_{ij+1}^k - 2u_{ij}^k + u_{ij-1}^k \right) + 2 u_{ij}^k - u_{ij}^{k-1}.
320 \end{equation}
322 Из начальных и краевых условий задачи \eqref{eq:scheme:explicit} нам известны значения функции $u_{ij}^k$ на первых двух временных слоях сетки $k = 0$ и $k = 1$, а также ее значения на граничных слоях $i = 0$, $i = I$, $j = 0$ и $j = J$. Этого достаточно, чтобы по двум известным предыдущим временным слоям полностью определить новый временной слой. Таким образом можно посчитать любое сколь угодно большое количество временных слоев.
324 Изобразим наглядно результаты моделирования. Будем строить зависимость $E_x$ от $z$, поскольку именно она наиболее интересна и наиболее полно отражает качество решения. Наряду с численным решением для сравнения приведём также график сеточного аналога более точного аналитического решения.
326 Если намеренно нарушить условие \eqref{eq:explicit:neg_discr}, то схема теряет устойчивость. Это можно наблюдать на рисунке \ref{pic:explicit:1}.
328 \begin{figure}[!hbtp]
329 \centering
330 \includegraphics[width=\linewidth]{graph/solution/1}
331 \caption{График решения по явной схеме. $I = 50$, $J = 200$, $T = 1 \cdot 10^{-14}$, $h_t = 1 \cdot 10^{-15}$}
332 \label{pic:explicit:1}
333 \end{figure}
335 Если задать малое число шагов по $z$, то получим устойчивую, но достаточно грубую схему. Изобразим её на рисунке \ref{pic:explicit:2}.
337 \begin{figure}[!hbtp]
338 \centering
339 \includegraphics[width=\linewidth]{graph/solution/2}
340 \caption{График решения по явной схеме. $I = 50$, $J = 50$, $T = 1 \cdot 10^{-14}$, $h_t = 1 \cdot 10^{-16}$}
341 \label{pic:explicit:2}
342 \end{figure}
344 При измельчении сетки наблюдается улучшение качества численного решения (см.~рис.~\ref{pic:explicit:3}).
346 \begin{figure}[!hbtp]
347 \centering
348 \includegraphics[width=\linewidth]{graph/solution/3}
349 \caption{График решения по явной схеме. $I = 50$, $J = 200$, $T = 1 \cdot 10^{-14}$, $h_t = 1 \cdot 10^{-16}$}
350 \label{pic:explicit:3}
351 \end{figure}
353 Изобразим также развитие волнового процесса во времени на рисунках~\ref{pic:explicit:4}~и~\ref{pic:explicit:5}. Число шагов по $y$ можно уменьшить для ускорения вычислений: это слабо сказывается на качестве решения. В последнем случае можно увидеть, как волна дошла до стенки волновода, отразилась и полученная встречная волна интерферирует с прямой волной.
355 \begin{figure}[!hbtp]
356 \centering
357 \includegraphics[width=\linewidth]{graph/solution/4}
358 \caption{График решения по явной схеме. $I = 20$, $J = 200$, $T = 4 \cdot 10^{-14}$, $h_t = 1 \cdot 10^{-18}$}
359 \label{pic:explicit:4}
360 \end{figure}
362 \begin{figure}[!hbtp]
363 \centering
364 \includegraphics[width=\linewidth]{graph/solution/5}
365 \caption{График решения по явной схеме. $I = 10$, $J = 200$, $T = 1 \cdot 10^{-13}$, $h_t = 1 \cdot 10^{-16}$}
366 \label{pic:explicit:5}
367 \end{figure}
369 \section{Вычислительный эксперимент}
370 \label{sec:explicit:research}
372 Проверим полученные результаты с помощью вычислительного эксперимента. Подвергнем исследованию порядки аппроксимации, полученные в разделе \ref{sec:approx:explicit}. Для этого поступим следующим образом. Зафиксируем шаги по двум осям, и будем вычислять решение для различных мелкостей сетки по оставшейся оси. Сравнивая это решение в каждой его точке с аналитическим решением в соответсвующих точках, найдём модуль разницы между ними. Среди таких модулей выберем максимальный. Таким образом, получим зависимость погрешности нашего решения от мелкости сетки по определённой оси.
374 Для начала проделаем это для временной оси. Фиксируем $I = 50$, $J = 50$. Для верности возьмём $600$ элементов ряда Фурье из аналитического решения. Получаем график, изображённый на рисунке \ref{pic:explicit:research:1}. Видно, что он действительно напоминает прямую, как и должно быть, исходя из \eqref{eq:approx:explicit}.
376 \begin{figure}[!hbtp]
377 \centering
378 \includegraphics[width=\linewidth]{graph/research/1}
379 \caption{Зависимость погрешности численного решения по явной схеме от мелкости сетки по времени}
380 \label{pic:explicit:research:1}
381 \end{figure}
383 Теперь фиксируем $h_t = 1 \cdot 10^{-16}$. Получаем график для зависимости погрешности решения от мелкости сетки по оси $y$ (рис.~\ref{pic:explicit:research:2}). Он тоже похож на ожидаемый.
385 Наконец при аналогичных условиях получаем график для оси $z$ (рис.~\ref{pic:explicit:research:3}). Он никак не похож на ожидаемую параболу. Это объясняется тем, что кроме погрешности численного решения, свой вклад вносит также погрешность аналитического решения, кроме того, при увеличении погрешности большой вклад вносят неквадратичные элементы (старших порядков) из разложения \eqref{eq:approx:explicit}.
387 \begin{figure}[!hbtp]
388 \centering
389 \includegraphics[width=\linewidth]{graph/research/2}
390 \caption{Зависимость погрешности численного решения по явной схеме от мелкости сетки по оси $y$}
391 \label{pic:explicit:research:2}
392 \end{figure}
394 \begin{figure}[!hbtp]
395 \centering
396 \includegraphics[width=\linewidth]{graph/research/4}
397 \caption{Зависимость погрешности численного решения по явной схеме от мелкости сетки по оси $z$}
398 \label{pic:explicit:research:3}
399 \end{figure}