Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Итерационные методы решения систем линейных уравнений. Курс лекций
.pdf
Оператор
является положительно определенным, кроме случая
α =0
когда имеется нулевое собственное значение. Также операторявляется
самосопряженным при интегрировании с весом ρ(𝑟)=𝑟.
Для дискретизации воспользуемся методом конечных объемов. Разобьем
круг
𝑟<𝑅
на𝑛концентрических колец, которые будем называть ячейка-
ми. Ячейки нумеруем целыми индексами, а границы ячеек — полуцелыми,
𝑟
ковой:
𝑟
— границы 𝑖-й ячейки. Ширину каждого кольца можно выбрать одина-
𝑖±1∕2
ℎ=𝑅∕𝑛=𝑟
через интегралы по кольцу:
𝑖
𝑖+1∕2
−𝑟
. Введем «объем ячейки»
𝑖−1∕2
𝜐
и «центр ячейки»
𝑖
,
𝑟
𝜐𝑖=
1
𝑖+
2
𝑟
𝑖−
𝑟𝑑𝑟=
1
2
1
2
𝑟
𝑖+1∕2
2
Интегрирование по углу
−𝑟
2𝜋
0
2
, 𝑟𝑖=
𝑖−1∕2
𝑑φ
можно опустить, поскольку множитель
𝑟
1
𝑖+
1
𝜐
𝑖
2
𝑟
𝑖−
𝑟2𝑑𝑟=
1
2
1
3𝜐
3
𝑟
𝑖
𝑖+1∕2
−𝑟
3
𝑖−1∕2
2π
.
в
результате сокращается во всех выражениях. Сеточная функция, как и ранее,
задается путем усреднения по ячейке:
𝑟
1
𝑖+
𝑢𝑖=
1
𝜐
𝑖
При линейной реконструкции функции внутри ячейки ее следует представлять в форме
𝑢𝑗(𝑟) =𝑢𝑗+𝑠𝑟−𝑟
В этом случае усреднение по𝑗-й ячейке будет давать значение
висимо от наклона𝑠. При оценке производной на границе ячейки
требуем, чтобы наклоны в соседних ячейках𝑗и
𝑠=𝑢′(𝑟
𝑗+1∕2
)=𝑢
𝑗+1
−𝑢
𝑗
∕
𝑟
𝑗+1
−𝑟
2
𝑟
1
𝑖−
2
𝑢(𝑟)𝑟𝑑𝑟.
, где𝑠— произвольный наклон.
𝑗
𝑢
, неза-
𝑗
. В ячейках на границе области требу-
𝑗
𝑗+1
совпадали, тогда
𝑟
𝑗+1∕2
ем выполнения граничных условий.
Сеточный аналог оператора
(𝐿𝑢)
1+1∕2
𝑖−1∕2
𝑛−1∕2
𝑢1−𝑢
𝑟2−𝑟
𝑢𝑖−𝑢
𝑟𝑖−𝑟
𝑢𝑛−𝑢
𝑟𝑛−𝑟
𝑟
1
=
𝑖
𝑟
𝜐
𝑖
𝑟
2
, 𝑖=1,
1
𝑖−1
𝑖−1
𝑛−1
𝑛−1
+𝑟
𝑖+1∕2
+
β +α(𝑅−𝑟
𝑢𝑖−𝑢
𝑟
α𝑅𝑢
𝑖+1
𝑖+1
, 𝑖=2,𝑛−1,
−𝑟𝑖
𝑛
, 𝑖=𝑛.
)
𝑛
Сеточный оператор𝐿является положительно определенным, кроме случая
α =0
, когда имеется нулевое собственное значение. Также оператор𝐿является самосопряженным относительно скалярного произведения, введенного
с билинейной формой
𝐵=diag(𝜐1,𝜐2,…,𝜐
. Для оператора естественным
)
𝑛
образом ставится обобщенная задача на собственные значения (1.5).
11

