Журнал вычислительной математики и математической физики, 2020, T. 60, № 4, стр. 652-662
Оптимизация конечно-разностной схемы для численного решения уравнения гельмгольца
В. И. Костин 1, *, С. А. Соловьев 1
1 ИНГГ СО РАН
630090 Новосибирск, пр-т Акад. Коптюга, 3, Россия
* E-mail: KostinVI@ipgg.sbras.ru
Поступила в редакцию 14.11.2019
После доработки 14.11.2019
Принята к публикации 16.12.2019
Аннотация
В настоящей работе мы предлагаем метод оптимизации разностной схемы для численного решения уравнения Гельмгольца, который применим при любых отношениях шагов сетки. В интересном для практических применений интервале значений параметра ’число точек на длину волны’ дисперсионная ошибка оптимальной схемы сравнима с ошибкой известных в литературе схем повышенного порядка аппроксимации. Библ. 13. Фиг. 11. Табл. 2.
1. ВВЕДЕНИЕ
Развитие методов численного моделирования акустических волновых полей мотивируется их приложениями в задачах обращения (см. [1]–[4]). Обратные задачи часто формулируются как поиск минимума функционала, который замеряет уклонение значений смоделированного волнового поля от зарегистрированных данных в приемниках. “Смоделированное волновое поле” означает результат расчета прямой задачи для заданной модели (скорости звука в среде). Модель является основным аргументом функционала, и способ решения обратной задачи по сути представляет собой отыскание значения аргумента, доставляющего функционалу минимальное значение. Эффективность алгоритма обращения напрямую зависит от производительности и эффективности алгоритмов решения прямой задачи, которое требуется на каждом шаге итерационного процесса минимизации.
В данной работе моделирование волновых полей рассматривается в частотной области. Для аппроксимации дифференциальных уравнений выбран метод конечных разностей на эквидистантных сетках. Таким образом, прямая задача представляется системой линейных уравнений с разреженной матрицей коэффициентов. В трехмерных задачах порядок матрицы огромен, и это обстоятельство зачастую играет решающую роль. Порядок матрицы напрямую зависит от шагов разностной сетки, использованием разных шагов вдоль различных осей иногда удается уменьшить размер матрицы, снизив тем самым вычислительные затраты.
Другая сторона того же самого вопроса – это точность получаемого решения прямой задачи. В качестве соответствующей метрики мы используем величину дисперсионной ошибки. Эта метрика, вычисляемая для случая однородной среды, с определенными предостережениями применима и для неоднородных сред, если параметр ppw (число точек на длину волны) рассматривается в определенном интервале значений. Тривиальным способом уменьшения дисперсионной ошибки является использование более мелких шагов разностной сетки, но такой путь может оказаться неприемлемым в силу непомерных затрат.
Для уменьшения дисперсионной ошибки мы используем подход, описанный в [5] (см. также [6]). Трехмерное уравнение Гельмгольца аппроксимируется на 27-точечном шаблоне, полученном путем комбинации нескольких стандартных шаблонов. Существенно, что аппроксимация значения функции вне оператора дифференцирования также происходит на всем шаблоне. Таким образом, получается пяти-параметрическое семейство разностных схем. Значения параметров можно подобрать так, что в интересном для приложений диапазоне значений ppw дисперсионная ошибка полученной схемы второго порядка оказывается значительно лучше, чем для стандартной схемы. Полученная таким образом оптимизированная разностная схема по своей структуре и свойствам близка к схемам повышенного порядка аппроксимации (см. [7]–[10]), но наш подход выгодно отличается своей регулярностью – коэффициенты получаются в результате работы алгоритма оптимизации.
Для решения задачи оптимизации мы комбинируем классический градиентный метод и симплекс-метод (см. [11], [12]), не требующий вычисления производных. Целевая функция ожидаемо многоэкстремальна. Для повышения надежности результата в процесс встроена рандомизация.
2. 27-ТОЧЕЧНЫЙ ШАБЛОН ДЛЯ УРАВНЕНИЯ ГЕЛЬМГОЛЬЦА
Рассмотрим трехмерное уравнение Гельмгольца в однородной среде
Здесь $u(x,y,z)$ – неизвестная функция, $\Delta = \tfrac{{{{\partial }^{2}}}}{{\partial {{x}^{2}}}} + \tfrac{{{{\partial }^{2}}}}{{\partial {{y}^{2}}}} + \tfrac{{{{\partial }^{2}}}}{{\partial {{z}^{2}}}}$ – оператор Лапласа, $\omega $ – угловая частота, $c$ – (постоянная) скорость звука, $f(x)$ – функция источника (она исключается из дальнейших рассмотрений).Введем в рассмотрение эквидистантную разностную сетку с шагами ${{h}_{1}},\;{{h}_{2}},\;{{h}_{3}}$. Узлами этой сетки являются точки с координатами $({{x}_{i}},{{y}_{j}},{{z}_{k}})$, пропорциональными соответствующим шагам сетки ${{x}_{i}} = i{{h}_{1}},$ ${{y}_{j}} = j{{h}_{2}},$ ${{z}_{k}} = k{{h}_{3}}$ с целыми коэффициентами $i,j,k$; значения $u({{x}_{i}},{{y}_{j}},{{z}_{k}})$ неизвестной функции в узлах сетки обозначаются ${{u}_{{ijk}}}$. Для конечно-разностной аппроксимации оператора $L$ уравнения (2.1) мы используем оператор ${{L}^{{(h)}}} = {{\Delta }^{{(h)}}} + \tfrac{{{{\omega }^{2}}}}{{{{c}^{2}}}}{{M}^{{(h)}}}$, где
(2.2)
$\begin{gathered} {{\Delta }^{{(h)}}} = {{\gamma }_{1}}{{\Delta }^{{(1,h)}}} + {{\gamma }_{2}}{{\Delta }^{{(2,h)}}} + {{\gamma }_{3}}{{\Delta }^{{(3,h)}}}, \\ {{M}^{{(h)}}} = {{w}_{1}}{{M}^{{(1,h)}}} + {{w}_{2}}{{M}^{{(2,h)}}} + {{w}_{3}}{{M}^{{(3,h)}}} + {{w}_{4}}{{M}^{{(4,h)}}}. \\ \end{gathered} $Операторы ${{M}^{{(j,h)}}}$ представляют собой взятие среднего арифметического значений сеточной функции в точках, представленных черными шарами на соответствующих рисунках фиг. 2. Таким образом, в отличие от фиг. 1, шаблоны фиг. 2 полные. Подобно множителям ${{\gamma }_{j}}$ веса ${{w}_{j}}$ подчинены условию ${{w}_{1}} + {{w}_{2}} + {{w}_{3}} + {{w}_{4}} = 1$ и также не обязаны быть положительными.
Все рассмотренные шаблоны на фиг. 1 и 2 не выходят за пределы 27-точечного параллелепипеда. Соответственно шаблон оператора ${{L}^{{(h)}}}$ также получается 27-точечным.
3. ДИСПЕРСИОННАЯ ОШИБКА
Для дальнейшего нам понадобятся выражения для символов операторов, определяемых шаблонами фиг. 1 и фиг. 2. Для их получения мы действуем соответствующим разностным оператором на сеточную плоскую волну
(3.1)
$\begin{gathered} \, \times \;\frac{{cos2\pi p{{s}_{1}}\tfrac{{{{\xi }_{1}}}}{{{\text{|}}\xi {\text{|}}}} + cos2\pi p{{s}_{3}}\tfrac{{{{\xi }_{3}}}}{{{\text{|}}\xi {\text{|}}}}}}{2}\left. { + \frac{{si{{n}^{2}}\pi p{{s}_{3}}\tfrac{{{{\xi }_{3}}}}{{{\text{|}}\xi {\text{|}}}}}}{{s_{3}^{2}}}\frac{{cos2\pi p{{s}_{1}}\tfrac{{{{\xi }_{1}}}}{{{\text{|}}\xi {\text{|}}}} + cos2\pi p{{s}_{2}}\tfrac{{{{\xi }_{2}}}}{{{\text{|}}\xi {\text{|}}}}}}{2}} \right), \\ \\ \end{gathered} $Символ оператора ${{M}^{{(h)}}}$ является линейной комбинацией
(3.2)
${{S}_{{{{M}^{{(h)}}}}}}(\xi ;p;w) = {{w}_{1}}{{S}_{{{{M}^{{(1,h)}}}}}}(\xi ;p) + {{w}_{2}}{{S}_{{{{M}^{{(2,h)}}}}}}(\xi ;p) + {{w}_{3}}{{S}_{{{{M}^{{(3,h)}}}}}}(\xi ;p) + {{w}_{4}}{{S}_{{{{M}^{{(4,h)}}}}}}(\xi ;p)$Дисперсионное соотношение для оператора ${{L}^{{(h)}}}$ принимает вид
(3.3)
${{S}_{{{{\Delta }^{h}}}}}(\xi ;p;\gamma ) + \frac{{{{\omega }^{2}}}}{{{{c}^{2}}}}{{S}_{{{{M}^{{(h)}}}}}}(\xi ;p;w) = 0.$(3.4)
$e(\xi ;p;\gamma ;w) = \frac{1}{{\pi p}}\sqrt {\frac{{{{\gamma }_{1}}{{S}_{{{{\Delta }^{{(1,h)}}}}}} + {{\gamma }_{2}}{{S}_{{{{\Delta }^{{(2,h)}}}}}} + {{\gamma }_{3}}{{S}_{{{{\Delta }^{{(3,h)}}}}}}}}{{{{w}_{1}}{{S}_{{{{M}^{{(1,h)}}}}}} + {{w}_{2}}{{S}_{{{{M}^{{(2,h)}}}}}} + {{w}_{3}}{{S}_{{{{M}^{{(3,h)}}}}}} + {{w}_{4}}{{S}_{{{{M}^{{(4,h)}}}}}}}}} - 1.$Формула (3.4) дает выражение для дисперсионной ошибки плоской волны, распространяющейся в направлении вектора $\xi $ и для выбранного значения параметра $p$. Используем равномерную метрику по параметрам $p$, $\xi $ для того, чтобы получить функцию
Оптимальные значения весов отыскиваются как решение задачиВ [5] вместо (3.5) используется функция
4. ВЫЧИСЛЕНИЕ ФУНКЦИИ $J(\gamma ,w)$
Графики дисперсионной ошибки, как функции сферических углов $\phi ,\;\theta $, параметризующих сферу ${\text{|}}\xi {\text{|}} = 1$, изображены на фиг. 3 для двух наборов весовых параметров. Видно, что дисперсионная ошибка кусочно-гладкая, имеет множество локальных максимумов и при значениях весов, близких к оптимальным, гладкость функции ухудшается.
Разрывы производных дисперсионной ошибки происходят в тех точках, где она равна нулю. Поэтому такого рода особенности не должны мешать поиску максимумов (3.5) градиентным методом.Чтобы избежать громоздких выкладок по вычислению частных производных функции (3.4) аналитически, мы считаем их численно. Для этого организуем процесс вычисления последовательности разностных отношений на уменьшающихся приращениях аргументов до стабилизации значений этих отношений. Очевидной платой за это является несущественное увеличение времени счета.
При применении градиентных методов, имея направление градиента, нужно еще определить величину шага. На текущем значении шага мы вычисляем следующую точку и значение целевой функции в ней. Если значение целевой функции оказалось меньше, чем в текущей точке, новая точка не принимается, длина шага делится пополам и процесс повторяется с уменьшающимися шагами до тех пор, пока не получится найти большее значение или шаг не станет совсем маленьким, и будет найдена стационарная точка. Если же значение оказалось больше, то точка принимается, текущий шаг удваивается, в новой точке вычисляется градиент и процесс повторяется. Удвоение шага предусмотрено для того, чтобы в результате каких-то не очень удачных шагов не случилось так, что процесс идет с очень мелким шагом. Для того, чтобы не выйти за границы области по $p$, в случае если $p$-компонента вектора перемещения велика, мы укорачиваем длину шага так, чтобы не слишком сильно приблизиться к границе. Следует также учесть периодичность функции дисперсионной ошибки от сферических углов, добиваясь того, что точка всегда находится на основной карте $0 \leqslant \theta \leqslant \pi ,$ $0 \leqslant \phi < 2\pi $.
Градиентный метод оптимизации останавливается в точках локальных максимумов. Для поиска глобального максимума, который требуется в (3.5), мы применяем рандомизацию. Мы $K$ раз стартуем градиентный метод, используя в качестве стартовых точек случайно выбранные точки. Для получения надежных результатов значение $K$ должно быть достаточно большим. Экспериментально выяснено, что $K = 20$ – недостаточно, $K = 80$ – уже достаточно. При малых значениях $K$ решение задачи минимизации по весам $\gamma ,w$ получается нестабильным.
5. СИМПЛЕКС-МЕТОД
Для удобства читателя в этом разделе мы кратко излагаем элементы алгоритма безградиентной минимизации из [12], впервые предложенного в [11].
Рассматривается задача минимизации без ограничений вещественно-значной непрерывной функции $f({\mathbf{x}}),\;{\mathbf{x}} \in {{R}^{n}}$. Решение задачи осуществляется путем построения невырожденных симплексов, сходящихся к точке локального минимума. На $k$-м шаге симплекс ${{\Delta }_{k}}$ задан своим $n + 1$ вершинами ${\mathbf{x}}_{1}^{{(k)}},{\mathbf{x}}_{2}^{{(k)}}, \ldots ,{\mathbf{x}}_{{n + 1}}^{{(k)}}$.
Каждый шаг начинается с упорядочивания вершин ${{\Delta }_{k}}$ так, чтобы
(5.1)
$f_{1}^{{(k)}} \leqslant f_{2}^{{(k)}} \leqslant \cdots \leqslant f_{n}^{{(k)}} \leqslant f_{{n + 1}}^{{(k)}}.$• ${{\Delta }_{{k + 1}}}$ и ${{\Delta }_{k}}$ имеют общую грань, образованную $n$ общими вершинами ${\mathbf{x}}_{1}^{{(k)}},{\mathbf{x}}_{2}^{k}, \ldots ,{\mathbf{x}}_{n}^{{(k)}}$;
• ${{\Delta }_{{k + 1}}}$ и ${{\Delta }_{k}}$ имеют одну общую вершину ${\mathbf{x}}_{1}^{{(k)}}$ (лучшая вершина в ${{\Delta }_{k}}$).
Оригинальный критерий остановки процесса, предлагаемый авторами, выглядит так
(5.2)
$\sqrt {\frac{{\sum\limits_{i = 1}^n {\mathop {\left[ {f({{{\mathbf{x}}}_{i}}) - f({\mathbf{\bar {x}}})} \right]}\nolimits^2 } }}{n}} < \eta ,$1. Среднеквадратичное уклонение значений функции в точках симплекса превышает установленный порог (см. (5.2)).
2. Отношение объема текущего симплекса к объему исходного симплекса превышает установленный порог.
3. Обусловленность матрицы, определяемой ребрами симплекса, выходящими из худшей вершины, не превышает установленный порог.
4. Число сделанных шагов не превосходит некоторого предела.
Точки, в которых симплекс-метод останавливается по нарушению первого условия, претендуют на то, чтобы быть стационарными точками функции $f({\mathbf{x}})$ (локальными минимумами). Для того, чтобы приблизиться к глобальному минимуму в процесс минимизации, мы включаем рандомизацию. Вновь найденная стационарная точка получает небольшое случайное возмущение, и процесс вновь стартует с новой начальной точки. После следующей остановки нужно сравнить значение целевой функции в новой стационарной точке с предыдущим значением.
Несмотря на огромную популярность симплекс-метода, его сходимость может вызывать нарекания (см., например, [13]).
5.1. Один шаг алгоритма Нелдера–Мида
В описании алгоритма используются несколько скалярных параметров $\rho ,\;\chi ,\;\gamma ,\;\sigma $. Универсальные рекомендованные (авторами) значения этих параметров:
Ниже в описаниях индекс $k$, обозначающий номер шага процесса, опущен. Как уже упоминалось выше, упорядочение вершин (5.1) предваряет работу с каждым симплексом.Основная операция, которая проделывается с каждым вновь построенным симплексом после упорядочивания его вершин, – это операция отражения наихудшей вершины. Под этим имеется в виду построение точки ${{{\mathbf{x}}}_{r}}$ по следующей формуле:
1. ${{f}_{1}} \leqslant {{f}_{r}} < {{f}_{n}}$.
Новый симплекс строится на точках ${{{\mathbf{x}}}_{1}},{{{\mathbf{x}}}_{2}}, \ldots ,{{{\mathbf{x}}}_{n}}$ и ${{{\mathbf{x}}}_{r}}$ (см. фиг. 4). Иначе говоря, точка ${{{\mathbf{x}}}_{r}}$ замещает точку ${{{\mathbf{x}}}_{{n + 1}}}$. Операция называется отражением.
2. ${{f}_{r}} < {{f}_{1}}$.
Вычислим точку ${{{\mathbf{x}}}_{e}}$ по формуле
3. ${{f}_{n}} \leqslant {{f}_{r}} < {{f}_{{n + 1}}}$.
Вычислить
4. ${{f}_{r}} \geqslant {{f}_{{n + 1}}}$.
Вычислить точку
5. Операция сжатие.
Вычислить точки ${{{\mathbf{v}}}_{i}} = \sigma ({{{\mathbf{x}}}_{i}} - {{{\mathbf{x}}}_{1}}),i = 2,3, \ldots ,n + 1$ (см. фиг. 8) и значения $f({{{\mathbf{v}}}_{i}})$ целевой функции в них. Неупорядоченный набор вершин нового симплекса – это точки ${{{\mathbf{x}}}_{1}},{{{\mathbf{v}}}_{2}}, \ldots ,{{{\mathbf{v}}}_{{n + 1}}}$.
6. ЧИСЛЕННЫЕ ПРИМЕРЫ
В нашем первом примере все шаги сетки одинаковы, интервал по $p$ от 0.01 до 0.2, что соответствует условию “пять и более точек на длину волны”. Стартовое значение весовых параметров $\gamma = (0.6401,0.3285,0.0314)$, $w = (0.5365,0.3276,0.2051, - 0.0692)$, дисперсионная ошибка в стартовой точке равна $1.67 \times {{10}^{{ - 3}}}$.
В процесс вычисления $J(\gamma ,w)$ мы включали рандомизацию, 80 раз ($K = 80$) стартуя градиентную максимизацию (по параметру $p$ и направлениям распространения плоской волны) дисперсионной ошибки. Включая рандомизацию в процесс минимизации $J(\gamma ,w)$, мы пять раз запускали симплекс-метод для того, чтобы минимизировать функцию $J(\gamma ,w)$. Как это описано в конце раздела, в качестве новой стартовой точки выбиралось некоторое случайное возмущение полученной стационарной точки. Результаты оптимизации представлены в пяти столбцах табл. 1. Значения в этой таблице приведены только с 8 значащими цифрами, но заметим, что в реальности весовые коэффициенты из разных столбцов совпадают с точностью до 16 знаков, значения целевой функции – с 10 знаками. Число шагов симплекс метода от стартовой до стационарной точки приведено в строке ${{n}_{{iter}}}$. В последней строке таблицы расположен номер критерия, по которому был остановлен симплекс метод. Во всех столбцах там располагается число 1, иначе говоря, процесс остановился в стационарной точке.
Таблица 1.
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
${{\gamma }_{1}}$ | 6.3762816e–01 | 6.3762816e–01 | 6.3762816e–01 | 6.3762816e–01 | 6.3762816e–01 |
${{\gamma }_{2}}$ | 3.4050224e–01 | 3.4050224e–01 | 3.4050224e–01 | 3.4050224e–01 | 3.4050224e–01 |
${{\gamma }_{3}}$ | 2.1869605e–02 | 2.1869605e–02 | 2.1869605e–02 | 2.1869605e–02 | 2.1869605e–02 |
${{w}_{1}}$ | 5.2994692e–01 | 5.2994692e–01 | 5.2994692e–01 | 5.2994692e–01 | 5.2994692e–01 |
${{w}_{2}}$ | 3.3065015e–01 | 3.3065015e–01 | 3.3065015e–01 | 3.3065015e–01 | 3.3065015e–01 |
${{w}_{2}}$ | 2.1411544e–01 | 2.1411544e–01 | 2.1411544e–01 | 2.1411544e–01 | 2.1411544e–01 |
${{w}_{4}}$ | –7.4712516e–02 | –7.4712516e–02 | –7.4712516e–02 | –7.4712516e–02 | –7.4712516e–02 |
$J$ | 9.8063059e–04 | 9.8063059e–04 | 9.8063059e–04 | 9.8063059e–04 | 9.8063059e–04 |
${{n}_{{iter}}}$ | 40 | 40 | 40 | 40 | 40 |
cond | 1 | 1 | 1 | 1 | 1 |
На фиг. 9 изображены 100 кривых дисперсионной ошибки в зависимости от параметра $p$, соответствующих 100 случайным векторам распространения плоских волн. Ошибка вычислялась для оптимизированной разностной схемы с весами из табл. 1. Легко видеть, что для разностных сеток с числом точек на длину волны, равным пяти и больше, дисперсионная ошибка не превосходит 0.1%.
Наш второй численный пример касается разностной сетки с отношением шагов $1:3:5$. мы стартовали оптимизацию с классической семиточечной схемы $\gamma = (1,0,0),w = (1,0,0,0)$, используя $K = 100$. Как и раньше, полученная точка выбиралась в качестве стартовой для следующего шага. Можно вновь заметить стабилизацию результатов.
Кривые дисперсионной ошибки в зависимости от параметра $p$ для оптимизированной разностной схемы с весами из пятого столбца табл. 2 представлены на фиг. 10. Кривые построены для 100 случайно сгенерированных направлений распространения плоской волны. Как следует из фиг. 10, для разностных сеток с числом точек на длину волны, равным пяти и больше, дисперсионная ошибка не превосходит 0.1%.
Таблица 2.
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
${{\gamma }_{1}}$ | 1.0552907e 00 | 1.0402967e 00 | 1.0438812e 00 | 1.0438812e 00 | 1.0438812e 00 |
${{\gamma }_{2}}$ | –4.8852983e–01 | –4.5898080e–01 | –4.6373782e–01 | –4.6373782e–01 | –4.6373782e–01 |
${{\gamma }_{3}}$ | 4.3323910e–01 | 4.1868406e–01 | 4.1985659e–01 | 4.1985659e–01 | 4.1985659e–01 |
${{w}_{1}}$ | 8.7931759e–01 | 8.7677602e–01 | 8.7668815e–01 | 8.7668815e–01 | 8.7668815e–01 |
${{w}_{2}}$ | –5.7656463e–01 | –5.7666694e–01 | –5.7621443e–01 | –5.7621443e–01 | –5.7621443e–01 |
${{w}_{3}}$ | 9.8042282e–01 | 9.8834169e–01 | 9.8769345e–01 | 9.8769345e–01 | 9.8769345e–01 |
${{w}_{4}}$ | 2.8317579e–01 | –2.8845077e–01 | –2.8816716e–01 | –2.8816716e–01 | –2.8816716e–01 |
$J$ | 1.0040185e–03 | 9.7661384e–04 | 9.7658910e–04 | 9.7658910e–04 | 9.7658910e–04 |
${{n}_{{iter}}}$ | 39 | 45 | 41 | 39 | 39 |
cond | 1 | 1 | 1 | 1 | 1 |
Кроме численной дисперсии, в решениях разностного уравнения также присутствует явление анизотропии, проиллюстрированное на фиг. 11. Дисперсионная ошибка оптимизированной схемы представлена в виде трехмерной поверхности, гомеоморфной сфере. Для ее получения соответствующий радиус-вектор был умножен на множитель $1 + a \cdot d$, где $d$ – дисперсионная ошибка в заданном направлении, $a$ – коэффициент растяжения. Для сравнения приведена также единичная сфера. Точки пересечения поверхности со сферой определяют направления с нулевой дисперсионной ошибкой, точки снаружи сферы соответствуют направлениям, для которых скорость распространения разностной плоской волны превышает истинную скорость звука. Соответственно точки внутри сферы относятся к направлениям, вдоль которых плоские разностные волны распространяются со скоростью, меньшей чем истинная скорость звука.
Список литературы
Pratt R.G., Worthington M.H. Inverse theory applied to multi-source cross-hole tomography. part 1: Acoustic wave-equation method // Geophys. Prospect. 1990. V. 38. № 3. P. 287–310.
Virieux J., Operto S., Ben-Hadj-Ali H., Brosssier R., Etienne V., Sourber F., Giraud L., Haidar A. Seismic wave modeling for seismic imaging // The Leading Edge 2009. V. 28. P. 538–544.
Belonosov M., Tcheverda V., Neklyudov D., Kostin V., Dmitriev M. 3D elastic frequency-domain iterative solver for full-waveform inversion // SEG Technical Program Expanded Abstracts 2016. Society of Exploration Geophysicists. P. 3825–3829.
Bakulin A., Dmitriev M., Kostin V., Solovyev S. Benchmarking 3D time- and frequency-domain solvers for FWI applications for different cluster sizes and variable number of sources // SEG Technical Program Expanded Abstracts 2018. Society of Exploration Geophysicists. P. 3888–3892.
Solovyev S., Vishnevsky D., Liu H. Multifrontal hierarchically semi-separable solver for 3D Helmholtz problem using 27-point finite-difference scheme // 77th EAGE Conference and Exhibition 2015.
Jo C.-H., Shin C., Suh J.H. An optimal 9-point, finite-difference, frequency-space, 2-D scalar wave extrapolator // Geophysics. 1996. V. 61. № 2. P. 529–537.
Singer I., Turkel E. High-order finite difference methods for the helmholtz equation // Comp. Method Appl. M. 1998. V. 163. № 1–4. P. 343–358.
Nabavi M., Siddiqui K., Dargahi J. A new 9-point sixth-order accurate compact finite-difference method for the helmholtz equation // J. Sound Vib. 2007. V. 307. № 3–5. P. 972–982.
Turkel E., Gordon D., Gordon R., Tsynkov S. Compact 2D and 3D sixth order schemes for the Helmholtz equation with variable wave number // J. Comp. Phys. 2013. V. 232. № 1. P. 272–287.
Stolk C.C. A dispersion minimizing scheme for the 3-D Helmholtz equation based on ray theory // J. Comp. Phys. 2016. V. 314. P. 618–646.
Nelder J.A., Mead R. A simplex method for function minimization // Comput. J. 1965. V. 7. № 4. P. 308–313.
Lagarias J.C., Reeds J.A., Wright M.H., Wright P.E. Convergence properties of the Nelder–Mead simplex method in low dimensions // SIAM J. Optimiz. 1998. V. 9. № 1. P. 112–147.
McKinnon K.I.M. Convergence of the Nelder–Mead simplex method to a nonstationary point // SIAM J. Optimiz. 1998. V. 9. № 1. P. 148–158.
Дополнительные материалы отсутствуют.
Инструменты
Журнал вычислительной математики и математической физики