commit c563304fc1b9e5e34d6e52b03f305ba120d6cf3d
parent bc7c9f3dda54e6e29ceaf0aed0e2453073de8314
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Thu, 3 Nov 2016 15:06:05 +0300
Sync before Sveta.
Diffstat:
2 files changed, 363 insertions(+), 9 deletions(-)
diff --git a/phd-diss-ru.org b/phd-diss-ru.org
@@ -16,6 +16,18 @@
\clearpage
#+end_latex
+# default export options
+#+begin_src emacs-lisp :exports none
+;; For the full list of options see
+;; http://orgmode.org/manual/Publishing-options.html
+;; move table/figure captions to the bottom
+(setq org-latex-caption-above nil)
+;; preserve original image width
+(setq org-latex-image-default-width nil)
+#+end_src
+
+#+RESULTS:
+
* Введение
**** Актуальность темы.
Программы, моделирующие воздействие морских волн на судно, плавучую платформу
@@ -261,7 +273,7 @@ $\zeta_z=k\zeta$, где $k$ --- волновое число. Формула я
\end{align*}
Уравнение предполагается решать численно путем сведения к разностному.
-Как будет показано в~\cref{sec:compare-formulae} формула~\eqref{eq:old-sol-2d}
+Как будет показано в [[#sec:compare-formulae]] формула eqref:eq:old-sol-2d
расходится при попытке вычислить поле скоростей для волн больших амплитуд, а
значит не может быть использована вместе с моделью ветрового волнения,
генерирующей волны произвольных амплитуд.
@@ -368,10 +380,316 @@ $\epsilon$:
коэффициентов ряда Грама---Шарлье не приводит к аналогичным ошибкам.
** Определение поля давлений под дискретно заданной взволнованной поверхностью
+Поиск аналитических решений граничных задач для классических уравнений часто
+связан с исследованием различных свойств решения, и для таких исследований
+запись формулы общего решения неудобна ввиду своей сложности и наличия
+интегралов от неизвестных функций. Одним из методов нахождения аналитических
+решений ДУЧП является метод Фурье. Основой метода служит преобразование Фурье,
+применение которого к любому ДУЧП позволяет свести его к алгебраическому, а его
+решение записывается как обратное преобразование Фурье от некоторой функции
+(которая часто содержит преобразования Фурье от других функций). Поскольку
+преобразования не всегда можно записать аналитически, то вместо этого ищутся
+частные решения задачи и анализируется их поведение в различных областях. В то
+же время, вычисление дискретных преобразований Фурье на компьютере не
+представляет сложности ввиду наличия многочисленного семейства алгоритмов БПФ.
+Эти алгоритмы используют симметрию для понижения асимптотической сложности с
+квадратичной $\mathcal{O}(n^2)$ до $\mathcal{O}(n \log_2 n)$. Таким образом,
+метод Фурье подходит для поиска аналитических частных решений ДУЧП, а общее
+решение, полученное этим методом, может стать основой для построения
+высокопроизводительных \emph{гибридных} методов решения ДУЧП, в которых
+преобразования Фурье от неизвестных функций производятся численно.
+
+Альтернативным подходом, который повсеместно применяется в решении ДУЧП,
+является сведение их к разностным уравнениям, решаемым с помощью построения
+различных численных схем. При этом решение получается приближенным, а сложность
+алгоритмов сопоставима со сложностью алгоритма БПФ. Например, стационарное
+эллиптическое уравнение в частных производных преобразуется в неявную разностную
+схему, решаемую итерационным методом, на каждом шаге которого ищется решение
+трехдиагональной или пятидиагональной СЛАУ методом прогонки (алгоритм Томаса).
+Асимптотическая сложность алгоритма составляет $\mathcal{O}(n m)$, где $n$ ---
+количество точек на сетке взволнованной поверхности, $m$ --- число итераций.
+
+С вычислительной точки зрения наличие большого количества преобразований Фурье в
+решении является преимуществом. Решения полученные с помощью метода Фурье явные,
+а значит хорошо масштабируются на большое количество параллельно работающих
+вычислительных ядер с использованием простейших приемов параллельного
+программирования. Эти преимущества обусловили выбор метода Фурье в качестве
+рабочего для получения явного аналитического решения задачи определения давлений
+под взволнованной морской поверхностью.
+
*** Двухмерное поле скоростей
:PROPERTIES:
:CUSTOM_ID: sec:pressure-2d
:END:
+**** Формула для жидкости бесконечной глубины.
+Задача Робена для уравнения Лапласа в двух измерениях записывается как
+\begin{align}
+ \label{eq:problem-2d}
+ & \phi_{xx}+\phi_{zz}=0,\\
+ & \zeta_t + \zeta_x\phi_x = \frac{\zeta_x}{\sqrt{1 + \zeta_x^2}} \phi_x - \phi_z, & \text{на }z=\zeta(x,t).\nonumber
+\end{align}
+Для ее решения воспользуемся методом Фурье. Возьмем преобразование Фурье от
+обоих частей уравнений Лапласа и получим
+\begin{equation*}
+ -4 \pi^2 \left( u^2 + v^2 \right)
+ \Fourier{\phi(x,z)}(u,v) = 0,
+\end{equation*}
+откуда имеем $v = \pm i u$. Здесь и далее будет использоваться следующая
+симметричная форма преобразования Фурье:
+\begin{equation*}
+ \Fourier{f(x,y)}(u,v) =
+ \iint\limits_{-\infty}^{\phantom{--}\infty}
+ f(x,y)
+ e^{-2\pi i (x u + y v)}
+ dx dy
+\end{equation*}
+Решение уравнения будем искать в виде обратного преобразования Фурье
+$\phi(x,z) = \InverseFourier{E(u,v)}(x,z)$. Применяя полученное равенство со знаком
+"+"\footnote{Выражение $v = - i u$ не подходит в данной задаче, поскольку
+потенциал скорости должен стремиться к нулю с увеличением глубины (с уменьшением
+$z$).}, решение можно переписать как
+\begin{equation}
+ \label{eq:guessed-sol-2d}
+ \phi(x,z) = \InverseFourier{e^{2\pi u z}E(u)}(x).
+\end{equation}
+Для того чтобы подстановка $z=\zeta(x,t)$ не помешала использованию
+преобразований Фурье в решении, перепишем eqref:eq:guessed-sol-2d в виде
+свертки:
+\begin{equation*}
+ \phi(x,z)
+ =
+ \Fun{z}
+ \ast
+ \InverseFourier{E(u)}(x),
+\end{equation*}
+где $\Fun{z}$ --- некоторая функция, вид которой будет определен в
+[[#sec:compute-delta]] и для которой выполняется соотношение
+$\Fourier{\Fun{z}}(u) = e^{2\pi u z}$. Подставляя выражение для
+$\phi$ в граничное условие, получим
+\begin{equation*}
+ \zeta_t
+ =
+ \left( i f(x) - 1 \right)
+ \left[
+ \Fun{z}
+ \ast
+ \InverseFourier{2\pi u E(u)}(x)
+ \right],
+\end{equation*}
+где $f(x) = {\zeta_x}/{\sqrt{1 + \zeta_x^2}} - \zeta_x$. Применяя преобразование
+Фурье к обеим частям, получаем выражение для коэффициентов $E$:
+\begin{equation*}
+ E(u) =
+ \frac{1}{2\pi u}
+ \frac{
+ \Fourier{\zeta_t / \left(i f(x) - 1\right)}(u)
+ }{
+ \Fourier{\Fun{z}}(u)
+ }
+\end{equation*}
+Выполняя подстановку $z=\zeta(x,t)$ и подставляя полученное выражение в
+eqref:eq:guessed-sol-2d, получаем окончательное выражение для $\phi(x,z)$:
+\begin{equation}
+ \label{eq:solution-2d}
+ \boxed{
+ \phi(x,z)
+ =
+ \InverseFourier{
+ \frac{e^{2\pi u z}}{2\pi u}
+ \frac{
+ \Fourier{ \zeta_t / \left(i f(x) - 1\right) }(u)
+ }{
+ \Fourier{ \Fun{\zeta(x,t)} }(u)
+ }
+ }(x).
+ }
+\end{equation}
+
+Множитель $e^{2\pi u z}/(2\pi u)$ делает график функции от которой берется
+обратное преобразования Фурье несимметричным относительно оси OY. Это затрудняет
+применение БПФ, поскольку оно требует периодичную функцию, которая на концах
+промежутка принимает нулевое значение. Реализация же этого обратного
+преобразования с помощью численного интегрирования не позволит получить
+преимущество над решением всей системы уравнений с помощью разностных схем.
+Решением проблемы является использование формулы eqref:eq:solution-2d-full для
+жидкости конечной глубины с заведомо большим значением глубины водоема $h$.
+
+**** Формула для жидкости конечной глубины.
+На дне водоема вертикальная составляющая скорости перемещения жидкости должна
+равняться нулю, т.е. $\phi_z=0$ на $z=-h$, где $h$ --- глубина водоема. В этом
+случае пренебречь равенством $v = -i u$, полученным из уравнения Лапласа,
+нельзя, и решение ищется в виде
+\begin{equation}
+ \phi(x,z)
+ =
+ \InverseFourier{
+ \left( C_1 e^{2\pi u z} + C_2 e^{-2\pi u z} \right)
+ E(u)
+ }(x).
+ \label{eq:guessed-sol-2d-full}
+\end{equation}
+Подставляя $\phi$ в условие на дне водоема, получим
+\begin{equation*}
+ C_1 e^{-2\pi u h} - C_2 e^{2\pi u h} = 0,
+\end{equation*}
+откуда имеем $C_1=\frac{1}{2} C e^{2\pi u h}$ и $C_2=-\frac{1}{2}C e^{-2\pi u
+h}$. Константа $C$ здесь произвольна, поскольку при подстановке станет частью
+неизвестных коэффициентов $E(u)$. Подставляя полученные выражения для $C_1$ и
+$C_2$ в eqref:eq:guessed-sol-2d-full, получаем выражение
+\begin{equation*}
+ \phi(x,z) = \InverseFourier{ \Sinh{2\pi u (z+h)} E(u) }(x).
+\end{equation*}
+Выполняя аналогичные предыдущему разделу операции, получаем окончательное
+выражение для $\phi(x,z)$:
+\begin{equation}
+\boxed{
+ \phi(x,z,t)
+ =
+ \InverseFourier{
+ \frac{\Sinh{2\pi u (z+h)}}{2\pi u}
+ \frac{
+ \Fourier{ \zeta_t / \left(i f(x) - 1\right) }(u)
+ }{
+ \Fourier{ \FunSecond{\zeta(x,t)} }(u)
+ }
+ }(x),
+}
+ \label{eq:solution-2d-full}
+\end{equation}
+где $\FunSecond{z}$ --- некоторая функция, вид которой будет определен в
+[[#sec:compute-delta]] и для которой выполняется соотношение
+$\Fourier{\FunSecond{z}}(u) = \Sinh{2\pi u z}$.
+
+**** Сведение к формулам линейной теории волн.
+Справедливость полученных формул проверим, подставив в качестве $\zeta(x,t)$
+известные аналитические выражения для плоских волн. Для вычисления
+преобразований Фурье символьно воспользуемся пакетом Mathematica
+cite:mathematica10. В линейной теории широко используется предположение о
+малости амплитуд волн, что позволяет упростить исходную систему уравнений
+eqref:eq:problem-2d до
+\begin{align*}
+ & \phi_{xx}+\phi_{zz}=0,\\
+ & \zeta_t = -\phi_z & \text{на }z=\zeta(x,t),
+\end{align*}
+решение которой запишется как
+\begin{equation*}
+ \phi(x,z,t)
+ =
+ -\InverseFourier{
+ \frac{e^{2\pi u z}}{2\pi u}
+ \Fourier{\zeta_t}(u)
+ }(x)
+ .
+\end{equation*}
+# Таким образом, в линейном случае потенциал скорости волн малых амплитуд равен
+# свертке производной по времени от функции, описывающей взволнованную
+# поверхность, с ... (TODO).
+
+\noindent Профиль прогрессивной волны описывается формулой
+$\zeta(x,t)=A\cos(2\pi (k x - t))$. Подстановка этого выражения в формулу для
+бесконечной глубины дает равенство $\phi(x,z,t)=-\frac{A}{k} \sin (2 \pi (k x -
+t)) \Sinh{2 \pi k z}$. Чтобы свести его к формуле линейной теории волн,
+необходимо представить гиперболический синус в экспоненциальной форме и
+отбросить член, содержащий $e^{-2\pi k z}$, как противоречащий условию
+$\phi\underset{z\rightarrow-\infty}{\longrightarrow}0$. После взятия
+действительной части выражения получится формула линейной теории $\phi(x,z,t) =
+\frac{A}{k} e^{2 \pi k z} \sin(2 \pi (k x - t))$. Аналогично, предположение о
+малости амплитуд волн позволяет упростить формулу eqref:eq:solution-2d-full до
+\begin{equation*}
+ \phi(x,z,t)
+ =
+ -\InverseFourier{
+ \frac{\Sinh{2\pi u (z+h)}}{2\pi u \Sinh{2\pi u h}}
+ \Fourier{\zeta_t}(u)
+ }(x).
+\end{equation*}
+Подстановка формулы для прогрессивной плоской волны в это выражение дает
+равенство
+\begin{equation}
+\label{eq:solution-2d-linear}
+\phi(x,z,t)=\frac{A}{k} \frac{\Sinh{2 \pi k (z+h)}}{ \Sinh{2 \pi k h} } \sin (2 \pi (k x-t)),
+\end{equation}
+что соответствует формуле линейной теории для конечной глубины.
+
+Различная запись решения уравнения Лапласа, в котором затухающая экспонента
+может встречаться как со знаком "+", так и со знаком "-", может стать
+причиной разницы в формуле, где вместо $\cosh$ будет использоваться $\sinh$.
+Выражение $\frac{\Sinh{2 \pi k (z+h)}}{ \Sinh{2 \pi k h} } \approx \frac{\cosh
+(2 \pi k (z+h))}{ \cosh (2 \pi k h) }$ превращается в строгое равенство на
+поверхности, и разница между правой левой частью увеличивается при приближении к
+дну водоема (для достаточно большой глубины ошибка вблизи поверхности жидкости
+незначительна), поэтому на практике для расчетов вблизи взволнованной поверности
+можно использовать любую из функций.
+
+Сведение формул eqref:eq:solution-2d и eqref:eq:solution-2d-full к формулам
+линейной теории волн показало, что формула eqref:eq:solution-2d не подходит для
+расчета потенциала на бесконечной глубине с использованием численных методов,
+т.к. не обладает необходимой для применения быстрого преобразования Фурье
+симметрией. Для такого случая можно использовать формулу для конечной глубины,
+полагая $h$ равным характерному значению глубины исследуемого водоема. Для
+стоячих волн сведение к формулам линейной теории происходит с аналогичными
+предположениями.
+*** Трехмерное поле скоростей
+В трех измерениях исходная система уравнений eqref:eq:problem переписывается как
+\begin{align}
+ \label{eq:problem-3d}
+ & \phi_xx + \phi_yy + \phi_zz = 0,\\
+ & \zeta_t + \zeta_x\phi_x + \zeta_y\phi_y
+ =
+ \frac{\zeta_x}{\sqrt{1 + \zeta_x^2}} \phi_x
+ +\frac{\zeta_y}{\sqrt{\vphantom{\zeta_x^2}\smash[b]{1 + \zeta_y^2}}} \phi_y
+ - \phi_z, & \text{на }z=\zeta(x,y,t).\nonumber
+\end{align}
+Для ее решения воспользуемся методом Фурье. Возьмем преобразование Фурье от
+обоих частей уравнений Лапласа и получим
+\begin{equation*}
+ -4 \pi^2 \left( u^2 + v^2 + w^2 \right)
+ \Fourier{\phi(x,y,z)}(u,v,w) = 0,
+\end{equation*}
+откуда имеем $w = \pm i \sqrt{u^2 + v^2}$. Решение уравнения будем искать в виде
+обратного преобразования Фурье $\phi(x,y,z) = \InverseFourier{E(u,v,w)}(x,y,z)$.
+Применяя полученное равенство, получаем
+\begin{equation*}
+ \phi(x,y,z) = \InverseFourier{
+ \left(
+ C_1 e^{2\pi \sqrt{u^2+v^2} z}
+ -C_2 e^{-2\pi \sqrt{u^2+v^2} z}
+ \right)
+ E(u,v)
+ }(x,y).
+\end{equation*}
+Подставляя $\phi$ в условие на дне водоема аналогично двухмерному случаю,
+получаем
+\begin{equation}
+ \label{eq:guessed-sol-3d}
+ \phi(x,y,z) = \InverseFourier{
+ \Sinh{2\pi \sqrt{u^2+v^2} (z+h)} E(u,v)
+ }(x,y).
+\end{equation}
+Подставляя выражение для $\phi$ в граничное условие, получим
+\begin{equation*}
+ \arraycolsep=1.4pt
+ \begin{array}{rl}
+ \zeta_t = & i f_1(x) \InverseFourier{2 \pi u \Sinh{2\pi \sqrt{u^2+v^2} (z+h)}E(u,v)}(x,y) \\
+ + & i f_2(x) \InverseFourier{2 \pi v \Sinh{2\pi \sqrt{u^2+v^2} (z+h)}E(u,v)}(x,y) \\
+ - & \InverseFourier{2 \pi \sqrt{u^2+v^2} \Sinh{2\pi \sqrt{u^2+v^2} (z+h)}E(u,v)}(x,y)
+ \end{array}
+\end{equation*}
+где $f_1(x,y) = {\zeta_x}/{\sqrt{1 + \zeta_x^2}} - \zeta_x$ и
+$f_2(x,y) = {\zeta_y}/{\sqrt{\vphantom{\zeta_x^2}\smash[b]{1 + \zeta_y^2}}} - \zeta_y$.
+Применяя преобразование Фурье к обеим частям, получаем выражение для коэффициентов $E$:
+\begin{equation*}
+ \arraycolsep=1.4pt
+ \begin{array}{rl}
+ \Fourier{\zeta_t}(u,v) = &
+ \Fourier{i f_1(x) \InverseFourier{2 \pi u \Sinh{2\pi \sqrt{u^2+v^2} (z+h)}}(x,y)}(u,v) E(u,v)\\
+ + & \Fourier{i f_2(x) \InverseFourier{2 \pi v \Sinh{2\pi \sqrt{u^2+v^2} (z+h)}}(x,y)}(u,v) E(u,v)\\
+ - & 2 \pi \sqrt{u^2+v^2} \Sinh{2\pi \sqrt{u^2+v^2} (z+h)} E(u,v)
+ \end{array}
+\end{equation*}
+Окончательное решение получается при подстановке выражения для $E(u,v)$
+в eqref:eq:guessed-sol-3d.
+
* Численные методы и результаты экспериментов
** Форма АКФ для разных волновых профилей
*** Два метода для определения формы АКФ
@@ -415,8 +733,8 @@ $\epsilon$:
$\gamma_2$ --- эксцесс, $f$ --- плотность распределения, $F$ --- функция
распределения. Согласно cite:рожков1990вероятностные для аппликат морских волн
значение асимметрии выбирается на интервале $0.1 \leq \gamma_1 \leq 0,52]$, а
-значение экцесса на интервале $0,1 \leq \gamma_2 \leq 0,7$. Вид плотности
-распределения при различных параметрах показан на~\cref{fig:skew-normal-1}.
+значение эксцесса на интервале $0,1 \leq \gamma_2 \leq 0,7$. Вид плотности
+распределения при различных параметрах показан на [[fig:skew-normal-1]].
#+begin_src gnuplot :exports none
set loadpath GPVAL_PWD."/gnuplot"
@@ -497,7 +815,8 @@ exit
значения аимметрии и эксцесса по отдельности --- оба значения регулируются
параметром $\alpha$. Преимущество данной формулы лишь в относительной простоте
вычисления: в некоторые программы и библиотеки математических функций встроена
-либо она сама, либо функция Оуэна и функция ошибки.
+либо она сама, либо функция Оуэна и функция ошибки. График функции для разных
+значений $\alpha$ представлен на рис. [[fig:skew-normal-2]].
#+name: fig:skew-normal-2
#+caption: Вид плотности распределения eqref:eq:skew-normal-2 волновых аппликат при различных значениях коэффициента асимметрии $\alpha$.
@@ -590,7 +909,8 @@ $\FunSecond{z}=\InverseFourier{\Sinh{2\pi u z}}(x)$, которые могут
в которых члены с $\zeta$ опускаются.
#+name: tab:delta-functions
-#+caption: Формулы вычисления функций $\Fun{z}$ и $\FunSecond{z}$ из \cref{sec:pressure-2d}, использующие нормировку для исключения неоднозначности определения дельта функции комплексного аргумента.
+#+caption: Формулы вычисления функций $\Fun{z}$ и $\FunSecond{z}$ из [[#sec:pressure-2d]], использующие нормировку для исключения неоднозначности определения дельта функции комплексного аргумента.
+#+attr_latex: :booktabs t
| Функция | Без нормировки | С нормировкой |
|-----------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------|
| $\Fun{z}$ | $\delta (x+i z)$ | $\frac{1}{2 h}\mathrm{sech}\left(\frac{\pi (x-i (h+z))}{2 h}\right)$ |
@@ -629,8 +949,8 @@ eqref:eq:solution-2d-full были исключены члены, которым
#+name: fig:potential-field-nonlinear
#+caption: Поле потенциала скорости прогрессивной волны $\zeta(x,y,t) = \cos(2\pi x - t/2)$. Поле, полученное по формуле eqref:eq:solution-2d-full (слева) и по формуле линейной теории волн (справа).
#+begin_figure
-[[file:graphics/pressure/potentil-5.eps]]
-[[file:graphics/pressure/potentil-6.eps]]
+[[file:graphics/pressure/potential-5.eps]]
+[[file:graphics/pressure/potential-6.eps]]
#+end_figure
**** Отличие от формул теории волн малой амплитуды.
@@ -691,7 +1011,6 @@ exit
[[file:build/high-amp-nocolor.eps]]
#+end_figure
-
*** TODO Нефизическая природа модели
* Высокопроизводительный программный комплекс для моделирования морского волнения
* Заключение
@@ -737,7 +1056,30 @@ exit
расчетов динамики морских объектов.
* Благодарности
-* Список литературы
+* Список сокращений и условных обозначений
+
+#+attr_latex: :booktabs t
+| Аббревиатура | Значение |
+|--------------+--------------------------------------------------|
+| процесс АРСС | процесс авторегрессии скользящего среднего |
+| ГПСЧ | генератор псевдослучайных чисел |
+| процесс АР | процесс авторегрессии |
+| процесс СС | процесс скользящего среднего |
+| АКФ | автоковариационная функция |
+| НБП | нелинейное безынерционное преобразование |
+| ГУ | граничное условие |
+| БПФ | быстрое преобразование Фурье |
+| ДУЧП | дифференциальное уравнение в частных производных |
+
+#+begin_latex
+\listoffigures
+\addcontentsline{toc}{section}{\listfigurename}
+\listoftables
+\addcontentsline{toc}{section}{\listtablename}
+\bibliographystyle{ugost2008}
+\bibliography{bib/refs.bib}
+#+end_latex
+
* TODO Список условных обозначений
* Приложение
** TODO Вывод формулы модели Лонге---Хиггинса
diff --git a/preamble.tex b/preamble.tex
@@ -26,3 +26,15 @@
% automatically find figures from build directory
\graphicspath{{build/}}
+
+% custom mathematical expressions
+\newcommand{\Var}[1]{\sigma_{#1}^2}
+\newcommand{\Fourier}[1]{\mathcal{F}\left\{#1\right\}}
+\newcommand{\InverseFourier}[1]{\mathcal{F}^{-1}\left\{#1\right\}}
+\newcommand{\Fun}[1]{\mathcal{D}_1\left(x,#1\right)}
+\newcommand{\FunSecond}[1]{\mathcal{D}_2\left(x,#1\right)}
+\newcommand{\FunThird}[1]{\mathcal{D}_2\left(x,#1\right)}
+\newcommand{\Sinh}[1]{\cosh\left(#1\right)}
+
+\newcommand{\FourierX}[3]{\mathcal{F}_{#2}\!\left\{#1\right\}\!\left(#3\right)}
+\newcommand{\InverseFourierX}[3]{\mathcal{F}^{-1}_{#2}\!\left\{#1\right\}\!\left(#3\right)}