arma-thesis

git clone https://git.igankevich.com/arma-thesis.git
Log | Files | Refs | LICENSE

commit c563304fc1b9e5e34d6e52b03f305ba120d6cf3d
parent bc7c9f3dda54e6e29ceaf0aed0e2453073de8314
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Thu,  3 Nov 2016 15:06:05 +0300

Sync before Sveta.

Diffstat:
phd-diss-ru.org | 360+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
preamble.tex | 12++++++++++++
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)}