arma-thesis

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

commit 1fe368f974f9f9f7bbf4214fdc3c62e2368823a3
parent e4d1fcc400df4d6f98a9f1c765128b77034c50f3
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Thu,  3 Nov 2016 10:26:00 +0300

Copy and edit velocity field verification.

Diffstat:
phd-diss-ru.org | 96++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 86 insertions(+), 10 deletions(-)

diff --git a/phd-diss-ru.org b/phd-diss-ru.org @@ -571,21 +571,22 @@ $2^{19937}-1$. Если предположить, что взволнованн :PROPERTIES: :CUSTOM_ID: sec:compute-delta :END: -В решениях двухмерной задачи~\eqref{eq:solution-2d} и eqref:eq:solution-2d-full + +В решениях двухмерной задачи eqref:eq:solution-2d и eqref:eq:solution-2d-full присутствуют функции $\Fun{z}=\InverseFourier{e^{2\pi u z}}(x)$ и $\FunSecond{z}=\InverseFourier{\Sinh{2\pi u z}}(x)$, которые могут быть представлены аналитически различными выражениями, представляющими сложность для вычислений на компьютере. Каждая из функций является преобразованием Фурье от линейной комбинации экспонент, которое для таких функций определено неоднозначно -(см.~\ref{tab:delta-functions}). Для получения однозначного аналитического -выражения можно воспользоваться нормировкой $1/\Sinh{2 \pi u h}$, которая также -должна быть включена в выражение для коэффициентов $E(u)$. Численные -эксперименты показали, что нормировка хоть и позволяет получить решение с -адекватными величинами потенциалов скорости, но оно мало отличается от выражений -из линейной теории волн, в которых члены с $\zeta$ опускаются. +(см. [[tab:delta-functions]]). Для получения однозначного аналитического выражения +можно воспользоваться нормировкой $1/\Sinh{2 \pi u h}$, которая также включается +в выражение для коэффициентов $E(u)$. Численные эксперименты показывают, что +нормировка хоть и позволяет получить решение с адекватными величинами +потенциалов скорости, оно мало отличается от выражений из линейной теории волн, +в которых члены с $\zeta$ опускаются. #+name: tab:delta-functions -#+caption: Формулы вычисления функций $\Fun{z}$ и $\FunSecond{z}$ из~\cref{sec:pressure-2d}, использующие нормировку для исключения неоднозначности определения дельта функции комплексного аргумента. +#+caption: Формулы вычисления функций $\Fun{z}$ и $\FunSecond{z}$ из \cref{sec:pressure-2d}, использующие нормировку для исключения неоднозначности определения дельта функции комплексного аргумента. | Функция | Без нормировки | С нормировкой | |-----------------+------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------| | $\Fun{z}$ | $\delta (x+i z)$ | $\frac{1}{2 h}\mathrm{sech}\left(\frac{\pi (x-i (h+z))}{2 h}\right)$ | @@ -595,16 +596,91 @@ $\FunSecond{z}=\InverseFourier{\Sinh{2\pi u z}}(x)$, которые могут *** Методика постановки численных экспериментов *** Верификация интегральных характеристик взволнованной поверхности *** Верификация полей потенциалов скоростей -Сравнение полученных общих формул~\eqref{eq:solution-2d} и +:PROPERTIES: +:CUSTOM_ID: sec:compare-formulae +:END: +Сравнение полученных общих формул eqref:eq:solution-2d и eqref:eq:solution-2d-full с известными формулами линейной теории волн позволяет оценить различие между полями скоростей для волн как больших, так и малых амплитуд. В общем случае получить аналитическое выражение даже для плоских волн не представляется возможным, поэтому сравнение производится численно. Имея ввиду -выводы предыдущего раздела, сравниваются только формулы для случая конечной +выводы раздела [[sec:pressure-2d]], сравниваются только формулы для случая конечной глубины. **** Отличие от формул линейной теории. +В ходе численного эксперимента результаты, полученные по формуле +eqref:eq:solution-2d-full для конечной глубины были сопоставлены с результатами, +полученными по соответсвующей формуле eqref:eq:solution-2d-linear линейной +теории, и проверка показала качественные различия в получившихся полях +потенциалов скоростей (см. [[fig:potential-field-nonlinear]]). Во-первых, +потенциальные линии имеют вид затухающей синусоиды, что отличается от овальной +формы, описываемой в линейой теории волн. Во-вторых, по мере приближения к дну +водоема потенциал гораздо быстрее затухает, чем описывается в линейной теории, а +область, где сконцентрирована большая часть энергии волны, еще больше приближена +к ее гребню. Аналогичный численный эксперимент, в котором из формулы +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 (слева) и по формуле линейной теории волн (справа). +[[graphics/pressure/potentil-5.eps]] +[[graphics/pressure/potentil-6.eps]] + **** Отличие от формул теории волн малой амплитуды. +В ходе численного эксперимента результаты, полученные по формуле +eqref:eq:solution-2d-full были сопоставлены с результатами, полученными по +формуле для волн малой амплитуды eqref:eq:old-sol-2d, и проверка показала +схожесть полей скоростей, вычисленных этими методами. Для определения скоростей +использовалась реализации морской поверхности, построенные по авторегрессионной +модели и различающиеся амплитудой волн. При этом интегрирование в формуле +eqref:eq:solution-2d-full велось по соответствующему сгенерированной морской +поверхности интервал волновых чисел. Эксперименты проводились для волн разных +амплитуд, и для волн малой амплитуды оба метода показывают сопоставимые +результаты, в то время как для волн высоких амплитуд стабильное поле скоростей +дает только формула eqref:eq:solution-2d-full (см. [[fig:velocity-field-2d]]). Таким +образом, полученная формула показывает удовлетворительные результаты для +различных морских поверхностей, не вводя ограничения на величины амплитуд волн. + +#+begin_src gnuplot :exports none +set loadpath GPVAL_PWD."/gnuplot" GPVAL_PWD."/data/velocity" +system "mkdir -p build" +cd "build" + +set terminal svg size 320, 200 font "Open Sans Regular, 12" linewidth 1 enhanced rounded dashed + +load 'linestyle.gnuplot' + +unset border +set border 3 +set xtics nomirror out offset 0,0.5 +set ytics nomirror out offset 0.5,0 + +set xrange [0:90] +set yrange [-2:4] +set xtics 0,30 +set ytics -2,2,4 +set xlabel 'x' offset 0,1 +set ylabel 'u(x)' offset 1.75,0 + +set output 'high-amp-nocolor.svg' +plot 'high-amp' title 'u_1(x)' ls 1 smooth csplines, \ + 'high-amp-0' title 'u_2(x)' ls 2 smooth csplines +system "inkscape --without-gui --export-eps=high-amp-nocolor.eps high-amp-nocolor.svg + +set output 'low-amp-nocolor.svg' +plot 'low-amp' title 'u_1(x)' ls 1 smooth csplines, \ + 'low-amp-0' title 'u_2(x)' ls 2 smooth csplines +system "inkscape --without-gui --export-eps=low-amp-nocolor.eps low-amp-nocolor.svg + +exit +#+end_src + +#+name: fig:velocity-field-2d +#+caption: Сравнение полей скоростей на поверхности моря, полученных по общей формуле ($u_1$) и формуле для волн малой амплитуды ($u_2$). Поле скоростей для поверхности волн малой амплитуды (слева) и большой амплитуды (справа). +[[build/low-amp-nocolor.eps]] +[[build/high-amp-nocolor.eps]] + *** TODO Нефизическая природа модели * Высокопроизводительный программный комплекс для моделирования морского волнения * Заключение