
Аппроксимация
Сетка и шаблон. Для большинства разностных схем узлы сетки лежат на пересечении некоторых прямых линий (в многомерных задачах – гиперплоскостей), проведенных либо в естественной системе координат, либо в специально подобранной по форме области G.
Если одна из переменных имеет физический смысл времени t, то сетку обычно строят так, чтобы среди ее линий (или гиперплоскостей) были линии t = tm. Совокупность узлов сетки, лежащих на такой линии или гиперплоскости, называют слоем.
На каждом слое выделяют направления, вдоль которых меняется только одна пространственная координата. Например, для переменных x, y, t есть направления x (t = const, y = const) и направление y (t = const, х = const).
Составляя разностные схемы (26.2) и (26.4), мы использовали во всех внутренних узлах области однотипную разностную аппроксимацию производных. Иными словами, при написании каждого разностного уравнения около некоторого узла сетки бралось одно и то же количество узлов, образующее строго определенную конфигурацию, которую мы назвали шаблоном данной разностной схемы (см. рис. 26.2).
Определение. Узлы, в которых разностная схема записана на шаблоне, называются регулярными, а остальные – нерегулярными.
Нерегулярными являются обычно граничные узлы, а иногда также лежащие вблизи границы узлы (такие, что взятый около этого узла шаблон выходит за границу области).
Составление разностной схемы начинается с выбора шаблона. Шаблон не всегда определяет разностную схему однозначно, но существенно влияет на ее свойства; например, далее мы увидим, что на шаблоне рис. 26.2b нельзя составить хорошей разностной схемы для задачи теплопроводности (26.1). Для каждого типа уравнений и краевых задач требуется свой шаблон.
Явные и неявные разностные схемы
Обсудим вопрос о фактическом вычислении разностного решения. Большая часть физических проблем приводит к уравнениям, содержащим время в качестве одной из переменных. Для таких уравнений ставится обычно смешанная краевая задача, типичным случаем которой является задача теплопроводности (26.1).
К подобным задачам применяют послойный алгоритм вычислений. Рассмотрим его на примере схем (26.2) и (26.4).
В схеме (26.4)
на исходном слоеm
= 0 решение известно в силу начального
условия. Положим m
= 0 в уравнениях (26.4). Тогда при каждом
значении индекса n
уравнение содержит одно неизвестное
;
отсюда можно определить
при
Значения
и
определяются по краевым условиям (26.3).
Таким образом, значения на первом слое
вычислены. По ним аналогичным образом
вычисляется решение на втором слое и
т.д.
Схема (26.4) в каждом уравнении содержит только одно значение функции на следующем слое; это значение нетрудно явно выразить через известные значения функции на исходном слое, поэтому такие схемы называются явными.
Схема (26.2)
содержит в каждом уравнении несколько
неизвестных значений функции на новом
слое; подобные схемы называются неявными.
Для фактического вычисления решения
перепишем схему (26.2) с учетом краевого
условия (26.3) в следующей форме
(26.5)
На каждом слое
схема (26.5) представляет собой систему
линейных уравнений для определения
величин
;
правые части этих уравнений известны,
поскольку содержат значения решения с
предыдущего слоя. Матрица линейной
системы трехдиагональная, и решение
можно вычислить алгебраической прогонкой.
Рассмотренный сейчас алгоритм достаточно типичен. Он используется во многих неявных разностных схемах для одномерных и многомерных задач. Дальше мы будем вместо индекса m часто применять сокращенные обозначения
В этих обозначениях явная и неявная разностные схемы принимают соответственно следующий вид
Невязка. Рассмотрим операторное дифференциальное уравнение общего вида (не обязательно линейное)
Au = f, или Au – f = 0.
Заменяя оператор
А
разностным оператором Ah,
правую часть f
– некоторой сеточной функцией
,
а точное решениеu
– разностным решением y,
запишем разностную схему
или
.
(26.6)
Если подставить
точное решение u
в соотношение (26.6), то решение, вообще
говоря, не будет удовлетворять этому
соотношению
.
Величину
называют невязкой.
Невязку обычно оценивают при помощи разложения в ряд Тейлора. Например, найдем невязку явной разностной схемы (26.4) для уравнения теплопроводности (26.1а). Запишем это уравнение в каноническом виде
Поскольку в данном
случае
то
Разложим решение по формуле Тейлора около узла (xn, tm), предполагая существование непрерывных четвертых производных по х и вторых по t
(26.7)
где
Подставляя эти
разложения в выражение невязки и
пренебрегая, в силу непрерывности
производных, отличием величин
от
(xn,
tm)
найдем
(26.8)
Таким образом,
невязка (26.8) стремится к нулю при
и
Близость разностной схемы к исходной
задаче определяется по величине невязки.
Если невязка стремится к нулю приh
и
стремящихся к нулю, то говорят что такая
разностная схема аппроксимирует
дифференциальную задачу. Аппроксимация
имеетр-й
порядок, если
.
Выражение (26.8) дает невязку только в регулярных узлах сетки. Сравнивая (26.3) и (26.1б), легко найдем невязку в нерегулярных узлах
Замечание 1.
Решение задачи теплопроводности с
постоянным коэффициентом (26.1) в области
непрерывно дифференцируемо бесконечное
число раз. Однако учет пятых и более
производных в разложении в ряд Тейлора
(26.7) прибавит к невязке (26.8) только члены
более высокого порядка малости по
иh,
т.е. по существу, не изменит вида невязки.
Замечание 2.
Пусть по каким-либо причинам решение
исходной задачи дифференцируемо
небольшое число раз; например, в задачах
с переменным коэффициентом теплопроводности,
гладким, но не имеющим второй производной,
решение имеет лишь третьи непрерывные
производные. Тогда в разложении в ряд
Тейлора (26.7) последними будут члены
не точно компенсирующие друг друга. Это
приведет к появлению в невязке (26.8) члена
типа
т.е. невязка будет иметь меньший порядок
малости, чем для четырежды непрерывно
дифференцируемых решений.
Замечание 3. Преобразовав выражение невязки с учетом того, что входящая в него функция u(x,t) есть точное решение исходного уравнения и для нее выполняются соотношения
Подставляя это выражение в (26.8), получим
Если выбрать шаги
по пространству и времени так, чтобы
то главный член невязки обратится в
нуль и останутся только члены более
высокого порядка малости по
иh
(которые мы опускали). Этим приемом
пользуются при построении разностных
схем повышенной точности.