27.10.2014 Views

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Интегралы вычисляются по отрезкам, концы которых являются точками разрыва вторых<br />

производных используемых сплайнов. На отрезках, содержащих точку коллокации, применяется<br />

составная квадратурная формула наивысшей алгебраической степени точности,<br />

и разбиение выбирается достаточно близким к оптимальному для вычисления подынтегральных<br />

функций с логарифмической особенностью. При этом разбиение отрезка строится<br />

симметрично относительно точки коллокации, что обеспечивает вычисление главного<br />

значения сингулярного интеграла. На остальных отрезках применяется несоставная квадратурная<br />

формула наивысшей алгебраической степени точности. С удалением от точки<br />

коллокации требования к относительной точности интегрирования ослабевают. Поэтому<br />

длины отрезков интегрирования увеличиваются. Параметры применяемых квадратур подбираются<br />

экспериментально.<br />

Построив систему (9) и обратив матрицу ( 1<br />

I + J A) , выражаем значения сеточной<br />

2<br />

функции ∂(ru) через значения сеточной функции u на Γ h ∂r<br />

2. Полученные зависимости<br />

подставляются в систему (6). Построенная таким образом система с неизвестными<br />

значениями функции u на D h решается циклическим многосеточным методом. Оператор<br />

построенной системы составляет сумму двух операторов. Первый оператор связывает<br />

значения функции в нескольких "соседних" узлах, а второй связывает все значения<br />

функции на границе Γ 2 . Заметим, что возможен иной подход к решению поставленной<br />

задачи – решение системы {(6),(9)} в целом относительно функций u на D h и ∂(ru) на Γ h ∂r 2<br />

многосеточным методом, не разрешая уравнения (9) относительно ∂(ru) . ∂r<br />

4. Многосеточный метод<br />

Многосеточный алгоритм представляет собой итерационный процесс, на каждой итерации<br />

которого приближенное решение задачи ищется за счет сглаживания невязки и рекурсивного<br />

спуска на более редкую сетку для определения поправки. Используя несколько<br />

уровней дискретизации, алгоритм устраняет конфликты между гладкими компонентами<br />

решения, которые можно эффективно аппроксимировать на редких сетках, но которые<br />

медленно сходятся на частых сетках, и высокочастотными компонентами, которые необходимо<br />

аппроксимировать с помощью частых сеток [3].<br />

В данной работе реализован полный многосеточный алгоритм с W,F,V-циклами, включающий<br />

и многосеточную экстраполяцию. В качестве сглаживающего оператора используется<br />

метод Гаусса-Зейделя, а при послесглаживании применяется противоположный перебор<br />

узлов. Набор сеток строится за счет рекурсивного уменьшения шага редкой сетки в<br />

2 раза по обоим направлениям. Для переноса поправки с сетки D 2h на частую сетку D h используется<br />

оператор билинейной интерполяции. А для сноса невязки с сетки D h на редкую<br />

сетку D 2h используется оператор, сопряженный к оператору билинейной интерполяции.<br />

Система, задающая дискретную задачу, на наборе сеток строится следующим образом.<br />

Двумерные интегралы, содержащие k 2 , вычисляются лишь на самой частой<br />

сетке, и рекурсивно пересчитываются на редкие сетки по формулам, вытекающим из<br />

представления базисных функций редкой сетки через базисные функции частой сетки.<br />

Остальные двумерные интегралы на каждой сетке вычисляются по аналитическим<br />

формулам. Оператор, связывающий все значения функции на границе Γ 2 , рекурсивно<br />

перестраивается с частой сетки на редкие сетки аналогично сносу невяки.<br />

130

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!