Пример 1.4. Рассмотрим радиальную часть оператора Лапласа в сфериче-
ских координатах. Дифференциальный операторопределен на множестве
ограниченных функций
𝑢(𝑟)
на отрезке
𝑟∈[0,𝑅]
, удовлетворяющих одно-
родным граничным условиям:
lim
𝑟𝑢𝑟=0,
𝑟→0
α𝑢+β𝑢
(
𝑟=𝑅
=0.
)
𝑟
𝑢=−
1
𝑑
𝑑𝑢
2
𝑟
2
𝑑𝑟
𝑟
, 𝑢(𝑟)∶
𝑑𝑟
Операторявляется неотрицательно определенным и самосопряженным
при интегрировании с весом ρ(𝑟)=𝑟
2
.
Дискретизацию проводим на ячейки в виде сферических слоев. Анало-
гично плоскому случаю в полярных координатах вводим «объем ячейки»
𝜐
и «центр ячейки»
𝑖
𝑟
через объемные интегралы по сферическому слою
𝑖
(угловой интеграл опускается):
𝜐𝑖=
𝑟
1
𝑖+
2
𝑟
𝑖−
𝑟2𝑑𝑟=
1
2
1
3
𝑟
−𝑟
𝑖+1∕2
3
3
𝑖−1∕2
, 𝑟𝑖=
𝑟
1
𝑖+
1
𝜐
𝑖
2
𝑟
𝑖−
𝑟3𝑑𝑟=
1
2
1
4𝜐
4
𝑟
𝑖
𝑖+1∕2
−𝑟
4
𝑖−1∕2
.
Сеточный аналог оператора
(𝐿𝑢)
𝑢1−𝑢
2
𝑟
1+1∕2
2
𝑖−1∕2
2
𝑛−1∕2
𝑟2−𝑟
𝑢𝑖−𝑢
𝑟𝑖−𝑟
𝑢𝑛−𝑢
𝑟𝑛−𝑟
1
=
𝑖
𝑟
𝜐
𝑖
𝑟
2
, 𝑖=1,
1
𝑖−1
𝑖−1
𝑛−1
𝑛−1
2
+𝑟
𝑖+1∕2
+
β +α(𝑅−𝑟
𝑢𝑖−𝑢
𝑟
α𝑅2𝑢
𝑖+1
𝑖+1
, 𝑖=2,𝑛−1,
−𝑟𝑖
𝑛
, 𝑖=𝑛.
)
𝑛
Сеточный оператор𝐿является положительно определенным, кроме случая
α =0
, когда имеется нулевое собственное значение. Также оператор𝐿является самосопряженным относительно скалярного произведения, введенного
с билинейной формой
𝐵=diag(𝜐1,𝜐2,…,𝜐
. Для оператора естественным
)
𝑛
образом ставится обобщенная задача на собственные значения (1.5).
1.3. Обобщенная задача на собственные значения
Пример 1.5. Рассмотрим дифференциальный операторотрицательной
второй производной с весовой функцией ρ(𝑥)>0:
𝑥=0
𝑥=𝑙
=0,
=0.
)
𝑥
)
𝑥
𝑢=−
1
ρ(𝑥)
2
𝑑
𝑢, 𝑢(𝑥)∶
2
𝑑𝑥
12
α
(
𝐿
α
(
𝑅
𝑢−β𝐿𝑢
𝑢+β𝑅𝑢

Помимо классической задачи на собственные значения
𝑢=λ𝑢
, можно
поставить эквивалентную ей обобщенную задачу на собственные значения:
𝑢=λρ𝑢,
где— дифференциальный оператор второй производной, введенный в
примере 6.1. Обобщенная постановка корректна, даже если
ная функция; к примеру, если весовая функция
ρ(𝑥)
включаетδ-функцию
ρ(𝑥)
— обобщен-
Дирака. Дифференциальный операторявляется самосопряженным при
интегрировании с весовой функцией
кроме случая
α
=α𝑅=0
𝐿
, когда существует нулевое собственное значение.
ρ(𝑥)
и положительно определенным,
Построим сеточный аналог оператора. Для этого усредним весовую
функцию ρ(𝑥)в ячейках:
𝑥
1
𝑖+
ρ
1
=
𝑖
ℎ
2
𝑥
𝑖−
ρ(𝑥)𝑑𝑥.
1
2
Теперь поделим каждую строку оператора второй производной𝐿из примера 6.1 на плотность ρ𝑖:
2α𝐿ℎ
(𝑃𝑢)
2β𝐿+α𝐿ℎ
1
=
𝑖
ρ
ℎ
𝑖
2
𝑢𝑖−𝑢
(
𝑢𝑛−𝑢
(
𝑢1+(𝑢1−𝑢
)+(
𝑖−1
+
)
𝑛−1
𝑢𝑖−𝑢
𝑖+1
2α𝑅ℎ
2β𝑅+α𝑅ℎ
, 𝑖=1,
)
2
, 𝑖=2,𝑛−1,
)
𝑢𝑛, 𝑖=𝑛.
При более строгом выводе все функции и уравнения следует интегрировать
1
с весом
ρ(𝑥)
. Тогда в формулах появятся центры масс ячеек
𝑥𝑖=
𝑥ρ(𝑥)𝑑𝑥
ℎ
Но не будем чрезмерно усложнять. Оператор𝑃неотрицательно определен, все его собственные значения положительны, за исключением случая
α
=α𝑅=0, когда имеется нулевое собственное значение.
𝐿
Как это можно использовать? Введем матрицу с весами на диагонали:
𝐵=diag
ρ
(
1,ρ2
,…,ρ
. Тогда матрица оператора
)
𝑛
𝑃=𝐵91𝐿
, где𝐿— сеточный
оператор второй производной из примера 6.1. Матрица𝐿симметричная и
неотрицательно определенная. Обобщенная задача на собственные значения для сеточного оператора:
.
𝐿𝑢=λ𝐵𝑢. (1.5)
Матрица𝐵симметричная и положительно определенная, а значит, можно
использовать матрицу𝐵как билинейную форму и ввести скалярное произведение:
произведением оператор𝑃является самосопряженным
(𝑥,𝑦)𝐵=𝑥𝑇𝐵𝑦
. В линейном пространстве с таким скалярным
(𝑃𝑥,𝑦)𝐵=(𝑥,𝑃𝑦)
𝐵
13
.

Собственные значения оператора𝑃вещественны и неотрицательны, а собственные векторы, соответствующие различным собственным значениям,
ортогональны: (𝑥,𝑦)𝐵=0.
Это хорошо, что задачу удалось свести к работе с симметричными матрицами. Многие алгоритмы эффективнее работают с симметричными матрицами. В данном случае, вместо решения классической задачи на собственные
значения
𝑃𝑢=λ𝑢
, где𝑃— матрица общего вида, а спектр матрицы ищется
в поле комплексных чисел, можно перейти к обобщенной задаче на собственные значения. Для обобщенной задачи с симметричными матрицами
спектр является вещественным.
Если говорить о практическом применении данных знаний: многие библиотеки включают специализированные функции для работы с эрмитовыми
матрицами. К примеру, модуль
scipy.sparse.linalg
в Python содержит
отдельные функции для поиска собственных значений для матриц общего
вида (функция
eigs
) и для поиска собственных значений для эрмитовых мат-
риц, в том числе для обобщенной задачи на собственные значения (функция
eigsh
). При известных ограничениях на матрицу и ее спектр целесообразно
использовать специализированную функцию eigsh.
1.4. Спектр трехточечного оператора второй
производной
Рассмотрим задачу на СВ и СЗ для трехточечного сеточного оператора
отрицательной второй производной
=−𝑑2∕𝑑𝑥
оператор𝐿получен методом конечных объемов на равномерной сетке в
области
пронумерованы целыми индексами
значения сеточной функции 𝑣
0𝑥𝑙
. Область разделена на𝑛ячеек длиной
𝑖=1,𝑛
соответствуют ячейкам.
𝑖
На границах области заданы граничные условия одного из трех типов:
условия Дирихле (𝐷), условия Неймана (𝑁) или периодические граничные
условия (𝑃). Матрица оператора𝐿имеет размер
граничных условий принимает вид:
3 91 0 0 ⋯ 0
𝐿𝐷=
91 2 91 0 ⋯ 0
1
0 91 2 91⋯ 0
⋯ ⋯
2
ℎ
0 ⋯ 0 91 2 91
0 ⋯ 0 0 91 3
𝐿𝑃=
, 𝐿𝑁=
2 91 0 0 ⋯91
91 2 91 0 ⋯ 0
1
0 91 2 91⋯ 0
⋯ ⋯
2
ℎ
0 ⋯ 0 91 2 91
91⋯ 0 0 91 2
2
. Полагаем, что сеточный
, центры ячеек
𝑛×𝑛
1
2
ℎ
и для различных типов
1 91 0 0 ⋯ 0
91 2 91 0 ⋯ 0
0 91 2 91⋯ 0
⋯ ⋯
0 ⋯ 0 91 2 91
0 ⋯ 0 0 91 1
.
ℎ=𝑙∕𝑛
𝑥𝑖=(𝑖−
,
. Ячейки
1
)ℎ
, а
2
При действии любым из перечисленных операторов на сеточную функцию
для внутренних ячеек получаем аппроксимацию отрицательной второй про-
14

изводной на трех точках:
(𝐿𝑣)
=−
𝑖
𝑣
𝑖+1
−2𝑣𝑖+𝑣
2
ℎ
𝑖−1
, 𝑖=2,𝑛−1.
Все три матрицы являются симметричными. Матрица
определенная. Матрицы
𝐿
и
𝐿
𝑁
неотрицательно определены, вектор из
𝐷
𝐿
— положительно
𝐷
одинаковых чисел соответствует нулевому собственному значению. Для
всех трех матриц можно выписать полный набор собственных значений и
собственных векторов.
СВ и СЗ для задачи Дирихле (для матрицы 𝐿
λ
4
=
𝑘
ℎ
2
sin
2
π𝑘ℎ
2𝑙
, 𝑣
(𝑘)
𝑖
=sin
π𝑘𝑥
Если дискретизация содержит хотя бы три ячейки (
собственное значение
λ
можно оценить снизу, а для спектра оператора
min
):
𝐷
𝑖
, 𝑘=1,𝑛. (1.6)
𝑙
𝑛3
), то минимальное
справедливы оценки:
λ
=
min
ℎ
2
СВ и СЗ для задачи Неймана (для матрицы 𝐿
4
λ
4
=
𝑘
ℎ
2
sin
2
sin
π𝑘ℎ
2𝑙
πℎ
2
2𝑙
, 𝑣
,
(𝑘)
𝑖
λ
2
𝑙
=cos
λ𝑘λ
min
π𝑘𝑥
𝑙
max
):
𝑁
𝑖
, 𝑘=0,𝑛−1. (1.8)
9
=
4
. (1.7)
2
ℎ
Если дискретизация содержит хотя бы три ячейки (
положительное собственное значение
λ1можно оценить снизу, а для спектра
𝑛3
), то минимальное
справедливы оценки:
λ
9
0
=λ
min
=0,
λ1λ𝑘λ
2
𝑙
max
<
4
. (1.9)
2
ℎ
СВ и СЗ для задачи с периодическими граничными условиями (для мат-
рицы 𝐿
где
):
𝑃
𝑘=0,𝑛−1
λ
𝑣
, и
𝑘
(𝑘)
𝑖
4
=
ℎ
2
sin
=cos
𝑘mod2
π
𝑘+𝑏)ℎ
(
2
π𝑥
𝑘+𝑏
(
𝑖
𝑙
2𝑙
, 𝑏=𝑘mod2,
)
π𝑏
−
,
2
(1.10)
— остаток от деления на два. Положительные
собственные значения имеют кратность равную двум, а среди собственных
векторов чередуются четные (cos) и нечетные (sin) функции. Использование
операции 𝑘mod2позволяет объединить две серии собственных векторов.
Если дискретизация содержит хотя бы три ячейки (
ное положительное собственное значение
спектра оператора справедливы оценки
λ1можно оценить снизу, а для
(1.9)
. В целом, независимо от гранич-
𝑛3
), то минималь-
15

ных условий, спектры трех операторов практически полностью совпадают.
Для вырожденных операторов
𝐿
и
𝐿
𝑁
добавляются нулевые собственные
𝑃
значения.
1.5. Лабораторная работа
В лабораторной работе требуется численно найти 5 – 6 собственных
функций для дифференциального оператора, которые соответствуют минимальным собственным значениям. Для поиска использовать обратный
степенной метод или метод Рэлея, начальные приближения собственных значений подбираются вручную. При выполнении работы допускается использование встроенных решателей систем линейных уравнений для вычисления
векторов
функции и аналитические. Список задач приведен в прил. П.1.
Необязательные пункты:
>
○ вычислить погрешность и оценить порядок аппроксимации;
>
○
𝐴91𝑏
. Построить на одном графике приближенные собственные
использовать разреженные матрицы
на сетке с размером от 5 тыс. ячеек;
scipy.sparse
и найти решение
>
○ создать разреженные матрицы без циклов;
>
○
получить собственные функции и собственные значения с использованием встроенной функции scipy.linalg.sparse.eigsh;
>
○
решить задачу без использования разреженных матриц и встроенных решателей систем уравнений, использовать собственный код для
метода прогонки.
16

Лекция 2. Аппроксимация уравнения
Пуассона
Уравнение Пуассона в многомерной области 𝐷имеет вид
−∆𝑢=𝑓(𝒓), 𝒓∈𝐷⊆ℝ𝑑,
где∆— оператор Лапласа (или лапласиан). Важный частный случай
носит собственное название — уравнение Лапласа. Уравнение Пуассона или
Лапласа обычно дополняется тем или иным условием на границе области
𝐷
, которую будем обозначать как
можно отнести условие Дирихле, когда на границе задано значение функции,
и условие Неймана, когда на границе задана производная функции.
Уравнение Пуассона встречается в различных областях физики. Собственно, уравнение Пуассона в электростатике, стационарные задачи теплопроводности, диффузии и фильтрации. Уравнение Пуассона также описывает
натяжение двумерной мембраны, потенциальное течение несжимаемой
жидкости. Общность всех этих физических процессов проявляется в интегральной формулировке уравнения
−
𝜕𝐷
которая выражает фундаментальные законы сохранения. Поверхностный
интеграл равен «потоку» некоторой величины через границы области, а
объемный интеграл — «источникам» этой величины внутри области. Интегральное соотношение описывает баланс между генерацией некоторой
величины внутри области и потоком этой величины через границы.
Для электростатики (
точниками
(
−𝛁𝑢
) — это поток тепла (закон Фурье). Для диффузии и фильтрации — по-
ток вещества (закон Дарси). Для движения несжимаемой жидкости — это
скорость 𝒗=−𝛁𝑢, т.е. поток жидкости.
𝑓(𝒓)
являются электрические заряды. Для теплопроводности
−𝛁𝑢
𝜕𝐷
. К классическим граничным условиям
𝜕𝑢
𝑑𝑆=
𝜕𝑛
) — это поток электрической индукции, а ис-
𝑓(𝒓)𝑑𝑉, (2.1)
𝐷
𝑓(𝒓)=0
Уравнение Пуассона относится к дифференциальным уравнениям эллиптического типа. Численная аппроксимация краевых задач для уравнения
Пуассона приводит к системам линейных уравнений. Если задача Коши для
эволюционных гиперболических или параболических уравнений допускает
решение по явным схемам, т.е. численное решение можно находить, последовательно продвигаясь по временным слоям, то численное решение
краевых задач для эллиптических уравнений описывается исключительно
неявными схемами.
17

Выпишем конечно-объемную аппроксимацию уравнения Пуассона в прямоугольной области:
−∆𝑢=𝑓(𝑥,𝑦), 0<𝑥<𝑙𝑥, 0<𝑦<𝑙𝑦. (2.2)
Разобьем вычислительную область на одинаковые прямоугольные ячейки:
𝑛
ячеек вдоль оси𝑥и
𝑥
Размеры ячеек обозначим как
𝑛
ячеек вдоль оси𝑦, общее число ячеек
𝑦
ℎ𝑥=𝑙𝑥∕𝑛
и
ℎ𝑦=𝑙𝑦∕𝑛
𝑥
. Для обозначения
𝑦
𝑛=𝑛𝑥×𝑛
ячеек и значений в них введем двумерную индексацию, индекс ячейки по
.
𝑦
оси𝑥обозначим как
ячеек обозначим как
полуцелыми индексами 𝑥
Интегральное соотношение
𝑖=1,𝑛
𝑥
и
𝑦
𝑖𝑗
𝑖±1∕2
, вдоль оси𝑦как
𝑥
, а координаты границ ячеек будем обозначать
𝑖𝑗
и 𝑦
𝑗±1∕2
(2.1)
.
справедливо для любой подобласти
𝑗=1,𝑛
. Координаты центров
𝑦
области𝐷, поэтому его можно выписать отдельно для каждой ячейки построенной сетки:
𝜕𝑢
здесь
𝑉
— объем ячейки,
𝑖𝑗
−
𝑆
𝑆
𝑑𝑆=
𝜕𝑛
𝑖𝑗
— поверхность ячейки𝑖𝑗, а производные вы-
𝑖𝑗
𝑓(𝑥,𝑦)𝑑𝑉,
𝑉
𝑖𝑗
числяются по направлению внешней нормали к границе ячейки. В нашем
случае каждая ячейка имеет ровно по четыре грани, выпишем поверхностный интеграл отдельно для каждой грани:
𝜕𝑢
−
𝑆
𝑑𝑆−
𝜕𝑛
𝐿
𝑖𝑗
В данной формуле 𝑆
верхней граней ячейки соответственно. Уравнение
𝜕𝑢
𝑆
𝑑𝑆−
𝜕𝑛
𝑅
𝑖𝑗
𝐿
𝑅
, 𝑆
𝑖𝑗
𝐵
, 𝑆
𝑖𝑗
𝑖𝑗
𝑆
и 𝑆
𝜕𝑢
𝑑𝑆−
𝜕𝑛
𝐵
𝑖𝑗
𝑇
— поверхности левой, правой, нижней и
𝑖𝑗
𝜕𝑢
𝑆
𝑖𝑗
𝑑𝑆=
𝜕𝑛
𝑇
(2.3)
𝑓(𝑥,𝑦)𝑑𝑉. (2.3)
𝑉
𝑖𝑗
выполняется точно,
на данном этапе никакие приближения не использовались.
Введем операцию проекции функции
нием функции
объеме ячейки 𝑉
𝑢
в ячейке будем считать усредненное значение функции в
𝑖𝑗
, т.е.
𝑖𝑗
𝑢(𝑥,𝑦)
на сетку. Сеточным значе-
1
𝑢𝑖𝑗=
𝑉
𝑢(𝑥,𝑦)𝑑𝑉.
𝑖𝑗
𝑉
𝑖𝑗
Такой способ проекции со вторым порядком точности совпадает с выбором значений сеточной функции в центре ячейки, т.е.
𝑢𝑖𝑗=𝑢𝑥𝑖𝑗,𝑦
+𝑂(ℎ2),
𝑖𝑗
гдеℎ— характерный линейный размер ячейки. Для ячеек произвольной
формы значение функции выбирается в барицентре ячейки. Таким образом, при использовании схем с порядком точности не выше второго, можно
считать оба варианта проекции эквивалентными: значения
𝑢
можно рас-
𝑖𝑗
18

сматривать как значение функции в центре ячейки или как усредненное
по ячейке. После введения сеточной функции можно заменить объемный
интеграл в правой части
(2.3)
на значение
ℎ𝑥ℎ𝑦𝑓
, где
𝑖𝑗
ℎ𝑥ℎ
— объем ячейки.
𝑦
Далее необходимо аппроксимировать потоковые интегралы в левой
части уравнения
(2.3)
. Для примера, рассмотрим поток через левую грань
ячейки:
𝜕𝑢
𝑆
𝑑𝑆=
𝜕𝑛
𝐿
𝑖𝑗
𝑢
𝑖−1,𝑗
ℎ
−𝑢
𝑥
𝑖𝑗
ℎ𝑦+𝑂(ℎ2),
здесь аппроксимация производной на грани умножается на длину грани
ℎ
𝑦
После записи всех интегралов получаем следующую формулу для внутренних ячеек области:
𝑢𝑖𝑗−𝑢
ℎ
𝑥
𝑖−1,𝑗
ℎ𝑦+
𝑢𝑖𝑗−𝑢
ℎ
𝑥
𝑖+1,𝑗
ℎ𝑦+
𝑢𝑖𝑗−𝑢
ℎ
𝑖,𝑗−1
𝑦
ℎ𝑥+
𝑢𝑖𝑗−𝑢
ℎ
𝑦
𝑖,𝑗+1
ℎ𝑥=ℎ𝑥ℎ𝑦𝑓𝑖𝑗.
После преобразований получаем формулу, в которой без труда различимы
аппроксимации вторых производных в разных направлениях:
Формула
1<𝑗<𝑛
𝑢
−
(2.4)
. Для записи уравнений для граничных ячеек области требуется
𝑦
справедлива для внутренних ячеек области
−2𝑢𝑖𝑗+𝑢
𝑖+1,𝑗
ℎ
𝑖−1,𝑗
2
𝑥
𝑢
−
−2𝑢𝑖𝑗+𝑢
𝑖,𝑗+1
ℎ
𝑖,𝑗−1
2
𝑦
=𝑓𝑖𝑗. (2.4)
1<𝑖<𝑛
и
𝑥
задание граничных условий.
2.1. Периодические граничные условия
.
Уравнение Пуассона задано в прямоугольной области, левая граница связана с правой, а нижняя граница замыкается на верхнюю, будто уравнение
решается в бесконечной области.
∆𝑢=−𝑓(𝑥,𝑦), 0<𝑥<𝑙𝑥, 0<𝑦<𝑙𝑦,
𝑢(𝑥+𝑙𝑥,𝑦)=𝑢(𝑥,𝑦),
𝑢𝑥,𝑦+𝑙
=𝑢(𝑥,𝑦).
𝑦
Решение уравнения Пуассона с периодическими граничными условиями
существует при выполнении условия
𝑓(𝑥,𝑦)𝑑𝑥𝑑𝑦=0. (2.5)
𝐷
Чтобы в этом убедиться, достаточно проинтегрировать уравнение по всей
области. Потоки через левую и правую границы области различаются по
знаку и взаимно вычитаются, аналогично потоки через верхнюю и нижнюю
границы. Отсюда следует, что сумма источников внутри области должна быть
19

равна нулю. Если решение уравнения Пуассона с периодическими граничными условиями существует, то оно определено с точностью до произвольной
аддитивной постоянной.
Конечно-объемная аппроксимация для всех ячеек определяется по формуле
периодически замкнуть. К примеру, справа от самой правой ячейки
располагается ячейка с левой границы
располагаются ячейки с верхнего ряда 𝑢
(2.4)
. Необходимо только учесть, что индексы ячеек также требуется
𝑢
. Снизу от нижнего ряда ячеек
1,𝑗
.
𝑖,𝑛
𝑦
𝑢
𝑛𝑥,𝑗
𝑢
𝑖,1
Итоговую систему линейных уравнений можно представить в операторном виде
𝐿𝑢=𝐹
, где𝐿— сеточный оператор, а𝐹— вектор правых частей.
Количество уравнений в системе равно числу ячеек𝑛, соответственно, размер оператора𝐿в матричном представлении
𝑛×𝑛
. Оператор𝐿является
вырожденным, поскольку вектор из одинаковых чисел удовлетворяет однородной системе уравнений
𝐿𝑢=0
, в этом смысле оператор𝐿повторяет
свойства дифференциального оператора.
Условие совместности для систем линейных уравнений (теорема Кронекера – Капелли) гласит, что решение системы существует в том случае, когда
ранг матрицы совпадает с рангом расширенной матрицы. Поскольку ранг
матрицы𝐿меньше числа неизвестных𝑛, для разрешимости должно быть
наложено условие и на правую часть системы — на вектор𝐹. По невероятному стечению обстоятельств условие совместности полученной системы
линейных уравнений совпадает с условием существования решения
(2.5)
дифференциальной задачи1:
ℎ𝑥ℎ
𝐹𝑖𝑗=
𝑦
𝑖,𝑗
Если значения сеточной функции
𝑓𝑖𝑗ℎ𝑥ℎ𝑦=0.
𝑖,𝑗
𝑓
получены путем усреднения в ячей-
𝑖𝑗
ках, то условие совместности для системы уравнений полностью совпадает с
условием разрешимости дифференциальной задачи. Но чаще используется
аппроксимация
𝑓𝑖𝑗=𝑓(𝑥𝑖,𝑦𝑗)
, в этом случае вектор правых частей требуется
отнормировать, чтобы сумма стала равна нулю, иначе система уравнений
не будет иметь решения. Для этого достаточно вычесть из правых частей
среднее значение:
𝑛
1
𝐹𝑖𝑗.
𝑖,𝑗
𝐹𝑖𝑗=𝐹𝑖𝑗−
Поскольку решение определяется с точностью до произвольной постоянной,
решение также рекомендуется нормировать аналогичным образом, в том
числе в ходе итераций, при использовании итерационных методов решения
систем уравнений.
1
Вектор из одинаковых чисел удовлетворяет однородной системе уравнений⇒сум-
ма столбцов матрицы равна нулю. Матрица симметрична⇒сумма строк матрицы равна
нулю ⇒сумма строк расширенной матрицы должна быть равна нулю, т.е.
𝑖𝑗
𝐹𝑖𝑗=0.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
