commit db69bb3fccdf5982a557531c93f8ff36cf9bdfa7
parent 8ddfe57c47f749a0dd4a1811ad294f727363b09e
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Sat, 23 Jun 2018 11:26:31 +0300
Make targets language-specific.
Diffstat:
9 files changed, 1679 insertions(+), 1621 deletions(-)
diff --git a/Makefile b/Makefile
@@ -1,9 +1,12 @@
-PHD_RU = arma-thesis-ru
-PHD_EN = arma-thesis
-SLIDES = arma-slides
-SLIDES_WITH_NOTES = $(SLIDES)-with-notes
-REVIEW = arma-review
-FLAGS = -interaction=nonstopmode \
+THESIS_RU = arma-thesis-ru
+THESIS_EN = arma-thesis
+SLIDES_RU = arma-slides-ru
+NOTES_RU = arma-notes-ru
+REVIEW_RU = arma-review-ru
+ABSTRACT_RU = arma-abstract-ru
+
+FLAGS = \
+ -interaction=nonstopmode \
-output-directory=build \
-pdf \
-xelatex \
@@ -12,45 +15,51 @@ FLAGS = -interaction=nonstopmode \
export TEXINPUTS=$(PWD)//:
-all: build/$(PHD_RU).pdf build/$(PHD_EN).pdf build/$(SLIDES).pdf build/$(SLIDES_WITH_NOTES).pdf
+all: build build/$(THESIS_RU).pdf build/$(THESIS_EN).pdf build/$(SLIDES_RU).pdf build/$(NOTES_RU).pdf
+
+build/$(THESIS_RU).pdf: build/$(THESIS_RU).tex preamble.tex bib/*
+ -latexmk $(FLAGS) -f $<
-build/$(PHD_RU).pdf: $(PHD_RU).tex preamble.tex bib/*
- latexmk $(FLAGS) -f $(PHD_RU).tex
- true
+build/$(THESIS_EN).pdf: build/$(THESIS_EN).tex preamble.tex bib/*
+ -latexmk $(FLAGS) -f $<
-build/$(PHD_EN).pdf: $(PHD_EN).tex preamble.tex bib/*
- latexmk $(FLAGS) -f $(PHD_EN).tex
- true
+build/$(SLIDES_RU).pdf: build/$(SLIDES_RU).tex slides-preamble.tex math.tex fonts.tex org.tex
+ -latexmk $(FLAGS) -f $<
-build/$(SLIDES).pdf: $(SLIDES).tex slides-preamble.tex math.tex
- latexmk $(FLAGS) -f $(SLIDES).tex
- true
+build/$(NOTES_RU).pdf: build/$(NOTES_RU).tex build/$(SLIDES_RU).pdf slides-preamble.tex math.tex fonts.tex
+ -latexmk $(FLAGS) -f $<
-build/$(SLIDES_WITH_NOTES).pdf: $(SLIDES_WITH_NOTES).tex slides-preamble.tex math.tex
- latexmk $(FLAGS) -f $(SLIDES_WITH_NOTES).tex
- true
+build/$(REVIEW_RU).pdf: build/$(REVIEW_RU).tex preamble.tex math.tex fonts.tex
+ -latexmk $(FLAGS) -f $<
-build/$(REVIEW).pdf: $(REVIEW).tex preamble.tex math.tex fonts.tex
- latexmk $(FLAGS) -f $(REVIEW).tex
- true
+build/$(ABSTRACT_RU).odt: $(ABSTRACT_RU).org
+ org export $< odt
+ mv -v $(ABSTRACT_RU).odt build/$(ABSTRACT_RU).odt
-$(PHD_EN).tex: $(PHD_EN).org
+build/$(THESIS_EN).tex: $(THESIS_EN).org
org export $< latex
-$(PHD_RU).tex: $(PHD_RU).org
+build/$(THESIS_RU).tex: $(THESIS_RU).org
org export $< latex
-$(SLIDES).tex: $(SLIDES).org
+build/$(SLIDES_RU).tex: $(SLIDES_RU).org
org export $< beamer
-$(REVIEW).tex: $(REVIEW).org
+build/$(REVIEW_RU).tex: $(REVIEW_RU).org
org export $< latex
-$(SLIDES_WITH_NOTES).tex: $(SLIDES).tex
- sed -r -e 's/\\documentclass\[(.*)\]\{(.*)\}/\\documentclass[\1]{article}\\usepackage[\1]{beamerarticle}\\include{fonts}/g' < $< > $@
+build/$(NOTES_RU).tex: build/$(SLIDES_RU).tex
+ sed -r -e 's/\\documentclass\[(.*)\]\{(.*)\}/\\documentclass[\1]{article}\\usepackage{beamerarticle}\\include{fonts}/g' < $< > $@
#sed -r -e 's/\\documentclass\[(.*)\]\{(.*)\}/\\documentclass[\1,notes]{\2}/g' < $< > $@
clean:
- rm -f build/$(PHD_EN)*
- rm -f build/$(PHD_RU)*
- rm -f build/$(SLIDES)*
+ rm -f build/$(THESIS_EN)*
+ rm -f build/$(THESIS_RU)*
+ rm -f build/$(SLIDES_RU)*
+ rm -f build/$(NOTES_RU)*
+ rm -f build/$(REVIEW_RU)*
+
+build:
+ @mkdir -p build
+
+.PHONY: clean all build
diff --git a/arma-abstract-ru.org b/arma-abstract-ru.org
@@ -0,0 +1,45 @@
+#+title: ГАНКЕВИЧ ИВАН ГЕННАДЬЕВИЧ
+#+subtitle: Тема диссертации: “Имитационное моделирование нерегулярного волнения для программ динамики морских объектов”
+#+language: ru
+#+options: toc:nil author:nil date:nil
+
+* РЕФЕРАТ ДИССЕРТАЦИИ
+
+Программы, моделирующие поведение судна на морских волнах, широко применяются
+для расчета качки судна, оценки величины воздействия внешних сил на плавучую
+платформу или другой морской объект, а также для оценки вероятности
+опрокидывания судна при заданных погодных условиях; однако, большинство из них
+используют линейную теорию для моделирования морского волнения, в рамках которой
+сложно воспроизвести определенные особенности ветро-волнового климата. Цель
+данного исследования заключается в изучении и разработке математических моделей
+и численных методов, которые бы позволили выйти за рамки линейной теории волн в
+задаче имитационного моделирования морского волнения и стать альтернативами
+моделям и методам, основанных на этой теории. В рамках данного исследования была
+разработана трехмерная имитационная математическая модель морского волнения на
+основе статистической модели авторегрессии скользящего среднего, метод
+вычисления поля давлений под взволнованной морской поверхностью на основе
+решения уравнений для несжимаемой невязкой жидкости методом Фурье и программный
+комплекс, реализующий модель и метод, для систем с общей и распределенной
+памятью. Разработанные средства позволяют моделировать волны произвольных
+амплитуд и профилей и определять величину их воздействия на морские объекты, а
+программный комплекс является основой для построения виртуального
+полигона\nbsp{}--- универсального инструмента моделирования поведения морских
+объектов в открытом океане.
+
+* КОДЫ ГРНТИ
+
+27.31.44 Краевые задачи. Общая теория\\
+27.35.21 Математические модели гидродинамики\\
+27.41.19 Численные методы решения дифференциальных и интегральных уравнений\\
+27.43.51 Применение теоретико-вероятностных и статистических методов\\
+29.17.19 Жидкости\\
+37.25.21 Ветровые, длинные неприливные и внутренние волны\\
+50.41.25 Прикладное программное обеспечение
+
+* КЛЮЧЕВЫЕ СЛОВА
+
+авторегрессия, скользящее среднее, быстрое преобразование Фурье, потенциальное
+течение, метод Фурье, имитационное моделирование, нерегулярное волнение,
+стохастический процесс, взволнованная поверхность, поле потенциала скорости,
+поле давлений, линейная теория волн, теория волн малой амплитуды
+
diff --git a/arma-review-ru.org b/arma-review-ru.org
@@ -0,0 +1,248 @@
+#+title: Ответы на вопросы рецензентов диссертации “Имитационное моделирование нерегулярного волнения для программ динамики морских объектов”
+#+language: ru
+#+options: num:nil toc:nil author:nil date:nil
+#+latex_header_extra: \input{preamble}
+
+* Овсянников Дмитрий Александрович
+
+#+begin_quote
+В формулах 18 и 24 потерян знаменатель в правой части уравнения, который,
+однако, присутствует в формуле из приложения 10.2.
+#+end_quote
+
+В формулах 18 и 24 действительно потерян знаменатель в правой части уравнения.
+Эта ошибка была замечена уже после сдачи работы. Тестирование программного
+комплекса с исправленной формулой не показало качественно новых результатов.
+
+#+begin_quote
+Так ли нужен знаменатель в этих формулах, содержащий квадраты пространственных
+производных, которые малы для океанских волн, поскольку их длина в несколько раз
+больше их высоты?
+#+end_quote
+
+Для океанских волн знаменатель увеличивает значения потенциала скорости ближе к
+гребню волны примерно на 20%. Хотя значения квадратов производных незначительны,
+они суммируются, что в итоге увеличивает значение потенциала. Форма поля
+скоростей при этом сохраняется (за исключением участков вблизи гребня).
+
+#+begin_quote
+Разница между выведенной в работе формулой для поля потенциала скорости и
+формулой из линейной теории волн показана на обыкновенных синусоидах, а не на
+морских волнах (рис. 7). На сколько велика разница в форме и магнитуде поля
+потенциала скорости для волн, соотношение высоты и длины которых соответствует
+реальным морским волнам?
+#+end_quote
+
+Для океанских волн знаменатель увеличивает значения потенциала скорости ближе к
+гребню волны примерно на 20%. Хотя значения квадратов производных незначительны,
+они суммируются, что в итоге увеличивает значение потенциала. Форма поля
+скоростей при этом сохраняется (за исключением участков вблизи гребня).
+
+* Кореньков Владимир Васильевич
+
+#+begin_quote
+Сформулированные во Введении "Положения, выносимые на защиту", более нигде в
+диссертации не упоминаюся и не совсем точно соответствуют выводам, приводимым в
+конце диссертации.
+#+end_quote
+
+Положения, выносимые на защиту, соответствуют основным главам диссертации.
+Развернутое описание по каждому из положений представлено в заключении.
+Неточное соответствие выводам объясняется тем, что в выводах описано то, что
+было сделано фактически, и как это можно применить на практике.
+
+#+begin_quote
+Анализ алгоритмов, систем планирования и обеспечения надежного функционирования
+параллельных приложений выполнен недостаточно глубоко.
+#+end_quote
+
+Действительно, в мире существует множество систем планирования, алгоритмов и
+систем обеспечения надежности. В данной работе множество систем обеспечения
+надежности сведено к двум системам: системы, которые основаны на контрольных
+точках восстановления (SLURM), и систем, основанные на выборочном перезапуске
+задач (Apache Spark, Hadoop), а алгоритмам планирования уделяется недостаточно
+внимания. Причиной этому служит узкая специализация разработанного планировщика
+задач: в данной работе он применяется только для задачи генерации взволнованной
+морской поверхности и вычисления поля давлений. Создание универсального
+планировщика, безусловно, потребует более тщательный анализ существующих систем
+и алгоритмов.
+
+* Константинос Спироу (Kostas Spyrou)
+
+#+begin_quote
+My understanding, although this is not completely clear from the text and I
+intend to have it clarified during the presentation, is that the AR model is
+basically a difference equation where a current property (e.g. wave elevation)
+at a given location is determined from information at a number of earlier time
+instants, with addition of a single stochastic impulse. In other words there is
+no space-related information involved in this scheme. On the other hand, the MA
+supplement of the ARMA model holds the spatial information (but not time) and
+for this reason it is vital for obtaining a progressing wave. If I understand
+correctly, the white noise of the MA model is handled through a convolution
+integral which the author suggests that it can be
+#+end_quote
+
+В данной работе обе модели используют все три координаты (две пространственные и
+одну временную). Авторегрессионная модель используется для генерации стоячих
+волн, а модель скользящего среднего --- для генерации прогрессивных. Комбинация
+моделей возможна в одномерном случае при условии пересчета коэффициентов по
+специальной формуле. Аналогичная формула для трехмерного случая мне не известна.
+Комбинацию можно провести и без формулы, но тогда характеристики на входе не
+будут соответствовать характеристикам на выходе. Термин "модель АРСС" в данной
+работе носит собирательный характер и включает в себя модель авторегрессии и
+модель скользящего среднего.
+
+#+begin_quote
+I would like to know how one can optimally select the required number of earlier
+points in time and in space, respectively for the AR and MA processes. Is there
+any rule that the author would suggest?
+#+end_quote
+
+Итеративный метод вычисления коэффициентов для трехмерной модели авторегрессии
+действительно существует, но не рассмотрен в данной работе. Метод на каждом шаге
+вычисляет значения коэффициентов и увеличивает размерность матрицы на единицу.
+Цикл завершается, когда дисперсия процесса достигает заданной с некоторой
+точностью. Метод использует структуру автоковариационной матрицы, чтобы не
+повторять одни и те же вычисления на каждом шаге, и может быть использован для
+автоматического определения порядка модели авторегрессии.
+
+Итеративный метод вычисления коэффициентов скользящего среднего мне не известен.
+
+Универсальным методом, который работает для обоих моделей, является вычислением
+заведомо большего количества коэффициентов и отбрасывания коэффициентов близких
+к нулю и находящихся на правой границе многомерного массива коэффициентов.
+
+#+begin_quote
+The 3d formulation of the governing equations of the ARMA model are given in
+section 3.2. However the author is advised to provide more explanations on how
+this model works computationally. For example, the impression is created that
+the AR model uses space-related information too. It is essential to explain what
+exactly has been implemented and verified.
+#+end_quote
+
+В данной работе обе модели используют все три координаты (две пространственные и
+одну временную).
+
+В работе верифицированы распределения подъема поверхности, высоты, периода и
+длины волн. Для модели авторегрессии верифицируются характеристики стоячих
+нерегулярных плоских волн. Для модели скользящего среднего верифицируются
+характеристики прогрессивных нерегулярных плоских волн.
+
+#+begin_quote
+The use of the non-linear intertialess tansform (NIT) is invoked in the
+paragraph with header “scientific novelty” (page 150) without any introduction
+justifying the use of this technique.
+#+end_quote
+
+Нелинейное безынерционные преобразование (НБП) основано на том, что
+распределение подъемов реальной взволнованной морской поверхности имеет
+ненулевую асимметрию и эксцесс. Этот факт описан в книге Рожкова "Теория
+вероятностей случайных событий, величин и функций с гидрометеорологическими
+примерами". Ненулевой эксцесс и асимметрия можно моделировать напрямую, подавая
+на вход модели автоковариационную функцию неплоской волны.
+
+#+begin_quote
+The calculation of the AR and MA processes coefficients (pages 157 to 162) is
+presented in an algorithmic manner, the reader cannot see the logic behind these
+computations. Some further explanations should be added, perhaps in an appendix.
+#+end_quote
+
+Алгоритмы вычисления коэффициентов АР и СС описаны в книге Бокса и Дженкинса
+"Анализ и прогнозирование временных рядов". Формулы для обоих алгоритмов
+выводятся путем домножения основного уравнения на дисперсию процесса и взятия
+математического ожидания от обоих частей уравнения.
+
+#+begin_quote
+Due to the stochastic nature of the ARMA scheme, one-to-one comparison with a
+Longuet-Higgins deterministic wave realization, or indeed with a real wave
+produced in a tank, seems not possible. It will be good if the author could
+commend further on how his method could be validated in principle, beyond of
+course the level of producing waves that look realistic.
+#+end_quote
+
+Модель АРСС моделирует взволнованную морскую поверхность как единое целое. В
+связи с этим оценке поддаются только интегральные характеристики. Верификацию
+можно усилить с помощью записи четырехмерного поля подъемов поверхности с
+посредством датчиков, расставленных в открытом море в виде сетки. Затем для
+полученной поверхности вычисляется автоковариационная функция и генерируется
+аналогичная поверхность с помощью модели АРСС. После этого характеристики обоих
+поверхностей сопоставляются. Для проверки можно использовать статистики более
+высокого порядка, например, условное распределения высот волн в зависимости от
+их периодов и длин.
+
+* Котина Елена Дмитриевна
+
+#+begin_quote
+[...] в работе говорится о том, что модель АРСС не основана на линейной теории
+волн, однако формулы автоковариционных функций выводятся только для синусоид.
+Возможно ли вычислить автоковариационную функцию для других волн, например для
+волны Стокса?
+#+end_quote
+
+Да, это возможно. Можно использовать автоковариационную функцию любого волнения,
+для которого можно записать потенциал скорости.
+
+* Сотникова Маргарита Викторовна
+
+#+begin_quote
+В тексте диссертации упоминаются источники литературы, однако нет единого обзора
+литературы.
+#+end_quote
+
+Обзор литературы приведен во вводных разделах основных глав диссертации (главы
+3--5). В каждом разделе рассматриваются слабо связанные друг с другом работы,
+поэтому было решено не объединять их в единую главу.
+
+#+begin_quote
+В работе отмечается, что для различных типов волн необходимо использовать
+различные варианты моделей. Так для стоячих волн предлагается использовать АР
+модель, а для прогрессивных волн – модель СС. Однако не обсуждается вопрос о
+том, насколько точно можно представить различные спектры морского волнения с
+помощью моделей АР и СС? То есть, каковы ограничения предлагаемого подхода к
+моделированию волнения?
+#+end_quote
+
+Модели авторегрессии (АР) и скользящего среднего (СС) воспроизводят
+взволнованную поверхность, автоковариационная функция которой соответствует
+автоковариационной функции, поданной на вход этих моделей. Теорема
+Винера---Хинчина устанавливает однозначное соответствие спектра и
+автоковариационной функции процесса, поэтому спектр на входе соответствует
+спектру на выходе.
+
+Выбор автоковариационных функций ограничен теми функциями, для которых модели АР
+и СС сходятся. Заранее определить сходимость невозможно, но экспериментально
+установлено, что модели сходятся для плоских волн и волн Стокса.
+
+#+begin_quote
+В работе предлагается порядки АРСС модели (количество коэффициентов процесса
+скользящего среднего и процесса авторегрессии) выбирать вручную. Представляется
+возможным рассмотрение вариантов оптимизационных постановок задач, позволяющих
+автоматически находить указанные параметры, например, приближая заданные
+спектральные характеристики волнения.
+#+end_quote
+
+Итеративный метод вычисления коэффициентов для трехмерной модели авторегрессии
+действительно существует, но не рассмотрен в данной работе. Метод на каждом шаге
+вычисляет значения коэффициентов и увеличивает размерность матрицы на единицу.
+Цикл завершается, когда дисперсия процесса достигает заданной с некоторой
+точностью. Метод использует структуру автоковариационной матрицы, чтобы не
+повторять одни и те же вычисления на каждом шаге, и может быть использован для
+автоматического определения порядка модели авторегрессии.
+
+Итеративный метод вычисления коэффициентов скользящего среднего мне не известен.
+
+Универсальным методом, который работает для обоих моделей, является вычислением
+заведомо большего количества коэффициентов и отбрасывания коэффициентов близких
+к нулю и находящихся на правой границе многомерного массива коэффициентов.
+
+#+begin_quote
+В работе рассматриваются модели АР и СС для моделирования морского волнения.
+Однако, естественно, что более точное представление можно было бы получить,
+используя АРСС модель. Исследование данных вопросов представляется значимым для
+повышения адекватности разрабатываемых моделей реальным процессам.
+#+end_quote
+
+Метод пересчета значений коэффициентов, который необходим для соответствия
+автоковариационной функции результирующей взволнованной поверхности заданной,
+описан Боксом и Дженкинсом только для одномерной модели АРСС. Обобщение данного
+метода является одним из направлений дальнейших исследований.
diff --git a/arma-review.org b/arma-review.org
@@ -1,248 +0,0 @@
-#+title: Ответы на вопросы рецензентов диссертации “Имитационное моделирование нерегулярного волнения для программ динамики морских объектов”
-#+language: ru
-#+options: num:nil toc:nil author:nil date:nil
-#+latex_header_extra: \input{preamble}
-
-* Овсянников Дмитрий Александрович
-
-#+begin_quote
-В формулах 18 и 24 потерян знаменатель в правой части уравнения, который,
-однако, присутствует в формуле из приложения 10.2.
-#+end_quote
-
-В формулах 18 и 24 действительно потерян знаменатель в правой части уравнения.
-Эта ошибка была замечена уже после сдачи работы. Тестирование программного
-комплекса с исправленной формулой не показало качественно новых результатов.
-
-#+begin_quote
-Так ли нужен знаменатель в этих формулах, содержащий квадраты пространственных
-производных, которые малы для океанских волн, поскольку их длина в несколько раз
-больше их высоты?
-#+end_quote
-
-Для океанских волн знаменатель увеличивает значения потенциала скорости ближе к
-гребню волны примерно на 20%. Хотя значения квадратов производных незначительны,
-они суммируются, что в итоге увеличивает значение потенциала. Форма поля
-скоростей при этом сохраняется (за исключением участков вблизи гребня).
-
-#+begin_quote
-Разница между выведенной в работе формулой для поля потенциала скорости и
-формулой из линейной теории волн показана на обыкновенных синусоидах, а не на
-морских волнах (рис. 7). На сколько велика разница в форме и магнитуде поля
-потенциала скорости для волн, соотношение высоты и длины которых соответствует
-реальным морским волнам?
-#+end_quote
-
-Для океанских волн знаменатель увеличивает значения потенциала скорости ближе к
-гребню волны примерно на 20%. Хотя значения квадратов производных незначительны,
-они суммируются, что в итоге увеличивает значение потенциала. Форма поля
-скоростей при этом сохраняется (за исключением участков вблизи гребня).
-
-* Кореньков Владимир Васильевич
-
-#+begin_quote
-Сформулированные во Введении "Положения, выносимые на защиту", более нигде в
-диссертации не упоминаюся и не совсем точно соответствуют выводам, приводимым в
-конце диссертации.
-#+end_quote
-
-Положения, выносимые на защиту, соответствуют основным главам диссертации.
-Развернутое описание по каждому из положений представлено в заключении.
-Неточное соответствие выводам объясняется тем, что в выводах описано то, что
-было сделано фактически, и как это можно применить на практике.
-
-#+begin_quote
-Анализ алгоритмов, систем планирования и обеспечения надежного функционирования
-параллельных приложений выполнен недостаточно глубоко.
-#+end_quote
-
-Действительно, в мире существует множество систем планирования, алгоритмов и
-систем обеспечения надежности. В данной работе множество систем обеспечения
-надежности сведено к двум системам: системы, которые основаны на контрольных
-точках восстановления (SLURM), и систем, основанные на выборочном перезапуске
-задач (Apache Spark, Hadoop), а алгоритмам планирования уделяется недостаточно
-внимания. Причиной этому служит узкая специализация разработанного планировщика
-задач: в данной работе он применяется только для задачи генерации взволнованной
-морской поверхности и вычисления поля давлений. Создание универсального
-планировщика, безусловно, потребует более тщательный анализ существующих систем
-и алгоритмов.
-
-* Константинос Спироу (Kostas Spyrou)
-
-#+begin_quote
-My understanding, although this is not completely clear from the text and I
-intend to have it clarified during the presentation, is that the AR model is
-basically a difference equation where a current property (e.g. wave elevation)
-at a given location is determined from information at a number of earlier time
-instants, with addition of a single stochastic impulse. In other words there is
-no space-related information involved in this scheme. On the other hand, the MA
-supplement of the ARMA model holds the spatial information (but not time) and
-for this reason it is vital for obtaining a progressing wave. If I understand
-correctly, the white noise of the MA model is handled through a convolution
-integral which the author suggests that it can be
-#+end_quote
-
-В данной работе обе модели используют все три координаты (две пространственные и
-одну временную). Авторегрессионная модель используется для генерации стоячих
-волн, а модель скользящего среднего --- для генерации прогрессивных. Комбинация
-моделей возможна в одномерном случае при условии пересчета коэффициентов по
-специальной формуле. Аналогичная формула для трехмерного случая мне не известна.
-Комбинацию можно провести и без формулы, но тогда характеристики на входе не
-будут соответствовать характеристикам на выходе. Термин "модель АРСС" в данной
-работе носит собирательный характер и включает в себя модель авторегрессии и
-модель скользящего среднего.
-
-#+begin_quote
-I would like to know how one can optimally select the required number of earlier
-points in time and in space, respectively for the AR and MA processes. Is there
-any rule that the author would suggest?
-#+end_quote
-
-Итеративный метод вычисления коэффициентов для трехмерной модели авторегрессии
-действительно существует, но не рассмотрен в данной работе. Метод на каждом шаге
-вычисляет значения коэффициентов и увеличивает размерность матрицы на единицу.
-Цикл завершается, когда дисперсия процесса достигает заданной с некоторой
-точностью. Метод использует структуру автоковариационной матрицы, чтобы не
-повторять одни и те же вычисления на каждом шаге, и может быть использован для
-автоматического определения порядка модели авторегрессии.
-
-Итеративный метод вычисления коэффициентов скользящего среднего мне не известен.
-
-Универсальным методом, который работает для обоих моделей, является вычислением
-заведомо большего количества коэффициентов и отбрасывания коэффициентов близких
-к нулю и находящихся на правой границе многомерного массива коэффициентов.
-
-#+begin_quote
-The 3d formulation of the governing equations of the ARMA model are given in
-section 3.2. However the author is advised to provide more explanations on how
-this model works computationally. For example, the impression is created that
-the AR model uses space-related information too. It is essential to explain what
-exactly has been implemented and verified.
-#+end_quote
-
-В данной работе обе модели используют все три координаты (две пространственные и
-одну временную).
-
-В работе верифицированы распределения подъема поверхности, высоты, периода и
-длины волн. Для модели авторегрессии верифицируются характеристики стоячих
-нерегулярных плоских волн. Для модели скользящего среднего верифицируются
-характеристики прогрессивных нерегулярных плоских волн.
-
-#+begin_quote
-The use of the non-linear intertialess tansform (NIT) is invoked in the
-paragraph with header “scientific novelty” (page 150) without any introduction
-justifying the use of this technique.
-#+end_quote
-
-Нелинейное безынерционные преобразование (НБП) основано на том, что
-распределение подъемов реальной взволнованной морской поверхности имеет
-ненулевую асимметрию и эксцесс. Этот факт описан в книге Рожкова "Теория
-вероятностей случайных событий, величин и функций с гидрометеорологическими
-примерами". Ненулевой эксцесс и асимметрия можно моделировать напрямую, подавая
-на вход модели автоковариационную функцию неплоской волны.
-
-#+begin_quote
-The calculation of the AR and MA processes coefficients (pages 157 to 162) is
-presented in an algorithmic manner, the reader cannot see the logic behind these
-computations. Some further explanations should be added, perhaps in an appendix.
-#+end_quote
-
-Алгоритмы вычисления коэффициентов АР и СС описаны в книге Бокса и Дженкинса
-"Анализ и прогнозирование временных рядов". Формулы для обоих алгоритмов
-выводятся путем домножения основного уравнения на дисперсию процесса и взятия
-математического ожидания от обоих частей уравнения.
-
-#+begin_quote
-Due to the stochastic nature of the ARMA scheme, one-to-one comparison with a
-Longuet-Higgins deterministic wave realization, or indeed with a real wave
-produced in a tank, seems not possible. It will be good if the author could
-commend further on how his method could be validated in principle, beyond of
-course the level of producing waves that look realistic.
-#+end_quote
-
-Модель АРСС моделирует взволнованную морскую поверхность как единое целое. В
-связи с этим оценке поддаются только интегральные характеристики. Верификацию
-можно усилить с помощью записи четырехмерного поля подъемов поверхности с
-посредством датчиков, расставленных в открытом море в виде сетки. Затем для
-полученной поверхности вычисляется автоковариационная функция и генерируется
-аналогичная поверхность с помощью модели АРСС. После этого характеристики обоих
-поверхностей сопоставляются. Для проверки можно использовать статистики более
-высокого порядка, например, условное распределения высот волн в зависимости от
-их периодов и длин.
-
-* Котина Елена Дмитриевна
-
-#+begin_quote
-[...] в работе говорится о том, что модель АРСС не основана на линейной теории
-волн, однако формулы автоковариционных функций выводятся только для синусоид.
-Возможно ли вычислить автоковариационную функцию для других волн, например для
-волны Стокса?
-#+end_quote
-
-Да, это возможно. Можно использовать автоковариационную функцию любого волнения,
-для которого можно записать потенциал скорости.
-
-* Сотникова Маргарита Викторовна
-
-#+begin_quote
-В тексте диссертации упоминаются источники литературы, однако нет единого обзора
-литературы.
-#+end_quote
-
-Обзор литературы приведен во вводных разделах основных глав диссертации (главы
-3--5). В каждом разделе рассматриваются слабо связанные друг с другом работы,
-поэтому было решено не объединять их в единую главу.
-
-#+begin_quote
-В работе отмечается, что для различных типов волн необходимо использовать
-различные варианты моделей. Так для стоячих волн предлагается использовать АР
-модель, а для прогрессивных волн – модель СС. Однако не обсуждается вопрос о
-том, насколько точно можно представить различные спектры морского волнения с
-помощью моделей АР и СС? То есть, каковы ограничения предлагаемого подхода к
-моделированию волнения?
-#+end_quote
-
-Модели авторегрессии (АР) и скользящего среднего (СС) воспроизводят
-взволнованную поверхность, автоковариационная функция которой соответствует
-автоковариационной функции, поданной на вход этих моделей. Теорема
-Винера---Хинчина устанавливает однозначное соответствие спектра и
-автоковариационной функции процесса, поэтому спектр на входе соответствует
-спектру на выходе.
-
-Выбор автоковариационных функций ограничен теми функциями, для которых модели АР
-и СС сходятся. Заранее определить сходимость невозможно, но экспериментально
-установлено, что модели сходятся для плоских волн и волн Стокса.
-
-#+begin_quote
-В работе предлагается порядки АРСС модели (количество коэффициентов процесса
-скользящего среднего и процесса авторегрессии) выбирать вручную. Представляется
-возможным рассмотрение вариантов оптимизационных постановок задач, позволяющих
-автоматически находить указанные параметры, например, приближая заданные
-спектральные характеристики волнения.
-#+end_quote
-
-Итеративный метод вычисления коэффициентов для трехмерной модели авторегрессии
-действительно существует, но не рассмотрен в данной работе. Метод на каждом шаге
-вычисляет значения коэффициентов и увеличивает размерность матрицы на единицу.
-Цикл завершается, когда дисперсия процесса достигает заданной с некоторой
-точностью. Метод использует структуру автоковариационной матрицы, чтобы не
-повторять одни и те же вычисления на каждом шаге, и может быть использован для
-автоматического определения порядка модели авторегрессии.
-
-Итеративный метод вычисления коэффициентов скользящего среднего мне не известен.
-
-Универсальным методом, который работает для обоих моделей, является вычислением
-заведомо большего количества коэффициентов и отбрасывания коэффициентов близких
-к нулю и находящихся на правой границе многомерного массива коэффициентов.
-
-#+begin_quote
-В работе рассматриваются модели АР и СС для моделирования морского волнения.
-Однако, естественно, что более точное представление можно было бы получить,
-используя АРСС модель. Исследование данных вопросов представляется значимым для
-повышения адекватности разрабатываемых моделей реальным процессам.
-#+end_quote
-
-Метод пересчета значений коэффициентов, который необходим для соответствия
-автоковариационной функции результирующей взволнованной поверхности заданной,
-описан Боксом и Дженкинсом только для одномерной модели АРСС. Обобщение данного
-метода является одним из направлений дальнейших исследований.
diff --git a/arma-slides-ru.org b/arma-slides-ru.org
@@ -0,0 +1,1341 @@
+#+TITLE: Имитационное моделирование нерегулярного волнения для программ динамики морских объектов
+#+AUTHOR: Иван Ганкевич
+#+DATE: Санкт-Петербург, 2018
+#+LANGUAGE: ru
+#+LATEX_CLASS: beamer
+#+LATEX_CLASS_OPTIONS: [14pt,aspectratio=169]
+#+LATEX_HEADER_EXTRA: \input{slides-preamble}
+#+BEAMER_THEME: SaintPetersburg
+#+OPTIONS: todo:nil title:nil ':t toc:nil H:2
+#+STARTUP: indent
+#+PROPERTY: header-args:R :results graphics :exports results
+
+#+begin_export latex
+\setbeamertemplate{title page}{%
+ \centering%
+ \vskip1cm\spbuInsertField{title}%
+ \ifx\insertsubtitle\empty\else%
+ \vskip0.5\baselineskip%
+ \spbuInsertField{subtitle}%
+ \fi%
+ \vfill\spbuInsertField{author}%
+ \vfill\spbuInsertField{institute}%
+ \vfill\inserttitlegraphic%
+ \vfill\spbuInsertField{date}%
+}
+\setbeamerfont{block title}{size=\small}
+\setbeamerfont{note page}{size=\footnotesize}
+\setjobnamebeamerversion{arma-slides}
+\mode*
+#+end_export
+
+* Введение
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+** Титульный лист
+:PROPERTIES:
+:BEAMER_env: fullframe
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-title}
+#+beamer: \maketitle
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-title}
+
+Здравствуйте, уважаемые члены совета, коллеги и гости. Меня зовут Иван Ганкевич.
+Моя диссертация посвящена имитационному моделированию морского волнения.
+Диссертация выполнена под руководством д.т.н.\nbsp{}Дегтярева Александра
+Борисовича.
+
+** Постановка задачи
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-problem}
+
+Разработать
+- трехмерную имитационную модель морского волнения,
+- метод вычисления поля давлений под взволнованной поверхностью,
+- программный комплекс для систем с общей и распределенной памятью,
+которые являются /альтернативами/ аналогам, разработанным в рамках
+линейной теории волн.
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-problem}
+
+Цель исследования заключалась в изучении и разработке математических моделей и
+численных методов, которые бы позволили выйти за рамки линейной теории волн в
+задаче имитационного моделирования морского волнения и стать альтернативами
+моделям и методам, основанных на этой теории.
+
+В рамках данного исследования была разработана
+- трехмерная имитационная математическая модель морского волнения,
+- метод вычисления поля давлений под взволнованной морской поверхностью и
+- программный комплекс, реализующий модель и метод, для систем с общей и
+ распределенной памятью.
+
+* Трехмерная модель АРСС
+
+** Трехмерная модель АРСС
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-arma}
+
+\begin{equation*}
+ \rectemph{zeta1}{\zeta_{i,j,k}} =
+ \sum\limits_{l=0}^{p_1}
+ \sum\limits_{m=0}^{p_2}
+ \sum\limits_{n=0}^{p_3}
+ \rectemph{phi}{\Phi_{l,m,n}} \rectemph{zeta2}{\zeta_{i-l,j-m,k-n}}
+ +
+ \sum\limits_{l=0}^{q_1}
+ \sum\limits_{m=0}^{q_2}
+ \sum\limits_{n=0}^{q_3}
+ \rectemph{theta}{\Theta_{l,m,n}} \rectemph{eps}{\epsilon_{i-l,j-m,k-n}}
+\end{equation*}
+
+#+BEAMER: \vspace{0.5cm}
+
+#+begin_src dot :exports results :file build/arma-pipeline-ru.pdf
+digraph G {
+
+ node [fontname="Open Sans",fontsize=10,margin="0.055,0",shape=box,bgcolor="E5E6E5",style="filled",height="0.37"]
+ graph [nodesep="0.25",ranksep="0.30",rankdir="LR" margin=0]
+ edge [arrowsize=0.66]
+ bgcolor="#F5F6F5"
+
+ acf [label="АКФ"]
+ yule_walker_equations [label="Уравнения\nЮла—Уокера"]
+ nonlinear_equations [label="Нелинейные\nуравнения"]
+ ar_process [label="Модель\nАР"]
+ ma_process [label="Модель\nСС"]
+ arma_process [label="Модель\nАРСС"]
+
+ acf->yule_walker_equations->ar_process->arma_process
+ acf->nonlinear_equations->ma_process->arma_process
+
+}
+#+end_src
+
+#+RESULTS:
+[[file:build/arma-pipeline-ru.pdf]]
+
+#+begin_export latex
+\begin{tikzpicture}[remember picture,overlay]
+\node[fill=none,baseline,anchor=south west,xshift=1.1cm,yshift=-1.75cm]
+ (zetaLabel) at (current page.north west)
+ {\scriptsize{}подъем взволнованной поверхности};
+\node[fill=none,anchor=south east,xshift=-2cm,yshift=-1.75cm]
+ (epsLabel) at (current page.north east)
+ {\scriptsize{}белый шум};
+\node[fill=none,baseline,anchor=north west,below=of phi,yshift=0.2cm]
+ (phiLabel)
+ {\scriptsize{}коэф. АР};
+\node[fill=none,baseline,anchor=north west,below=of theta,yshift=0.2cm]
+ (thetaLabel)
+ {\scriptsize{}коэф. СС};
+\path[->,thick] (zetaLabel.south -| zeta1.north) edge (zeta1.north);
+\path[->,thick] (zetaLabel.south -| zeta2.north west)
+ edge [transform canvas={xshift=2mm}]
+ (zeta2.north west);
+\path[->,thick] (epsLabel.south -| eps.north west)
+ edge [transform canvas={xshift=2mm}]
+ (eps.north west);
+\path[->,thick] (phiLabel.north -| phi.south west)
+ edge [transform canvas={xshift=2.5mm}]
+ (phi.south west);
+\path[->,thick] (thetaLabel.north -| theta.south west)
+ edge [transform canvas={xshift=2.5mm}]
+ (theta.south west);
+\end{tikzpicture}
+#+end_export
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-arma}
+
+В качестве имитационной модели в данной работе используется модель авторегрессии
+скользящего среднего (сокращенно, модель АРСС). Эта модель применяется в
+статистике для анализа и прогнозирования одномерных скалярно- и векторно-значных
+временных рядов, в данной же работе ее трехмерный аналог адаптирован для
+воспроизведения значений подъема взволнованной морской поверхности в дискретные
+моменты времени. Имитация морского волнения с помощью одномерной модели АРСС
+была изучена в работах Рожкова, Гургенидзе, Трапезникова, Бухановского, Спаноса
+и Зельдина.
+
+Основное уравнение трехмерной модели АРСС представлено на слайде. Параметрами
+являются
+- дисперсия белого шума, имеющего нормальное распределение,
+- коэффициенты авторегрессии и
+- коэффициенты скользящего среднего.
+
+Параметры модели определяются из автоковариационной функции взволнованной
+морской поверхности путем решения соответствующих систем уравнений. Для
+получения коэффициентов авторегрессии решается система линейных алгебраических
+уравнений Юла---Уокера стандартным методом, а для получения коэффициентов
+скользящего среднего решается система нелинейных уравнений методом простой
+итерации.
+
+Основным отличием модели АРСС от линейных аналогов является
+- использование автоковариационной функции вместо частотно-направленных спектров
+ морского волнения и
+- нефизическая природа модели, поскольку ее формулы не выводятся из
+ законов сохранения для морского волнения.
+Обсудим каждое из них по порядку.
+
+** АКФ морской поверхности
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-acf}
+
+*** Columns
+:PROPERTIES:
+:BEAMER_env: columns
+:END:
+
+**** Column 1
+:PROPERTIES:
+:BEAMER_col: 1.00
+:END:
+
+#+latex: \vspace{-0.5cm}
+#+begin_src dot :exports results :file build/acf-pipeline-ru.pdf
+digraph G {
+
+ node [fontname="Open Sans",fontsize=10,margin="0.055,0",shape=box,bgcolor="E5E6E5",style="filled"]
+ graph [nodesep="0.25",ranksep="0.20",rankdir="TB" margin=0]
+ edge [arrowsize=0.66]
+ bgcolor="#F5F6F5"
+
+ function [label="Формула\nпрофиля волны",height="0.40"]
+ discrete_function [label="Дискретный\nпрофиль волны",height="0.40"]
+ field_data [label="Натурные\nданные",width="1.1",height="0.40"]
+ theorem [label="Теорема Винера—Хинчина",height="0.20"]
+ acf [label="АКФ",height="0.20"]
+
+ function->theorem
+ discrete_function->theorem
+ field_data->theorem
+ theorem->acf
+
+}
+#+end_src
+
+#+RESULTS:
+[[file:build/acf-pipeline-ru.pdf]]
+
+**** Column 2 :noexport:
+:PROPERTIES:
+:BEAMER_col: 0.37
+:END:
+
+\begin{equation*}
+\hat{\gamma} = |\hat{\zeta}|^2
+\end{equation*}
+
+*** Separator
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+*** Columns
+:PROPERTIES:
+:BEAMER_env: columns
+:BEAMER_opt: T
+:END:
+
+**** Column 1
+:PROPERTIES:
+:BEAMER_col: 0.30
+:END:
+
+#+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
+#+begin_src R :file build/acf-propagating-plain-wave-ru.pdf
+source(file.path("R", "common.R"))
+par(mar=c(0,0.5,0,0))
+df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
+n <- 20
+grid <- seq(1, n)
+alpha <- 2.13975
+beta <- 0.77341
+gamm <- 0.549017
+for (i in grid) {
+ for (j in grid) {
+ x <- i/(n-1)
+ y <- j/(n-1)
+ z <- gamm * exp(-alpha*(x+y)) * cos(beta*(x+y))
+ df[nrow(df) + 1,] <- c(0,i,j,z)
+ }
+}
+arma.wavy_plot(df, 0, zlim=c(0,0.5), expand=0.5, border=NA)
+#+end_src
+
+#+caption: Плоская волна
+#+RESULTS:
+[[file:build/acf-propagating-plain-wave-ru.pdf]]
+
+
+**** Column 2
+:PROPERTIES:
+:BEAMER_col: 0.35
+:END:
+
+#+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
+#+begin_src R :file build/acf-standing-plain-wave-ru.pdf
+source(file.path("R", "common.R"))
+par(mar=c(0,0.5,0,0))
+df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
+n <- 20
+grid <- seq(1, n)
+alpha <- 2.31906
+beta <- -5.49873
+gamm <- 0.0680413
+for (i in grid) {
+ for (j in grid) {
+ x <- i/(n-1)
+ y <- j/(n-1)
+ z <- gamm * exp(-alpha*(x+y)) * cos(beta*x) * cos(beta*y)
+ df[nrow(df) + 1,] <- c(0,i,j,z)
+ }
+}
+arma.wavy_plot(df, 0, zlim=c(-0.05,0.05), expand=0.5, border=NA)
+#+end_src
+
+#+caption: Плоская стоячая волна
+#+RESULTS:
+[[file:build/acf-standing-plain-wave-ru.pdf]]
+
+**** Column 3
+:PROPERTIES:
+:BEAMER_col: 0.30
+:END:
+
+#+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
+#+begin_src R :file build/acf-propagating-stokes-wave-ru.pdf
+source(file.path("R", "common.R"))
+par(mar=c(0,0.5,0,0))
+df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
+n <- 40
+alpha <- 0.5
+grid <- seq(1, n)
+k <- 0.77341
+t <- 0
+omega <- 0.3
+a <- 1.5
+for (i in grid) {
+ for (j in grid) {
+ x <- i/(n-1)
+ y <- j/(n-1)
+ theta <- k*(x + y) - omega*t
+ z <- a * exp(-alpha*(x+y)) * (cos(theta) + 0.5*k*a*cos(2*theta) + (3/8)*(k*a*k*a)*cos(3*theta))
+ df[nrow(df) + 1,] <- c(0,i,j,z)
+ }
+}
+arma.acf_plot(df, 0, zlim=c(0,1.0), expand=0.5, border=NA)
+#+end_src
+
+#+caption: Волна Стокса
+#+RESULTS:
+[[file:build/acf-propagating-stokes-wave-ru.pdf]]
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-acf}
+
+Одним из основных отличий модели АРСС от линейных аналогов является
+использование автоковариационной функции вместо частотно-направленных спектров
+морского волнения, что позволяет получить ряд преимуществ. Автоковариационная
+функция включает в себя не только две пространственные, но и временную
+компоненту, что позволяет моделировать форму волны, а не только частоту и
+направление движения. Посредством теоремы Винера---Хинчина автоковариационная
+функция легко вычисляется аналитически из явной формулы взволнованной
+поверхности или численно из дискретно заданной взволнованной поверхности или
+натурных данных. Модель способна воспроизводить плоские волны, волны Стокса и
+нерегулярное волнение, автоковариационные функции которых показаны на слайде.
+
+** Определение коэффициентов :noexport:
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+#+begin_export latex
+\framesubitile{Модель АР}
+ \small%
+ Решить СЛАУ (трехмерные уравнения Юла---Уокера) относительно $\Phi$:
+ \begin{equation*}
+ \Gamma
+ \left[
+ \begin{array}{l}
+ \Phi_{0,0,0}\\
+ \Phi_{0,0,1}\\
+ \vdotswithin{\Phi_{0,0,0}}\\
+ \Phi_{p_1,p_2,p_3}
+ \end{array}
+ \right]
+ =
+ \left[
+ \begin{array}{l}
+ K_{0,0,0}-\Var{\epsilon}\\
+ K_{0,0,1}\\
+ \vdotswithin{K_{0,0,0}}\\
+ K_{p_1,p_2,p_3}
+ \end{array}
+ \right],
+ \qquad
+ \Gamma=
+ \left[
+ \begin{array}{llll}
+ \Gamma_0 & \Gamma_1 & \cdots & \Gamma_{p_1} \\
+ \Gamma_1 & \Gamma_0 & \ddots & \vdotswithin{\Gamma_0} \\
+ \vdotswithin{\Gamma_0} & \ddots & \ddots & \Gamma_1 \\
+ \Gamma_{p_1} & \cdots & \Gamma_1 & \Gamma_0
+ \end{array}
+ \right],
+ \end{equation*}
+ \begin{equation*}
+ \Gamma_i =
+ \left[
+ \begin{array}{llll}
+ \Gamma^0_i & \Gamma^1_i & \cdots & \Gamma^{p_2}_i \\
+ \Gamma^1_i & \Gamma^0_i & \ddots & \vdotswithin{\Gamma^0_i} \\
+ \vdotswithin{\Gamma^0_i} & \ddots & \ddots & \Gamma^1_i \\
+ \Gamma^{p_2}_i & \cdots & \Gamma^1_i & \Gamma^0_i
+ \end{array}
+ \right]
+ \qquad
+ \Gamma_i^j=
+ \left[
+ \begin{array}{llll}
+ K_{i,j,0} & K_{i,j,1} & \cdots & K_{i,j,p_3} \\
+ K_{i,j,1} & K_{i,j,0} & \ddots &x \vdotswithin{K_{i,j,0}} \\
+ \vdotswithin{K_{i,j,0}} & \ddots & \ddots & K_{i,j,1} \\
+ K_{i,j,p_3} & \cdots & K_{i,j,1} & K_{i,j,0}
+ \end{array}
+ \right].
+ \end{equation*}
+#+end_export
+
+** Определение коэффициентов :noexport:
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+#+BEAMER: \framesubitile{Модель СС}
+#+BEAMER: \small
+Решить систему нелинейных уравнений
+\begin{equation*}
+ K_{i,j,k} =
+ \left[
+ \displaystyle
+ \sum\limits_{l=i}^{q_1}
+ \sum\limits_{m=j}^{q_2}
+ \sum\limits_{n=k}^{q_3}
+ \Theta_{l,m,n}\Theta_{l-i,m-j,n-k}
+ \right]
+ \Var{\epsilon}
+\end{equation*}
+относительно \(\Theta\) с помощью метода простой итерации:
+\begin{equation*}
+ \theta_{i,j,k} =
+ -\frac{K_{0,0,0}}{\Var{\epsilon}}
+ +
+ \sum\limits_{l=i}^{q_1}
+ \sum\limits_{m=j}^{q_2}
+ \sum\limits_{n=k}^{q_3}
+ \Theta_{l,m,n} \Theta_{l-i,m-j,n-k}.
+\end{equation*}
+
+** Критерии выбора моделей АР и СС :noexport:
+Использовать модель АР для стоячих волн и модель СС для прогрессивных.
+#+latex: \newline\newline
+Экспериментальный результат:
+- модели расходятся, если делать наоборот;
+- характеристики взволнованной поверхности соответствуют реальным.
+
+** Верификация модели АРСС
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-arma-verification}
+
+*** Стоячие волны
+:PROPERTIES:
+:BEAMER_col: 0.47
+:BEAMER_opt: T
+:END:
+
+#+latex: \vspace{-1cm}
+#+header: :width 2.7 :height 2.7 :bg #F5F6F5 :font sans
+#+begin_src R :file build/standing-wave-qqplots-slides-ru.pdf
+source(file.path("R", "common.R"))
+par(pty="s", mfrow=c(2, 2), mar=c(1,1,1,0), mgp=c(3,0.3,0), cex=0.6, fg='black', col='navy')
+arma.qqplot_grid_adj(
+ file.path("build", "arma-benchmarks", "verification-orig", "standing_wave"),
+ c("elevation", "heights_y", "lengths_y", "periods"),
+ c("подъем", "высота", "длина", "период"),
+ 0.1,
+ xlab="x",
+ ylab="y",
+ tck=0.04
+)
+#+end_src
+
+#+caption: Стоячие волны
+#+RESULTS:
+[[file:build/standing-wave-qqplots-slides-ru.pdf]]
+
+
+*** Прогрессивные волны
+:PROPERTIES:
+:BEAMER_col: 0.47
+:BEAMER_opt: T
+:END:
+
+#+latex: \vspace{-1cm}
+#+header: :width 2.7 :height 2.7 :bg #F5F6F5 :font sans
+#+begin_src R :file build/propagating-wave-qqplots-slides-ru.pdf
+source(file.path("R", "common.R"))
+par(pty="s", mfrow=c(2, 2), mar=c(1,1,1,0), mgp=c(3,0.3,0), cex=0.6, col='navy')
+arma.qqplot_grid_adj(
+ file.path("build", "arma-benchmarks", "verification-orig", "propagating_wave"),
+ c("elevation", "heights_y", "lengths_y", "periods"),
+ c("подъем", "высота", "длина", "период"),
+ 0.1,
+ xlab="x",
+ ylab="y",
+ tck=0.04
+)
+#+end_src
+
+#+caption: Прогрессивные волны
+#+RESULTS:
+[[file:build/propagating-wave-qqplots-slides-ru.pdf]]
+
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-arma-verification}
+
+Другим основным отличием модели АРСС от линейных аналогов является ее
+нефизическая природа. Формулы модели не выводятся из физических законов
+сохранения и модель неспособна воспроизводить индивидуальные волны. Вместо этого
+воспроизводится взволнованная морская поверхность как единое целое,
+распределения интегральных характеристик которой совпадают с реальными.
+
+На слайде представлены спрямленные диаграммы (quantile-quantile plots)
+распределений различных параметров волн. Чем ближе точки расположены к прямой
+линии, тем выше степень совпадения распределений. Как видно из графиков,
+распределения параметров прогрессивных волн почти полностью совпадает с
+реальным, отличаясь лишь на хвостах, где размер выборки невелик. Распределения
+параметров стоячих волн имеют большее расхождение на хвостах, ввиду отсутствия
+надежных натурных данных для такого типа волн.
+
+** Моделирование асимметричности :noexport:
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+begin_src dot :exports results :file build/slides-nit-pipeline-ru.pdf
+digraph G {
+
+ node [fontname="Open Sans",fontsize=10,margin="0.055,0",shape=box,fillcolor="#E5E6E5",style="filled",height="0.37"]
+ graph [nodesep="0.55",ranksep="0.30",rankdir="TB",margin=0,splines=ortho]
+ edge [fontname="Open Sans",fontsize=10,arrowsize=0.66]
+ bgcolor="#F5F6F5"
+
+ subgraph step1 {
+ rank="same"
+ acf [label="АКФ"]
+ zeta [label="Поверхность"]
+ }
+
+ subgraph step2 {
+ rank="same"
+ acf_tr [label="АКФ'",fillcolor="#E5C6C5"]
+ zeta_tr [label="Поверхность'",fillcolor="#E5C6C5"]
+ }
+
+ acf->zeta [color=invis]
+ acf->acf_tr [label=" Разложение в ряд\l по полиномам Эрмита\l"]
+ acf_tr->zeta_tr
+ zeta_tr->zeta [label="Преобразование\lаппликат\l"]
+
+}
+#+end_src
+
+#+RESULTS:
+[[file:build/slides-nit-pipeline-ru.pdf]]
+
+#+header: :width 4 :height 1.5 :bg #F5F6F5 :font sans
+#+begin_src R :file build/slides-nit-ru.pdf
+source(file.path("R", "nonlinear.R"))
+par(mar=c(2,2,0.3,0.1),cex=0.7,mgp=c(3,0.3,0))
+args <- list(
+ graphs=c('Гауссово', 'РГШ', 'АНР'),
+ linetypes=c('solid', 'dashed', 'dotted'),
+ axis=list(tck=-0.04),
+ legend="bottom"
+)
+args$title <- NULL
+arma.plot_nonlinear(file.path("build", "nit-standing"), args)
+#+end_src
+
+#+RESULTS:
+[[file:build/slides-nit-ru.pdf]]
+
+
+* Поле давлений под дискретно заданной взволнованной поверхностью
+
+** Уравнения потенциального течения
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \footnotesize
+#+beamer: \label{slide-potential-flow}
+#+begin_export latex
+\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
+\vspace{-\baselineskip}%
+\begin{align*}%
+ & \nabla^2\phi = 0
+ & \text{уравнение неразрывности}
+ \\
+ & \phi_t+\frac{1}{2} |\vec{\upsilon}|^2 + g\zeta=-\frac{p}{\rho}
+ & \text{динамическое ГУ на }z=\zeta(x,y,t)
+ \\
+ & D\zeta = \nabla \phi \cdot \vec{n}
+ & \text{кинематическое ГУ на }z=\zeta(x,y,t)\\
+\end{align*}%
+\vspace{-2.5\baselineskip}%
+\end{beamercolorbox}%
+%
+\spbuArrow{}%
+\vspace{-0.2cm}%
+%
+\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
+\vspace{-\baselineskip}%
+\begin{align*}%
+ & \phi_{xx} + \phi_{yy} + \phi_{zz} = 0\\
+ & \zeta_t
+ = \underbrace{\fillrectemph{f1}{\left(\FracSqrtZetaY{\zeta_x} - \zeta_x\right)}}_{f_1} \phi_x
+ + \underbrace{\fillrectemph{f2}{\left(\FracSqrtZetaY{\zeta_y} - \zeta_y\right)}}_{f_2} \phi_y
+ - \underbrace{\fillrectemph{f3}{\FracSqrtZetaY{1}}}_{f_3} \phi_z \\
+\end{align*}%
+\vspace{-2.7\baselineskip}%
+\end{beamercolorbox}%
+#+end_export
+
+*** Columns
+:PROPERTIES:
+:BEAMER_env: columns
+:BEAMER_opt: T
+:END:
+
+**** Column 1
+:PROPERTIES:
+:BEAMER_col: 0.47
+:END:
+#+begin_export latex
+\vspace{-\baselineskip}%
+\spbuArrow{}%
+\vspace{-1.3\baselineskip}%
+\begingroup%
+\setlength\abovedisplayskip{1mm}%
+\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
+Решение в рамках линейной теории:%
+\begin{equation*}%
+\phi(x,y,z,t) = \mathcal{W}_1(x,y,z) \mathrel{*} \left(-\zeta_t(x,y,t)\right)
+\end{equation*}%
+\vspace{-1.5\baselineskip}%
+\end{beamercolorbox}%
+\endgroup%
+#+end_export
+
+**** Column 2
+:PROPERTIES:
+:BEAMER_col: 0.47
+:END:
+#+begin_export latex
+\vspace{-\baselineskip}%
+\spbuArrow{}%
+\vspace{-1.3\baselineskip}%
+\begingroup%
+\setlength\abovedisplayskip{1mm}%
+\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
+Общее решение:\vspace{-0.5\baselineskip}%
+\begin{equation*}%
+ \phi(x,y,z,t)
+ =
+ \mathcal{W}_2(x,y,z)
+ \mathrel{*}
+% \frac{\zeta_t(x,y,t)}{i f_1(x,y,t) + i f_2(x,y,t) - f_3(x,y,t)}
+ \frac{\zeta_t(x,y,t)}{F\left(f_1, f_2, f_3\right)}
+% & \mathcal{W}_1 \approx \mathcal{W}_2
+\end{equation*}%
+\vspace{-1.35\baselineskip}%
+\end{beamercolorbox}%
+\endgroup%
+#+end_export
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-potential-flow}
+
+Модель АРСС воспроизводит волны, распределения характеристик которых совпадает с
+реальными, а значит, результирующую взволнованную морскую поверхность можно
+использовать для вычисления поля давлений, создаваемого волнами. В то же время
+поверхность может содержать волны произвольных амплитуд, из-за чего методы
+вычисления поля давлений, используемые в рамках линейной теории волн,
+неприменимы для модели АРСС. В связи с этим уравнения, описывающие движение
+жидкости были решены без упрощений линейной теории.
+
+Уравнения представлены на слайде. Это уравнение неразрывности (или уравнение
+Лапласа), уравнение движения (или динамическое граничное условие) и
+кинематическое граничное условие на свободной поверхности. Поскольку
+взволнованная поверхность известна, второе уравнение превращается в явную
+формулу для вычисления давлений, а задача сводится к поиску потенциала скорости
+\(\phi\). На слайде красным цветом выделены множители, которыми пренебрегают в
+рамках линейной теории волн.
+
+Система решается методом Фурье с использованием некоторых физических и
+математических упрощений, описанных в работе. Полное решение записывается в виде
+свертки некоторой оконной функции с суперпозицией производных взволнованной
+поверхности. Полученное решение отличается от решения из линейной теории
+наличием удаленных множителей и другой записью оконной функции. Если
+воспользоваться предположением о малости амплитуд волн, то полученное решение
+сводится к решению из линейной теории волн.
+
+** Верификация метода выч. давлений
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-potential-verification}
+
+*** Columns
+:PROPERTIES:
+:BEAMER_env: columns
+:BEAMER_opt: T
+:END:
+
+**** Column 1
+:PROPERTIES:
+:BEAMER_col: 0.47
+:END:
+
+#+beamer: \vspace{-0.5cm}
+#+header: :width 2.7 :height 1.5 :bg #F5F6F5 :font sans
+#+begin_src R :file build/slides-plain-wave-velocity-field-comparison-ru.pdf
+source(file.path("R", "velocity-potentials.R"))
+nlevels <- 41
+levels <- pretty(c(-200,200), nlevels)
+palette <- colorRampPalette(c("blue", "lightyellow", "red"))
+col <- palette(nlevels-1)
+
+par(pty="s",mgp=c(3,0.2,0),mfrow=c(1,2),mar=c(1.5,1,0,0),cex=0.66,bty="n")
+
+# linear solver
+#par(fig=c(0,0.95,0,0.5),new=TRUE)
+arma.plot_velocity_potential_field(
+ file.path("build", "arma-benchmarks", "verification-orig", "plain_wave_linear_solver"),
+ levels=levels,
+ col=col,
+ contour_lwd=0.5,
+ zeta_lwd=1,
+ sky_col='#F5F6F5',
+ axis_args=list(tck=-0.02),
+ z_min=-5,
+ title_args=list(main=" Линейная\n теория",outer=FALSE,adj=0,line=-1.5,cex.main=0.77)
+)
+
+# high-amplitude solver
+#par(fig=c(0,0.95,0.5,1),new=TRUE)
+arma.plot_velocity_potential_field(
+ file.path("build", "arma-benchmarks", "verification-orig", "plain_wave_high_amplitude_solver"),
+ levels=levels,
+ col=col,
+ contour_lwd=0.5,
+ zeta_lwd=1,
+ sky_col='#F5F6F5',
+ axis_args=list(tck=-0.02),
+ z_min=-5,
+ title_args=list(main=" Общее\n решение",outer=FALSE,adj=0,line=-1.5,cex.main=0.77)
+)
+#+end_src
+
+#+RESULTS:
+[[file:build/slides-plain-wave-velocity-field-comparison-ru.pdf]]
+
+**** Column 2
+:PROPERTIES:
+:BEAMER_col: 0.47
+:END:
+
+#+beamer: \vspace{-0.5cm}
+#+header: :width 2.7 :height 1.3 :bg #F5F6F5 :font sans
+#+begin_src R :file build/slides-large-and-small-amplitude-velocity-field-comparison-ru.pdf
+source(file.path("R", "velocity-potentials.R"))
+linetypes = c("solid", "dashed")
+par(pty="s",mgp=c(3,0.3,0),mfrow=c(1,2),mar=c(1.5,1,0,0),cex=0.66,bty="n")
+arma.plot_velocity(
+ file.path("data", "velocity", "low-amp"),
+ file.path("data", "velocity", "low-amp-0"),
+ linetypes=linetypes,
+ ylim=c(-2,2),
+ axis_args=list(tck=-0.04),
+ title_args=list(main=" Малая\n амплитуда",outer=FALSE,adj=0,line=-1.5,cex.main=0.77),
+ legend_x="bottomright"
+)
+arma.plot_velocity(
+ file.path("data", "velocity", "high-amp"),
+ file.path("data", "velocity", "high-amp-0"),
+ linetypes=linetypes,
+ ylim=c(-2,2),
+ title_args=list(main="Большая\n амплитуда",outer=FALSE,adj=1,line=-1.5,cex.main=0.77),
+ axis_args=list(tck=-0.04),
+ legend_x="bottomright"
+)
+#+end_src
+
+#+RESULTS:
+[[file:build/slides-large-and-small-amplitude-velocity-field-comparison-ru.pdf]]
+
+
+*** End column
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+header: :width 5.5 :height 1.3 :bg #F5F6F5 :font sans
+#+begin_src R :file build/slides-irregular-wave-velocity-field-ru.pdf
+source(file.path("R", "velocity-potentials.R"))
+nlevels <- 41
+levels <- pretty(c(-40,40), nlevels)
+palette <- colorRampPalette(c("blue", "lightyellow", "red"))
+col <- palette(nlevels-1)
+
+par(mgp=c(3,0.2,0),mar=c(1.5,1,0,0),cex=0.66,bty="n")
+
+# high-amplitude solver
+arma.plot_velocity_potential_field(
+ file.path("build", "arma-benchmarks", "verification", "velocity", "our-formula"),
+ levels=levels,
+ col=col,
+ contour_lwd=0.5,
+ zeta_lwd=1,
+ sky_col='#F5F6F5',
+ axis_args=list(tck=-0.02),
+ x_max=40,
+ z_min=-5,
+ compare_to=file.path("build", "arma-benchmarks", "verification", "velocity", "linear"),
+ points_args=list(col="black",bg="black",pch=21,cex=1.5),
+ title_args=list(main=" Нерегулярное волнение",outer=FALSE,adj=0.01,line=-1.5,cex.main=0.77)
+)
+#+end_src
+
+#+RESULTS:
+[[file:build/slides-irregular-wave-velocity-field-ru.pdf]]
+
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-potential-verification}
+
+Чтобы оценить отличия полученного решения, оно было сопоставлено с известными
+решениями.
+
+Если сравнивать с решением из линейной теории волн (слева сверху), то для
+синтетических волн большой амплитуды использование нового решения приводит к
+смещению области, в которой сконцентрирована основная энергия волны ближе к
+гребню.
+
+Если сравнивать с решением для волн малых амплитуд (справа сверху), то новое
+решение работает как для волн малых, так и больших амплитуд, а для волн
+малых амплитуд можно говорить о рациональном соответствии между обоими
+решениями.
+
+Если сравнивать с решением из линейной теории волн (снизу), то для нерегулярного
+волнения, воспроизведенного моделью АРСС, новое решение показывает в среднем на
+20% большие значения потенциала скорости вблизи гребней волн.
+
+** Сравнение с линейной теорией :noexport:
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+*** Columns
+:PROPERTIES:
+:BEAMER_env: columns
+:BEAMER_opt: T
+:END:
+
+**** Линейная теория
+:PROPERTIES:
+:BEAMER_env: block
+:BEAMER_col: 0.4
+:END:
+
+#+begin_export latex
+\includegraphics<1>{velocity-ref-1}
+\includegraphics<2>{velocity-ref-2}
+\includegraphics<3>{velocity-ref-4}
+#+end_export
+
+**** Новая формула
+:PROPERTIES:
+:BEAMER_env: block
+:BEAMER_col: 0.4
+:END:
+
+#+begin_export latex
+\includegraphics<1>{velocity-1}
+\includegraphics<2>{velocity-2}
+\includegraphics<3>{velocity-4}
+#+end_export
+
+** Сравнение с формулой для ВМА :noexport:
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+*** Columns
+:PROPERTIES:
+:BEAMER_env: columns
+:BEAMER_opt: T
+:END:
+
+**** Малая амплитуда
+:PROPERTIES:
+:BEAMER_env: block
+:BEAMER_col: 0.45
+:END:
+[[file:graphics/slides/low-amp-color.eps]]
+
+**** Большая амплитуда
+:PROPERTIES:
+:BEAMER_env: block
+:BEAMER_col: 0.45
+:END:
+[[file:graphics/slides/high-amp-color.eps]]
+
+** Выводы :noexport:
+Метод подходит для
+- дискретно заданной $\zeta(x,y,t)$,
+- волн произвольных амплитуд,
+- произвольной глубины $h=\text{const}$.
+
+* Программный комплекс
+
+** Программная реализация
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-implementation}
+
+#+header: :width 1.6 :height 1.6 :bg #F5F6F5 :font sans
+#+begin_src R :file build/slides-ar-cubes-ru.pdf
+source(file.path("R", "common.R"))
+par(mgp=c(3,0.4,0), cex=0.6, mar=c(1,2,2,0))
+arma.plot_ar_cubes_2d_v2(
+ 3,
+ 3,
+ xlabel="Индекс части (X)",
+ ylabel="Индекс части (Y)",
+ list(
+ arrow_args=list(lwd=2,angle=7,length=0.125),
+ adj_x=0.4,
+ adj_y=0.5,
+ no_axes=TRUE
+ )
+)
+#+end_src
+
+#+RESULTS:
+[[file:build/slides-ar-cubes-ru.pdf]]
+
+[[file:build/arma-pipeline-ru.pdf]]
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-implementation}
+
+Программный комплекс состоит из программных реализаций модели АРСС и линейной
+модели Лонге---Хиггинса и метода вычисления давлений. Для каждой модели и метода
+написана параллельная реализация для систем с общей памятью. Высокая
+производительность обеспечивается параллельной реализацией каждой модели и
+метода для систем с общей памятью и использованием быстрых преобразований Фурье,
+где это возможно.
+
+Программная реализация модели авторегрессии включает в себя планировщик задач,
+который обеспечивает параллельную генерацию отдельных блоков, на которые
+разделяется взволнованная поверхность, с учетом авторегрессионных зависимостей.
+Сама формула модели сводится к вычислению большого количества полиномов, что
+эффективно реализуется с помощью инструкций процессора FMA (Fused Multiply-Add).
+
+Программная реализация модели Лонге---Хиггинса сводится к простому параллельному
+суммированию гармоник в каждой точке поверхности.
+
+Вычисление коэффициентов авторегрессии реализуется стандартным методом решения
+систем линейных алгебраических уравнений с симметричными матрицами. Вычисление
+коэффициентов скользящего среднего реализуется методом простой итерации.
+
+Практически все остальные модели и методы используют быстрое преобразование
+Фурье.
+- Программная реализация модели скользящего среднего сводится к параллельной
+ свертке на основе быстрых преобразований Фурье.
+- Программная реализация вычисления давлений сводится к четырем быстрым
+ преобразованиям Фурье с большим количеством трансцендентных математических
+ функций.
+- Вычисление автоковариационной функции сводится к трем быстрым преобразованиям
+ Фурье.
+
+** Система с общей памятью
+:PROPERTIES:
+:header-args:R: :results output raw :exports results
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-smp}
+
+#+beamer: \small
+#+header: :results output raw :exports results
+#+name: tab-arma-performance
+#+begin_src R :results output org :exports results
+source(file.path("R", "benchmarks.R"))
+options(arma.mark=",")
+model_names <- list(
+ ar.x="АР",
+ ma.x="СС",
+ lh.x="ЛХ",
+ ar.y="АР",
+ ma.y="СС",
+ lh.y="ЛХ",
+ Row.names="\\orgcmidrule{2-4}{5-6}Подпрограмма"
+)
+row_names <- list(
+ determine_coefficients="Определение коэф.",
+ validate="Проверка сходимости",
+ generate_surface="Генерация поверхности",
+ nit="НБП",
+ write_all="Запись вывода в файл",
+ copy_to_host="Копирование данных с GPU",
+ velocity="Выч. потенциалов скорости"
+)
+arma.print_openmp_vs_opencl(model_names, row_names)
+#+end_src
+
+#+attr_latex: :booktabs t
+#+RESULTS: tab-arma-performance
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-smp}
+
+На слайде представлены результаты тестирования производительности различных
+компонент программного комплекса на системах с общей памятью с использованием
+OpenMP (процессора) и OpenCL (видеокарты). Из таблицы видно, что
+- большую часть времени система тратит на генерацию взволнованной поверхности,
+- использование видеокарты выгодно только для модели Лонге---Хиггинса и
+ вычисления давлений и
+- модель авторегрессии более производительна, чем модель скользящего среднего,
+ несмотря на использование быстрых преобразований Фурье.
+
+** Система с распределенной памятью
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-mpp}
+
+*** Column 1
+:PROPERTIES:
+:BEAMER_col: 0.47
+:END:
+
+#+header: :width 2 :height 2 :bg #F5F6F5 :font sans
+#+begin_src R :file build/slides-bscheduler-performance-ru.pdf
+source(file.path("R", "benchmarks.R"))
+par(mgp=c(3,0.4,0), cex=0.7, mar=c(2,2,0,0))
+data <- arma.load_bscheduler_performance_data()
+arma.plot_bscheduler_performance_data(
+ data,
+ list(
+ openmp="OpenMP",
+ bsc1="Bscheduler (один узел)",
+ bsc2="Bscheduler (два узла)"
+ )
+)
+title(xlab="Размер взволнованной поверхности", ylab="Время, сек.")
+#+end_src
+
+#+RESULTS:
+[[file:build/slides-bscheduler-performance-ru.pdf]]
+
+*** Column 2
+:PROPERTIES:
+:BEAMER_col: 0.47
+:END:
+
+#+name: fig-master-slave-failure
+#+header: :width 2 :height 2 :bg #F5F6F5 :font sans
+#+begin_src R :file build/slides-master-slave-failure-ru.pdf
+source(file.path("R", "benchmarks.R"))
+par(mgp=c(3,0.4,0), cex=0.7, mar=c(2,2,0,0))
+data <- arma.load_master_slave_failure_data()
+arma.plot_master_slave_failure_data(
+ data,
+ list(
+ master="Bscheduler (главный узел)",
+ slave="Bscheduler (подчиненный узел)",
+ nofailures="Bscheduler (без выхода из строя)"
+ )
+)
+title(xlab="Размер взволнованной поверхности", ylab="Время, сек.")
+#+end_src
+
+#+RESULTS: fig-master-slave-failure
+[[file:build/slides-master-slave-failure-ru.pdf]]
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-mpp}
+
+Для модели авторегрессии сделана реализация для систем с распределенной памятью
+и отказоустойчивый планировщик задач. Планировщик позволяет добиться увеличения
+производительности с увеличением количества узлов, которое близко к линейному
+(график слева). Также планировщик позволяет продолжить вычисления, даже если
+один из узлов кластера выходит из строя. При этом перезапускается только та
+часть задачи, которая вычислялась на вышедшем из строя узле, и теряется
+производительность только этого узла.
+
+** Диаграмма :noexport:
+:PROPERTIES:
+:BEAMER_env: fullframe
+:END:
+
+#+begin_export latex
+ \tikzset{DataBlock/.style={rectangle,draw=spbuDarkGray,thick,text width=2cm,align=center}}%
+ \tikzset{Terminator/.style={circle,fill=spbuDarkGray,thick,minimum size=0.4cm,text width=0pt}}%
+ \tikzset{Comment/.style={draw=none,fill=none,text width=8.8cm}}%
+ \small
+ \begin{tikzpicture}[x=6cm,y=0.80cm]
+ % UML blocks
+ \node[Terminator] (umlStart) at (0,0) {};
+ \node[DataBlock] (umlSpec) at (0,-1) {$S(\omega,\theta)$};
+ \node[DataBlock] (umlK) at (0,-2) {$K_{i,j,k}$};
+ \node[DataBlock,fill=spbuWhite2] (umlK2) at (0,-3) {$K_{i,j,k}^{*}$};
+ \node[DataBlock] (umlPhi) at (0,-4) {$\Phi_{i,j,k}$};
+ \node[DataBlock] (umlEps) at (0,-5) {$\epsilon_{i,j,k}$};
+ \node[DataBlock,fill=spbuWhite2] (umlZeta2) at (0,-6) {$\zeta_{i,j,k}^{*}$};
+ \node[DataBlock] (umlZeta) at (0,-7) {$\zeta_{i,j,k}$};
+ \node[DataBlock] (umlVelocity) at (0,-8) {$\phi(x,y,z)$};
+ \node[DataBlock] (umlPressure) at (0,-9) {$p(x,y,z)$};
+ \node[Terminator] (umlEnd) at (0,-10) {};
+ \node[circle,draw=spbuDarkGray,thick,minimum size=0.5cm,text width=0pt] at (0,-10) {};
+
+ % edges
+ \path[->,thick] (umlStart.south) edge (umlSpec.north);
+ \path[thick] (umlSpec.south) edge (umlK.north);
+ \path[thick] (umlK.south) edge (umlK2.north);
+ \path[thick] (umlK2.south) edge (umlPhi.north);
+ \path[thick] (umlPhi.south) edge (umlEps.north);
+ \path[thick] (umlEps.south) edge (umlZeta2.north);
+ \path[thick] (umlZeta2.south) edge (umlZeta.north);
+ \path[thick] (umlZeta.south) edge (umlVelocity.north);
+ \path[thick] (umlVelocity.south) edge (umlPressure.north);
+ \path[->,thick] (umlPressure.south) edge (umlEnd.north);
+
+ % comments
+ \node[align=left,draw=none] at (1,-1) {Частотно-направленный спектр волнения,};
+ \node[Comment] at (1,-2) {автоковариационная функция (АКФ),};
+ \node[Comment] at (1,-3) {преобразованная АКФ,};
+ \node[Comment] at (1,-4) {коэффициенты авторегрессии,};
+ \node[Comment] at (1,-5) {белый шум,};
+ \node[Comment] at (1,-6) {преобразованная реализация,};
+ \node[Comment] at (1,-7) {реализация взволнованной поверхности,};
+ \node[Comment] at (1,-8) {потенциал скорости,};
+ \node[Comment] at (1,-9) {давление.};
+ \end{tikzpicture}
+#+end_export
+
+** Оптимизация записи в файл :noexport:
+#+begin_export latex
+ \begin{columns}[T]
+ \begin{column}{0.575\textwidth}
+ \begin{block}{\small Диаграмма событий}
+ \vspace{0.25\baselineskip}%
+ \includegraphics{overlap-color}
+ \end{block}
+ \end{column}
+ \begin{column}{0.425\textwidth}
+ \begin{block}{\small Время генерации}
+ \vspace{0.25\baselineskip}%
+ \includegraphics{performance-color}
+ \end{block}
+ \end{column}
+ \end{columns}
+#+end_export
+
+** Отказоустойчивость :noexport:
+#+begin_export latex
+\centering%
+\includegraphics{mpp-time-color}
+#+end_export
+
+** Выводы :noexport:
+Программная реализация
+- масштабируется на SMP и MPP системы,
+- эффективна и без использования GPU
+- и отказоустойчива.
+
+* Заключение
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+** Заключение
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-conclusion}
+
+- Разработана трехмерная модель для генерации волн произвольных амплитуд.
+- Разработан метод вычисления поля давлений без предположений о малости амплитуд
+ волн.
+- Разработан программный комплекс для систем с общей и распределенной памятью.
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-conclusion}
+
+Цель исследования заключалась в изучении и разработке альтернативных
+математических моделей и численных методов, которые бы позволили выйти за рамки
+линейной теории волн в задаче имитационного моделирования морского волнения. В
+рамках исследования были разработаны
+- трехмерная модель для генерации волн произвольных амплитуд,
+- метод вычисления поля давлений без предположений о малости амплитуд волн,
+- программный комплекс для систем с общей и распределенной памятью.
+
+** Апробация
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+beamer: \label{slide-validation}
+#+beamer: \small
+
+- Конференции: ISSW'14, HPCS'15, HPCS'16, HPCS'17.
+- Глава в книге The Ocean in Motion (Springer Oceanography).
+
+*** Columns
+:PROPERTIES:
+:BEAMER_env: columns
+:BEAMER_opt: T
+:END:
+
+**** LAMP4
+:PROPERTIES:
+:BEAMER_col: 0.30
+:BEAMER_env: block
+:END:
+
+#+ATTR_LATEX: :width \linewidth
+[[file:graphics/slides/lamp4-ar-waves.png]]
+
+**** Ascheduler
+:PROPERTIES:
+:BEAMER_col: 0.30
+:BEAMER_env: block
+:END:
+
+#+ATTR_LATEX: :width \linewidth
+[[file:graphics/slides/spark-logo.png]]
+
+**** HPCS'15
+:PROPERTIES:
+:BEAMER_col: 0.30
+:BEAMER_env: block
+:END:
+
+#+ATTR_LATEX: :width \linewidth
+[[file:graphics/slides/hpcs-15-poster-paper-award.png]]
+
+#+latex: \setbeamerfont{block title}{size=\normalsize}
+
+** Notes
+:PROPERTIES:
+:BEAMER_env: ignoreheading
+:END:
+
+#+beamer: \spbuSlide{slide-validation}
+
+Доклады по теме диссертации были представлены на конференциях International Ship
+Stability Workshop и High-Performance Computing & Simulation. По результатам
+исследования опубликована глава в книге The Ocean in Motion.
+
+Модель авторегрессии и метод вычисления давлений были интегрированы в
+программный комплекс Large Amplitude Motion Program (LAMP4).
+
+На основе отказоустойчивого планировщика задач был сделан аналог для фреймворка
+обработки больших массивов данных Apache Spark.
+
+Доклад на конференции HPCS'15 был признан лучшим устным докладом.
+
+** Взволнованная морская поверхность :noexport:
+:PROPERTIES:
+:BEAMER_act: <presentation>
+:END:
+
+#+begin_export latex
+\begin{tikzpicture}[remember picture,overlay]
+ \node[inner sep=0pt,rectangle] at (current page.center){%
+ \includegraphics[width=0.95\paperwidth]{wavy}
+ };%
+\end{tikzpicture}
+#+end_export
+
diff --git a/arma-slides.org b/arma-slides.org
@@ -1,1341 +0,0 @@
-#+TITLE: Имитационное моделирование нерегулярного волнения для программ динамики морских объектов
-#+AUTHOR: Иван Ганкевич
-#+DATE: Санкт-Петербург, 2018
-#+LANGUAGE: ru
-#+LATEX_CLASS: beamer
-#+LATEX_CLASS_OPTIONS: [14pt,aspectratio=169]
-#+LATEX_HEADER_EXTRA: \input{slides-preamble}
-#+BEAMER_THEME: SaintPetersburg
-#+OPTIONS: todo:nil title:nil ':t toc:nil H:2
-#+STARTUP: indent
-#+PROPERTY: header-args:R :results graphics :exports results
-
-#+begin_export latex
-\setbeamertemplate{title page}{%
- \centering%
- \vskip1cm\spbuInsertField{title}%
- \ifx\insertsubtitle\empty\else%
- \vskip0.5\baselineskip%
- \spbuInsertField{subtitle}%
- \fi%
- \vfill\spbuInsertField{author}%
- \vfill\spbuInsertField{institute}%
- \vfill\inserttitlegraphic%
- \vfill\spbuInsertField{date}%
-}
-\setbeamerfont{block title}{size=\small}
-\setbeamerfont{note page}{size=\footnotesize}
-\setjobnamebeamerversion{arma-slides}
-\mode*
-#+end_export
-
-* Введение
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-** Титульный лист
-:PROPERTIES:
-:BEAMER_env: fullframe
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-title}
-#+beamer: \maketitle
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-title}
-
-Здравствуйте, уважаемые члены совета, коллеги и гости. Меня зовут Иван Ганкевич.
-Моя диссертация посвящена имитационному моделированию морского волнения.
-Диссертация выполнена под руководством д.т.н.\nbsp{}Дегтярева Александра
-Борисовича.
-
-** Постановка задачи
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-problem}
-
-Разработать
-- трехмерную имитационную модель морского волнения,
-- метод вычисления поля давлений под взволнованной поверхностью,
-- программный комплекс для систем с общей и распределенной памятью,
-которые являются /альтернативами/ аналогам, разработанным в рамках
-линейной теории волн.
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-problem}
-
-Цель исследования заключалась в изучении и разработке математических моделей и
-численных методов, которые бы позволили выйти за рамки линейной теории волн в
-задаче имитационного моделирования морского волнения и стать альтернативами
-моделям и методам, основанных на этой теории.
-
-В рамках данного исследования была разработана
-- трехмерная имитационная математическая модель морского волнения,
-- метод вычисления поля давлений под взволнованной морской поверхностью и
-- программный комплекс, реализующий модель и метод, для систем с общей и
- распределенной памятью.
-
-* Трехмерная модель АРСС
-
-** Трехмерная модель АРСС
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-arma}
-
-\begin{equation*}
- \rectemph{zeta1}{\zeta_{i,j,k}} =
- \sum\limits_{l=0}^{p_1}
- \sum\limits_{m=0}^{p_2}
- \sum\limits_{n=0}^{p_3}
- \rectemph{phi}{\Phi_{l,m,n}} \rectemph{zeta2}{\zeta_{i-l,j-m,k-n}}
- +
- \sum\limits_{l=0}^{q_1}
- \sum\limits_{m=0}^{q_2}
- \sum\limits_{n=0}^{q_3}
- \rectemph{theta}{\Theta_{l,m,n}} \rectemph{eps}{\epsilon_{i-l,j-m,k-n}}
-\end{equation*}
-
-#+BEAMER: \vspace{0.5cm}
-
-#+begin_src dot :exports results :file build/arma-pipeline-ru.pdf
-digraph G {
-
- node [fontname="Open Sans",fontsize=10,margin="0.055,0",shape=box,bgcolor="E5E6E5",style="filled",height="0.37"]
- graph [nodesep="0.25",ranksep="0.30",rankdir="LR" margin=0]
- edge [arrowsize=0.66]
- bgcolor="#F5F6F5"
-
- acf [label="АКФ"]
- yule_walker_equations [label="Уравнения\nЮла—Уокера"]
- nonlinear_equations [label="Нелинейные\nуравнения"]
- ar_process [label="Модель\nАР"]
- ma_process [label="Модель\nСС"]
- arma_process [label="Модель\nАРСС"]
-
- acf->yule_walker_equations->ar_process->arma_process
- acf->nonlinear_equations->ma_process->arma_process
-
-}
-#+end_src
-
-#+RESULTS:
-[[file:build/arma-pipeline-ru.pdf]]
-
-#+begin_export latex
-\begin{tikzpicture}[remember picture,overlay]
-\node[fill=none,baseline,anchor=south west,xshift=1.1cm,yshift=-1.75cm]
- (zetaLabel) at (current page.north west)
- {\scriptsize{}подъем взволнованной поверхности};
-\node[fill=none,anchor=south east,xshift=-2cm,yshift=-1.75cm]
- (epsLabel) at (current page.north east)
- {\scriptsize{}белый шум};
-\node[fill=none,baseline,anchor=north west,below=of phi,yshift=0.2cm]
- (phiLabel)
- {\scriptsize{}коэф. АР};
-\node[fill=none,baseline,anchor=north west,below=of theta,yshift=0.2cm]
- (thetaLabel)
- {\scriptsize{}коэф. СС};
-\path[->,thick] (zetaLabel.south -| zeta1.north) edge (zeta1.north);
-\path[->,thick] (zetaLabel.south -| zeta2.north west)
- edge [transform canvas={xshift=2mm}]
- (zeta2.north west);
-\path[->,thick] (epsLabel.south -| eps.north west)
- edge [transform canvas={xshift=2mm}]
- (eps.north west);
-\path[->,thick] (phiLabel.north -| phi.south west)
- edge [transform canvas={xshift=2.5mm}]
- (phi.south west);
-\path[->,thick] (thetaLabel.north -| theta.south west)
- edge [transform canvas={xshift=2.5mm}]
- (theta.south west);
-\end{tikzpicture}
-#+end_export
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-arma}
-
-В качестве имитационной модели в данной работе используется модель авторегрессии
-скользящего среднего (сокращенно, модель АРСС). Эта модель применяется в
-статистике для анализа и прогнозирования одномерных скалярно- и векторно-значных
-временных рядов, в данной же работе ее трехмерный аналог адаптирован для
-воспроизведения значений подъема взволнованной морской поверхности в дискретные
-моменты времени. Имитация морского волнения с помощью одномерной модели АРСС
-была изучена в работах Рожкова, Гургенидзе, Трапезникова, Бухановского, Спаноса
-и Зельдина.
-
-Основное уравнение трехмерной модели АРСС представлено на слайде. Параметрами
-являются
-- дисперсия белого шума, имеющего нормальное распределение,
-- коэффициенты авторегрессии и
-- коэффициенты скользящего среднего.
-
-Параметры модели определяются из автоковариационной функции взволнованной
-морской поверхности путем решения соответствующих систем уравнений. Для
-получения коэффициентов авторегрессии решается система линейных алгебраических
-уравнений Юла---Уокера стандартным методом, а для получения коэффициентов
-скользящего среднего решается система нелинейных уравнений методом простой
-итерации.
-
-Основным отличием модели АРСС от линейных аналогов является
-- использование автоковариационной функции вместо частотно-направленных спектров
- морского волнения и
-- нефизическая природа модели, поскольку ее формулы не выводятся из
- законов сохранения для морского волнения.
-Обсудим каждое из них по порядку.
-
-** АКФ морской поверхности
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-acf}
-
-*** Columns
-:PROPERTIES:
-:BEAMER_env: columns
-:END:
-
-**** Column 1
-:PROPERTIES:
-:BEAMER_col: 1.00
-:END:
-
-#+latex: \vspace{-0.5cm}
-#+begin_src dot :exports results :file build/acf-pipeline-ru.pdf
-digraph G {
-
- node [fontname="Open Sans",fontsize=10,margin="0.055,0",shape=box,bgcolor="E5E6E5",style="filled"]
- graph [nodesep="0.25",ranksep="0.20",rankdir="TB" margin=0]
- edge [arrowsize=0.66]
- bgcolor="#F5F6F5"
-
- function [label="Формула\nпрофиля волны",height="0.40"]
- discrete_function [label="Дискретный\nпрофиль волны",height="0.40"]
- field_data [label="Натурные\nданные",width="1.1",height="0.40"]
- theorem [label="Теорема Винера—Хинчина",height="0.20"]
- acf [label="АКФ",height="0.20"]
-
- function->theorem
- discrete_function->theorem
- field_data->theorem
- theorem->acf
-
-}
-#+end_src
-
-#+RESULTS:
-[[file:build/acf-pipeline-ru.pdf]]
-
-**** Column 2 :noexport:
-:PROPERTIES:
-:BEAMER_col: 0.37
-:END:
-
-\begin{equation*}
-\hat{\gamma} = |\hat{\zeta}|^2
-\end{equation*}
-
-*** Separator
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-*** Columns
-:PROPERTIES:
-:BEAMER_env: columns
-:BEAMER_opt: T
-:END:
-
-**** Column 1
-:PROPERTIES:
-:BEAMER_col: 0.30
-:END:
-
-#+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
-#+begin_src R :file build/acf-propagating-plain-wave-ru.pdf
-source(file.path("R", "common.R"))
-par(mar=c(0,0.5,0,0))
-df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
-n <- 20
-grid <- seq(1, n)
-alpha <- 2.13975
-beta <- 0.77341
-gamm <- 0.549017
-for (i in grid) {
- for (j in grid) {
- x <- i/(n-1)
- y <- j/(n-1)
- z <- gamm * exp(-alpha*(x+y)) * cos(beta*(x+y))
- df[nrow(df) + 1,] <- c(0,i,j,z)
- }
-}
-arma.wavy_plot(df, 0, zlim=c(0,0.5), expand=0.5, border=NA)
-#+end_src
-
-#+caption: Плоская волна
-#+RESULTS:
-[[file:build/acf-propagating-plain-wave-ru.pdf]]
-
-
-**** Column 2
-:PROPERTIES:
-:BEAMER_col: 0.35
-:END:
-
-#+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
-#+begin_src R :file build/acf-standing-plain-wave-ru.pdf
-source(file.path("R", "common.R"))
-par(mar=c(0,0.5,0,0))
-df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
-n <- 20
-grid <- seq(1, n)
-alpha <- 2.31906
-beta <- -5.49873
-gamm <- 0.0680413
-for (i in grid) {
- for (j in grid) {
- x <- i/(n-1)
- y <- j/(n-1)
- z <- gamm * exp(-alpha*(x+y)) * cos(beta*x) * cos(beta*y)
- df[nrow(df) + 1,] <- c(0,i,j,z)
- }
-}
-arma.wavy_plot(df, 0, zlim=c(-0.05,0.05), expand=0.5, border=NA)
-#+end_src
-
-#+caption: Плоская стоячая волна
-#+RESULTS:
-[[file:build/acf-standing-plain-wave-ru.pdf]]
-
-**** Column 3
-:PROPERTIES:
-:BEAMER_col: 0.30
-:END:
-
-#+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
-#+begin_src R :file build/acf-propagating-stokes-wave-ru.pdf
-source(file.path("R", "common.R"))
-par(mar=c(0,0.5,0,0))
-df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
-n <- 40
-alpha <- 0.5
-grid <- seq(1, n)
-k <- 0.77341
-t <- 0
-omega <- 0.3
-a <- 1.5
-for (i in grid) {
- for (j in grid) {
- x <- i/(n-1)
- y <- j/(n-1)
- theta <- k*(x + y) - omega*t
- z <- a * exp(-alpha*(x+y)) * (cos(theta) + 0.5*k*a*cos(2*theta) + (3/8)*(k*a*k*a)*cos(3*theta))
- df[nrow(df) + 1,] <- c(0,i,j,z)
- }
-}
-arma.acf_plot(df, 0, zlim=c(0,1.0), expand=0.5, border=NA)
-#+end_src
-
-#+caption: Волна Стокса
-#+RESULTS:
-[[file:build/acf-propagating-stokes-wave-ru.pdf]]
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-acf}
-
-Одним из основных отличий модели АРСС от линейных аналогов является
-использование автоковариационной функции вместо частотно-направленных спектров
-морского волнения, что позволяет получить ряд преимуществ. Автоковариационная
-функция включает в себя не только две пространственные, но и временную
-компоненту, что позволяет моделировать форму волны, а не только частоту и
-направление движения. Посредством теоремы Винера---Хинчина автоковариационная
-функция легко вычисляется аналитически из явной формулы взволнованной
-поверхности или численно из дискретно заданной взволнованной поверхности или
-натурных данных. Модель способна воспроизводить плоские волны, волны Стокса и
-нерегулярное волнение, автоковариационные функции которых показаны на слайде.
-
-** Определение коэффициентов :noexport:
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-#+begin_export latex
-\framesubitile{Модель АР}
- \small%
- Решить СЛАУ (трехмерные уравнения Юла---Уокера) относительно $\Phi$:
- \begin{equation*}
- \Gamma
- \left[
- \begin{array}{l}
- \Phi_{0,0,0}\\
- \Phi_{0,0,1}\\
- \vdotswithin{\Phi_{0,0,0}}\\
- \Phi_{p_1,p_2,p_3}
- \end{array}
- \right]
- =
- \left[
- \begin{array}{l}
- K_{0,0,0}-\Var{\epsilon}\\
- K_{0,0,1}\\
- \vdotswithin{K_{0,0,0}}\\
- K_{p_1,p_2,p_3}
- \end{array}
- \right],
- \qquad
- \Gamma=
- \left[
- \begin{array}{llll}
- \Gamma_0 & \Gamma_1 & \cdots & \Gamma_{p_1} \\
- \Gamma_1 & \Gamma_0 & \ddots & \vdotswithin{\Gamma_0} \\
- \vdotswithin{\Gamma_0} & \ddots & \ddots & \Gamma_1 \\
- \Gamma_{p_1} & \cdots & \Gamma_1 & \Gamma_0
- \end{array}
- \right],
- \end{equation*}
- \begin{equation*}
- \Gamma_i =
- \left[
- \begin{array}{llll}
- \Gamma^0_i & \Gamma^1_i & \cdots & \Gamma^{p_2}_i \\
- \Gamma^1_i & \Gamma^0_i & \ddots & \vdotswithin{\Gamma^0_i} \\
- \vdotswithin{\Gamma^0_i} & \ddots & \ddots & \Gamma^1_i \\
- \Gamma^{p_2}_i & \cdots & \Gamma^1_i & \Gamma^0_i
- \end{array}
- \right]
- \qquad
- \Gamma_i^j=
- \left[
- \begin{array}{llll}
- K_{i,j,0} & K_{i,j,1} & \cdots & K_{i,j,p_3} \\
- K_{i,j,1} & K_{i,j,0} & \ddots &x \vdotswithin{K_{i,j,0}} \\
- \vdotswithin{K_{i,j,0}} & \ddots & \ddots & K_{i,j,1} \\
- K_{i,j,p_3} & \cdots & K_{i,j,1} & K_{i,j,0}
- \end{array}
- \right].
- \end{equation*}
-#+end_export
-
-** Определение коэффициентов :noexport:
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-#+BEAMER: \framesubitile{Модель СС}
-#+BEAMER: \small
-Решить систему нелинейных уравнений
-\begin{equation*}
- K_{i,j,k} =
- \left[
- \displaystyle
- \sum\limits_{l=i}^{q_1}
- \sum\limits_{m=j}^{q_2}
- \sum\limits_{n=k}^{q_3}
- \Theta_{l,m,n}\Theta_{l-i,m-j,n-k}
- \right]
- \Var{\epsilon}
-\end{equation*}
-относительно \(\Theta\) с помощью метода простой итерации:
-\begin{equation*}
- \theta_{i,j,k} =
- -\frac{K_{0,0,0}}{\Var{\epsilon}}
- +
- \sum\limits_{l=i}^{q_1}
- \sum\limits_{m=j}^{q_2}
- \sum\limits_{n=k}^{q_3}
- \Theta_{l,m,n} \Theta_{l-i,m-j,n-k}.
-\end{equation*}
-
-** Критерии выбора моделей АР и СС :noexport:
-Использовать модель АР для стоячих волн и модель СС для прогрессивных.
-#+latex: \newline\newline
-Экспериментальный результат:
-- модели расходятся, если делать наоборот;
-- характеристики взволнованной поверхности соответствуют реальным.
-
-** Верификация модели АРСС
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-arma-verification}
-
-*** Стоячие волны
-:PROPERTIES:
-:BEAMER_col: 0.47
-:BEAMER_opt: T
-:END:
-
-#+latex: \vspace{-1cm}
-#+header: :width 2.7 :height 2.7 :bg #F5F6F5 :font sans
-#+begin_src R :file build/standing-wave-qqplots-slides-ru.pdf
-source(file.path("R", "common.R"))
-par(pty="s", mfrow=c(2, 2), mar=c(1,1,1,0), mgp=c(3,0.3,0), cex=0.6, fg='black', col='navy')
-arma.qqplot_grid_adj(
- file.path("build", "arma-benchmarks", "verification-orig", "standing_wave"),
- c("elevation", "heights_y", "lengths_y", "periods"),
- c("подъем", "высота", "длина", "период"),
- 0.1,
- xlab="x",
- ylab="y",
- tck=0.04
-)
-#+end_src
-
-#+caption: Стоячие волны
-#+RESULTS:
-[[file:build/standing-wave-qqplots-slides-ru.pdf]]
-
-
-*** Прогрессивные волны
-:PROPERTIES:
-:BEAMER_col: 0.47
-:BEAMER_opt: T
-:END:
-
-#+latex: \vspace{-1cm}
-#+header: :width 2.7 :height 2.7 :bg #F5F6F5 :font sans
-#+begin_src R :file build/propagating-wave-qqplots-slides-ru.pdf
-source(file.path("R", "common.R"))
-par(pty="s", mfrow=c(2, 2), mar=c(1,1,1,0), mgp=c(3,0.3,0), cex=0.6, col='navy')
-arma.qqplot_grid_adj(
- file.path("build", "arma-benchmarks", "verification-orig", "propagating_wave"),
- c("elevation", "heights_y", "lengths_y", "periods"),
- c("подъем", "высота", "длина", "период"),
- 0.1,
- xlab="x",
- ylab="y",
- tck=0.04
-)
-#+end_src
-
-#+caption: Прогрессивные волны
-#+RESULTS:
-[[file:build/propagating-wave-qqplots-slides-ru.pdf]]
-
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-arma-verification}
-
-Другим основным отличием модели АРСС от линейных аналогов является ее
-нефизическая природа. Формулы модели не выводятся из физических законов
-сохранения и модель неспособна воспроизводить индивидуальные волны. Вместо этого
-воспроизводится взволнованная морская поверхность как единое целое,
-распределения интегральных характеристик которой совпадают с реальными.
-
-На слайде представлены спрямленные диаграммы (quantile-quantile plots)
-распределений различных параметров волн. Чем ближе точки расположены к прямой
-линии, тем выше степень совпадения распределений. Как видно из графиков,
-распределения параметров прогрессивных волн почти полностью совпадает с
-реальным, отличаясь лишь на хвостах, где размер выборки невелик. Распределения
-параметров стоячих волн имеют большее расхождение на хвостах, ввиду отсутствия
-надежных натурных данных для такого типа волн.
-
-** Моделирование асимметричности :noexport:
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+begin_src dot :exports results :file build/slides-nit-pipeline-ru.pdf
-digraph G {
-
- node [fontname="Open Sans",fontsize=10,margin="0.055,0",shape=box,fillcolor="#E5E6E5",style="filled",height="0.37"]
- graph [nodesep="0.55",ranksep="0.30",rankdir="TB",margin=0,splines=ortho]
- edge [fontname="Open Sans",fontsize=10,arrowsize=0.66]
- bgcolor="#F5F6F5"
-
- subgraph step1 {
- rank="same"
- acf [label="АКФ"]
- zeta [label="Поверхность"]
- }
-
- subgraph step2 {
- rank="same"
- acf_tr [label="АКФ'",fillcolor="#E5C6C5"]
- zeta_tr [label="Поверхность'",fillcolor="#E5C6C5"]
- }
-
- acf->zeta [color=invis]
- acf->acf_tr [label=" Разложение в ряд\l по полиномам Эрмита\l"]
- acf_tr->zeta_tr
- zeta_tr->zeta [label="Преобразование\lаппликат\l"]
-
-}
-#+end_src
-
-#+RESULTS:
-[[file:build/slides-nit-pipeline-ru.pdf]]
-
-#+header: :width 4 :height 1.5 :bg #F5F6F5 :font sans
-#+begin_src R :file build/slides-nit-ru.pdf
-source(file.path("R", "nonlinear.R"))
-par(mar=c(2,2,0.3,0.1),cex=0.7,mgp=c(3,0.3,0))
-args <- list(
- graphs=c('Гауссово', 'РГШ', 'АНР'),
- linetypes=c('solid', 'dashed', 'dotted'),
- axis=list(tck=-0.04),
- legend="bottom"
-)
-args$title <- NULL
-arma.plot_nonlinear(file.path("build", "nit-standing"), args)
-#+end_src
-
-#+RESULTS:
-[[file:build/slides-nit-ru.pdf]]
-
-
-* Поле давлений под дискретно заданной взволнованной поверхностью
-
-** Уравнения потенциального течения
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \footnotesize
-#+beamer: \label{slide-potential-flow}
-#+begin_export latex
-\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
-\vspace{-\baselineskip}%
-\begin{align*}%
- & \nabla^2\phi = 0
- & \text{уравнение неразрывности}
- \\
- & \phi_t+\frac{1}{2} |\vec{\upsilon}|^2 + g\zeta=-\frac{p}{\rho}
- & \text{динамическое ГУ на }z=\zeta(x,y,t)
- \\
- & D\zeta = \nabla \phi \cdot \vec{n}
- & \text{кинематическое ГУ на }z=\zeta(x,y,t)\\
-\end{align*}%
-\vspace{-2.5\baselineskip}%
-\end{beamercolorbox}%
-%
-\spbuArrow{}%
-\vspace{-0.2cm}%
-%
-\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
-\vspace{-\baselineskip}%
-\begin{align*}%
- & \phi_{xx} + \phi_{yy} + \phi_{zz} = 0\\
- & \zeta_t
- = \underbrace{\fillrectemph{f1}{\left(\FracSqrtZetaY{\zeta_x} - \zeta_x\right)}}_{f_1} \phi_x
- + \underbrace{\fillrectemph{f2}{\left(\FracSqrtZetaY{\zeta_y} - \zeta_y\right)}}_{f_2} \phi_y
- - \underbrace{\fillrectemph{f3}{\FracSqrtZetaY{1}}}_{f_3} \phi_z \\
-\end{align*}%
-\vspace{-2.7\baselineskip}%
-\end{beamercolorbox}%
-#+end_export
-
-*** Columns
-:PROPERTIES:
-:BEAMER_env: columns
-:BEAMER_opt: T
-:END:
-
-**** Column 1
-:PROPERTIES:
-:BEAMER_col: 0.47
-:END:
-#+begin_export latex
-\vspace{-\baselineskip}%
-\spbuArrow{}%
-\vspace{-1.3\baselineskip}%
-\begingroup%
-\setlength\abovedisplayskip{1mm}%
-\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
-Решение в рамках линейной теории:%
-\begin{equation*}%
-\phi(x,y,z,t) = \mathcal{W}_1(x,y,z) \mathrel{*} \left(-\zeta_t(x,y,t)\right)
-\end{equation*}%
-\vspace{-1.5\baselineskip}%
-\end{beamercolorbox}%
-\endgroup%
-#+end_export
-
-**** Column 2
-:PROPERTIES:
-:BEAMER_col: 0.47
-:END:
-#+begin_export latex
-\vspace{-\baselineskip}%
-\spbuArrow{}%
-\vspace{-1.3\baselineskip}%
-\begingroup%
-\setlength\abovedisplayskip{1mm}%
-\begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
-Общее решение:\vspace{-0.5\baselineskip}%
-\begin{equation*}%
- \phi(x,y,z,t)
- =
- \mathcal{W}_2(x,y,z)
- \mathrel{*}
-% \frac{\zeta_t(x,y,t)}{i f_1(x,y,t) + i f_2(x,y,t) - f_3(x,y,t)}
- \frac{\zeta_t(x,y,t)}{F\left(f_1, f_2, f_3\right)}
-% & \mathcal{W}_1 \approx \mathcal{W}_2
-\end{equation*}%
-\vspace{-1.35\baselineskip}%
-\end{beamercolorbox}%
-\endgroup%
-#+end_export
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-potential-flow}
-
-Модель АРСС воспроизводит волны, распределения характеристик которых совпадает с
-реальными, а значит, результирующую взволнованную морскую поверхность можно
-использовать для вычисления поля давлений, создаваемого волнами. В то же время
-поверхность может содержать волны произвольных амплитуд, из-за чего методы
-вычисления поля давлений, используемые в рамках линейной теории волн,
-неприменимы для модели АРСС. В связи с этим уравнения, описывающие движение
-жидкости были решены без упрощений линейной теории.
-
-Уравнения представлены на слайде. Это уравнение неразрывности (или уравнение
-Лапласа), уравнение движения (или динамическое граничное условие) и
-кинематическое граничное условие на свободной поверхности. Поскольку
-взволнованная поверхность известна, второе уравнение превращается в явную
-формулу для вычисления давлений, а задача сводится к поиску потенциала скорости
-\(\phi\). На слайде красным цветом выделены множители, которыми пренебрегают в
-рамках линейной теории волн.
-
-Система решается методом Фурье с использованием некоторых физических и
-математических упрощений, описанных в работе. Полное решение записывается в виде
-свертки некоторой оконной функции с суперпозицией производных взволнованной
-поверхности. Полученное решение отличается от решения из линейной теории
-наличием удаленных множителей и другой записью оконной функции. Если
-воспользоваться предположением о малости амплитуд волн, то полученное решение
-сводится к решению из линейной теории волн.
-
-** Верификация метода выч. давлений
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-potential-verification}
-
-*** Columns
-:PROPERTIES:
-:BEAMER_env: columns
-:BEAMER_opt: T
-:END:
-
-**** Column 1
-:PROPERTIES:
-:BEAMER_col: 0.47
-:END:
-
-#+beamer: \vspace{-0.5cm}
-#+header: :width 2.7 :height 1.5 :bg #F5F6F5 :font sans
-#+begin_src R :file build/slides-plain-wave-velocity-field-comparison-ru.pdf
-source(file.path("R", "velocity-potentials.R"))
-nlevels <- 41
-levels <- pretty(c(-200,200), nlevels)
-palette <- colorRampPalette(c("blue", "lightyellow", "red"))
-col <- palette(nlevels-1)
-
-par(pty="s",mgp=c(3,0.2,0),mfrow=c(1,2),mar=c(1.5,1,0,0),cex=0.66,bty="n")
-
-# linear solver
-#par(fig=c(0,0.95,0,0.5),new=TRUE)
-arma.plot_velocity_potential_field(
- file.path("build", "arma-benchmarks", "verification-orig", "plain_wave_linear_solver"),
- levels=levels,
- col=col,
- contour_lwd=0.5,
- zeta_lwd=1,
- sky_col='#F5F6F5',
- axis_args=list(tck=-0.02),
- z_min=-5,
- title_args=list(main=" Линейная\n теория",outer=FALSE,adj=0,line=-1.5,cex.main=0.77)
-)
-
-# high-amplitude solver
-#par(fig=c(0,0.95,0.5,1),new=TRUE)
-arma.plot_velocity_potential_field(
- file.path("build", "arma-benchmarks", "verification-orig", "plain_wave_high_amplitude_solver"),
- levels=levels,
- col=col,
- contour_lwd=0.5,
- zeta_lwd=1,
- sky_col='#F5F6F5',
- axis_args=list(tck=-0.02),
- z_min=-5,
- title_args=list(main=" Общее\n решение",outer=FALSE,adj=0,line=-1.5,cex.main=0.77)
-)
-#+end_src
-
-#+RESULTS:
-[[file:build/slides-plain-wave-velocity-field-comparison-ru.pdf]]
-
-**** Column 2
-:PROPERTIES:
-:BEAMER_col: 0.47
-:END:
-
-#+beamer: \vspace{-0.5cm}
-#+header: :width 2.7 :height 1.3 :bg #F5F6F5 :font sans
-#+begin_src R :file build/slides-large-and-small-amplitude-velocity-field-comparison-ru.pdf
-source(file.path("R", "velocity-potentials.R"))
-linetypes = c("solid", "dashed")
-par(pty="s",mgp=c(3,0.3,0),mfrow=c(1,2),mar=c(1.5,1,0,0),cex=0.66,bty="n")
-arma.plot_velocity(
- file.path("data", "velocity", "low-amp"),
- file.path("data", "velocity", "low-amp-0"),
- linetypes=linetypes,
- ylim=c(-2,2),
- axis_args=list(tck=-0.04),
- title_args=list(main=" Малая\n амплитуда",outer=FALSE,adj=0,line=-1.5,cex.main=0.77),
- legend_x="bottomright"
-)
-arma.plot_velocity(
- file.path("data", "velocity", "high-amp"),
- file.path("data", "velocity", "high-amp-0"),
- linetypes=linetypes,
- ylim=c(-2,2),
- title_args=list(main="Большая\n амплитуда",outer=FALSE,adj=1,line=-1.5,cex.main=0.77),
- axis_args=list(tck=-0.04),
- legend_x="bottomright"
-)
-#+end_src
-
-#+RESULTS:
-[[file:build/slides-large-and-small-amplitude-velocity-field-comparison-ru.pdf]]
-
-
-*** End column
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+header: :width 5.5 :height 1.3 :bg #F5F6F5 :font sans
-#+begin_src R :file build/slides-irregular-wave-velocity-field-ru.pdf
-source(file.path("R", "velocity-potentials.R"))
-nlevels <- 41
-levels <- pretty(c(-40,40), nlevels)
-palette <- colorRampPalette(c("blue", "lightyellow", "red"))
-col <- palette(nlevels-1)
-
-par(mgp=c(3,0.2,0),mar=c(1.5,1,0,0),cex=0.66,bty="n")
-
-# high-amplitude solver
-arma.plot_velocity_potential_field(
- file.path("build", "arma-benchmarks", "verification", "velocity", "our-formula"),
- levels=levels,
- col=col,
- contour_lwd=0.5,
- zeta_lwd=1,
- sky_col='#F5F6F5',
- axis_args=list(tck=-0.02),
- x_max=40,
- z_min=-5,
- compare_to=file.path("build", "arma-benchmarks", "verification", "velocity", "linear"),
- points_args=list(col="black",bg="black",pch=21,cex=1.5),
- title_args=list(main=" Нерегулярное волнение",outer=FALSE,adj=0.01,line=-1.5,cex.main=0.77)
-)
-#+end_src
-
-#+RESULTS:
-[[file:build/slides-irregular-wave-velocity-field-ru.pdf]]
-
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-potential-verification}
-
-Чтобы оценить отличия полученного решения, оно было сопоставлено с известными
-решениями.
-
-Если сравнивать с решением из линейной теории волн (слева сверху), то для
-синтетических волн большой амплитуды использование нового решения приводит к
-смещению области, в которой сконцентрирована основная энергия волны ближе к
-гребню.
-
-Если сравнивать с решением для волн малых амплитуд (справа сверху), то новое
-решение работает как для волн малых, так и больших амплитуд, а для волн
-малых амплитуд можно говорить о рациональном соответствии между обоими
-решениями.
-
-Если сравнивать с решением из линейной теории волн (снизу), то для нерегулярного
-волнения, воспроизведенного моделью АРСС, новое решение показывает в среднем на
-20% большие значения потенциала скорости вблизи гребней волн.
-
-** Сравнение с линейной теорией :noexport:
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-*** Columns
-:PROPERTIES:
-:BEAMER_env: columns
-:BEAMER_opt: T
-:END:
-
-**** Линейная теория
-:PROPERTIES:
-:BEAMER_env: block
-:BEAMER_col: 0.4
-:END:
-
-#+begin_export latex
-\includegraphics<1>{velocity-ref-1}
-\includegraphics<2>{velocity-ref-2}
-\includegraphics<3>{velocity-ref-4}
-#+end_export
-
-**** Новая формула
-:PROPERTIES:
-:BEAMER_env: block
-:BEAMER_col: 0.4
-:END:
-
-#+begin_export latex
-\includegraphics<1>{velocity-1}
-\includegraphics<2>{velocity-2}
-\includegraphics<3>{velocity-4}
-#+end_export
-
-** Сравнение с формулой для ВМА :noexport:
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-*** Columns
-:PROPERTIES:
-:BEAMER_env: columns
-:BEAMER_opt: T
-:END:
-
-**** Малая амплитуда
-:PROPERTIES:
-:BEAMER_env: block
-:BEAMER_col: 0.45
-:END:
-[[file:graphics/slides/low-amp-color.eps]]
-
-**** Большая амплитуда
-:PROPERTIES:
-:BEAMER_env: block
-:BEAMER_col: 0.45
-:END:
-[[file:graphics/slides/high-amp-color.eps]]
-
-** Выводы :noexport:
-Метод подходит для
-- дискретно заданной $\zeta(x,y,t)$,
-- волн произвольных амплитуд,
-- произвольной глубины $h=\text{const}$.
-
-* Программный комплекс
-
-** Программная реализация
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-implementation}
-
-#+header: :width 1.6 :height 1.6 :bg #F5F6F5 :font sans
-#+begin_src R :file build/slides-ar-cubes-ru.pdf
-source(file.path("R", "common.R"))
-par(mgp=c(3,0.4,0), cex=0.6, mar=c(1,2,2,0))
-arma.plot_ar_cubes_2d_v2(
- 3,
- 3,
- xlabel="Индекс части (X)",
- ylabel="Индекс части (Y)",
- list(
- arrow_args=list(lwd=2,angle=7,length=0.125),
- adj_x=0.4,
- adj_y=0.5,
- no_axes=TRUE
- )
-)
-#+end_src
-
-#+RESULTS:
-[[file:build/slides-ar-cubes-ru.pdf]]
-
-[[file:build/arma-pipeline-ru.pdf]]
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-implementation}
-
-Программный комплекс состоит из программных реализаций модели АРСС и линейной
-модели Лонге---Хиггинса и метода вычисления давлений. Для каждой модели и метода
-написана параллельная реализация для систем с общей памятью. Высокая
-производительность обеспечивается параллельной реализацией каждой модели и
-метода для систем с общей памятью и использованием быстрых преобразований Фурье,
-где это возможно.
-
-Программная реализация модели авторегрессии включает в себя планировщик задач,
-который обеспечивает параллельную генерацию отдельных блоков, на которые
-разделяется взволнованная поверхность, с учетом авторегрессионных зависимостей.
-Сама формула модели сводится к вычислению большого количества полиномов, что
-эффективно реализуется с помощью инструкций процессора FMA (Fused Multiply-Add).
-
-Программная реализация модели Лонге---Хиггинса сводится к простому параллельному
-суммированию гармоник в каждой точке поверхности.
-
-Вычисление коэффициентов авторегрессии реализуется стандартным методом решения
-систем линейных алгебраических уравнений с симметричными матрицами. Вычисление
-коэффициентов скользящего среднего реализуется методом простой итерации.
-
-Практически все остальные модели и методы используют быстрое преобразование
-Фурье.
-- Программная реализация модели скользящего среднего сводится к параллельной
- свертке на основе быстрых преобразований Фурье.
-- Программная реализация вычисления давлений сводится к четырем быстрым
- преобразованиям Фурье с большим количеством трансцендентных математических
- функций.
-- Вычисление автоковариационной функции сводится к трем быстрым преобразованиям
- Фурье.
-
-** Система с общей памятью
-:PROPERTIES:
-:header-args:R: :results output raw :exports results
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-smp}
-
-#+beamer: \small
-#+header: :results output raw :exports results
-#+name: tab-arma-performance
-#+begin_src R :results output org :exports results
-source(file.path("R", "benchmarks.R"))
-options(arma.mark=",")
-model_names <- list(
- ar.x="АР",
- ma.x="СС",
- lh.x="ЛХ",
- ar.y="АР",
- ma.y="СС",
- lh.y="ЛХ",
- Row.names="\\orgcmidrule{2-4}{5-6}Подпрограмма"
-)
-row_names <- list(
- determine_coefficients="Определение коэф.",
- validate="Проверка сходимости",
- generate_surface="Генерация поверхности",
- nit="НБП",
- write_all="Запись вывода в файл",
- copy_to_host="Копирование данных с GPU",
- velocity="Выч. потенциалов скорости"
-)
-arma.print_openmp_vs_opencl(model_names, row_names)
-#+end_src
-
-#+attr_latex: :booktabs t
-#+RESULTS: tab-arma-performance
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-smp}
-
-На слайде представлены результаты тестирования производительности различных
-компонент программного комплекса на системах с общей памятью с использованием
-OpenMP (процессора) и OpenCL (видеокарты). Из таблицы видно, что
-- большую часть времени система тратит на генерацию взволнованной поверхности,
-- использование видеокарты выгодно только для модели Лонге---Хиггинса и
- вычисления давлений и
-- модель авторегрессии более производительна, чем модель скользящего среднего,
- несмотря на использование быстрых преобразований Фурье.
-
-** Система с распределенной памятью
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-mpp}
-
-*** Column 1
-:PROPERTIES:
-:BEAMER_col: 0.47
-:END:
-
-#+header: :width 2 :height 2 :bg #F5F6F5 :font sans
-#+begin_src R :file build/slides-bscheduler-performance-ru.pdf
-source(file.path("R", "benchmarks.R"))
-par(mgp=c(3,0.4,0), cex=0.7, mar=c(2,2,0,0))
-data <- arma.load_bscheduler_performance_data()
-arma.plot_bscheduler_performance_data(
- data,
- list(
- openmp="OpenMP",
- bsc1="Bscheduler (один узел)",
- bsc2="Bscheduler (два узла)"
- )
-)
-title(xlab="Размер взволнованной поверхности", ylab="Время, сек.")
-#+end_src
-
-#+RESULTS:
-[[file:build/slides-bscheduler-performance-ru.pdf]]
-
-*** Column 2
-:PROPERTIES:
-:BEAMER_col: 0.47
-:END:
-
-#+name: fig-master-slave-failure
-#+header: :width 2 :height 2 :bg #F5F6F5 :font sans
-#+begin_src R :file build/slides-master-slave-failure-ru.pdf
-source(file.path("R", "benchmarks.R"))
-par(mgp=c(3,0.4,0), cex=0.7, mar=c(2,2,0,0))
-data <- arma.load_master_slave_failure_data()
-arma.plot_master_slave_failure_data(
- data,
- list(
- master="Bscheduler (главный узел)",
- slave="Bscheduler (подчиненный узел)",
- nofailures="Bscheduler (без выхода из строя)"
- )
-)
-title(xlab="Размер взволнованной поверхности", ylab="Время, сек.")
-#+end_src
-
-#+RESULTS: fig-master-slave-failure
-[[file:build/slides-master-slave-failure-ru.pdf]]
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-mpp}
-
-Для модели авторегрессии сделана реализация для систем с распределенной памятью
-и отказоустойчивый планировщик задач. Планировщик позволяет добиться увеличения
-производительности с увеличением количества узлов, которое близко к линейному
-(график слева). Также планировщик позволяет продолжить вычисления, даже если
-один из узлов кластера выходит из строя. При этом перезапускается только та
-часть задачи, которая вычислялась на вышедшем из строя узле, и теряется
-производительность только этого узла.
-
-** Диаграмма :noexport:
-:PROPERTIES:
-:BEAMER_env: fullframe
-:END:
-
-#+begin_export latex
- \tikzset{DataBlock/.style={rectangle,draw=spbuDarkGray,thick,text width=2cm,align=center}}%
- \tikzset{Terminator/.style={circle,fill=spbuDarkGray,thick,minimum size=0.4cm,text width=0pt}}%
- \tikzset{Comment/.style={draw=none,fill=none,text width=8.8cm}}%
- \small
- \begin{tikzpicture}[x=6cm,y=0.80cm]
- % UML blocks
- \node[Terminator] (umlStart) at (0,0) {};
- \node[DataBlock] (umlSpec) at (0,-1) {$S(\omega,\theta)$};
- \node[DataBlock] (umlK) at (0,-2) {$K_{i,j,k}$};
- \node[DataBlock,fill=spbuWhite2] (umlK2) at (0,-3) {$K_{i,j,k}^{*}$};
- \node[DataBlock] (umlPhi) at (0,-4) {$\Phi_{i,j,k}$};
- \node[DataBlock] (umlEps) at (0,-5) {$\epsilon_{i,j,k}$};
- \node[DataBlock,fill=spbuWhite2] (umlZeta2) at (0,-6) {$\zeta_{i,j,k}^{*}$};
- \node[DataBlock] (umlZeta) at (0,-7) {$\zeta_{i,j,k}$};
- \node[DataBlock] (umlVelocity) at (0,-8) {$\phi(x,y,z)$};
- \node[DataBlock] (umlPressure) at (0,-9) {$p(x,y,z)$};
- \node[Terminator] (umlEnd) at (0,-10) {};
- \node[circle,draw=spbuDarkGray,thick,minimum size=0.5cm,text width=0pt] at (0,-10) {};
-
- % edges
- \path[->,thick] (umlStart.south) edge (umlSpec.north);
- \path[thick] (umlSpec.south) edge (umlK.north);
- \path[thick] (umlK.south) edge (umlK2.north);
- \path[thick] (umlK2.south) edge (umlPhi.north);
- \path[thick] (umlPhi.south) edge (umlEps.north);
- \path[thick] (umlEps.south) edge (umlZeta2.north);
- \path[thick] (umlZeta2.south) edge (umlZeta.north);
- \path[thick] (umlZeta.south) edge (umlVelocity.north);
- \path[thick] (umlVelocity.south) edge (umlPressure.north);
- \path[->,thick] (umlPressure.south) edge (umlEnd.north);
-
- % comments
- \node[align=left,draw=none] at (1,-1) {Частотно-направленный спектр волнения,};
- \node[Comment] at (1,-2) {автоковариационная функция (АКФ),};
- \node[Comment] at (1,-3) {преобразованная АКФ,};
- \node[Comment] at (1,-4) {коэффициенты авторегрессии,};
- \node[Comment] at (1,-5) {белый шум,};
- \node[Comment] at (1,-6) {преобразованная реализация,};
- \node[Comment] at (1,-7) {реализация взволнованной поверхности,};
- \node[Comment] at (1,-8) {потенциал скорости,};
- \node[Comment] at (1,-9) {давление.};
- \end{tikzpicture}
-#+end_export
-
-** Оптимизация записи в файл :noexport:
-#+begin_export latex
- \begin{columns}[T]
- \begin{column}{0.575\textwidth}
- \begin{block}{\small Диаграмма событий}
- \vspace{0.25\baselineskip}%
- \includegraphics{overlap-color}
- \end{block}
- \end{column}
- \begin{column}{0.425\textwidth}
- \begin{block}{\small Время генерации}
- \vspace{0.25\baselineskip}%
- \includegraphics{performance-color}
- \end{block}
- \end{column}
- \end{columns}
-#+end_export
-
-** Отказоустойчивость :noexport:
-#+begin_export latex
-\centering%
-\includegraphics{mpp-time-color}
-#+end_export
-
-** Выводы :noexport:
-Программная реализация
-- масштабируется на SMP и MPP системы,
-- эффективна и без использования GPU
-- и отказоустойчива.
-
-* Заключение
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-** Заключение
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-conclusion}
-
-- Разработана трехмерная модель для генерации волн произвольных амплитуд.
-- Разработан метод вычисления поля давлений без предположений о малости амплитуд
- волн.
-- Разработан программный комплекс для систем с общей и распределенной памятью.
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-conclusion}
-
-Цель исследования заключалась в изучении и разработке альтернативных
-математических моделей и численных методов, которые бы позволили выйти за рамки
-линейной теории волн в задаче имитационного моделирования морского волнения. В
-рамках исследования были разработаны
-- трехмерная модель для генерации волн произвольных амплитуд,
-- метод вычисления поля давлений без предположений о малости амплитуд волн,
-- программный комплекс для систем с общей и распределенной памятью.
-
-** Апробация
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+beamer: \label{slide-validation}
-#+beamer: \small
-
-- Конференции: ISSW'14, HPCS'15, HPCS'16, HPCS'17.
-- Глава в книге The Ocean in Motion (Springer Oceanography).
-
-*** Columns
-:PROPERTIES:
-:BEAMER_env: columns
-:BEAMER_opt: T
-:END:
-
-**** LAMP4
-:PROPERTIES:
-:BEAMER_col: 0.30
-:BEAMER_env: block
-:END:
-
-#+ATTR_LATEX: :width \linewidth
-[[file:graphics/slides/lamp4-ar-waves.png]]
-
-**** Ascheduler
-:PROPERTIES:
-:BEAMER_col: 0.30
-:BEAMER_env: block
-:END:
-
-#+ATTR_LATEX: :width \linewidth
-[[file:graphics/slides/spark-logo.png]]
-
-**** HPCS'15
-:PROPERTIES:
-:BEAMER_col: 0.30
-:BEAMER_env: block
-:END:
-
-#+ATTR_LATEX: :width \linewidth
-[[file:graphics/slides/hpcs-15-poster-paper-award.png]]
-
-#+latex: \setbeamerfont{block title}{size=\normalsize}
-
-** Notes
-:PROPERTIES:
-:BEAMER_env: ignoreheading
-:END:
-
-#+beamer: \spbuSlide{slide-validation}
-
-Доклады по теме диссертации были представлены на конференциях International Ship
-Stability Workshop и High-Performance Computing & Simulation. По результатам
-исследования опубликована глава в книге The Ocean in Motion.
-
-Модель авторегрессии и метод вычисления давлений были интегрированы в
-программный комплекс Large Amplitude Motion Program (LAMP4).
-
-На основе отказоустойчивого планировщика задач был сделан аналог для фреймворка
-обработки больших массивов данных Apache Spark.
-
-Доклад на конференции HPCS'15 был признан лучшим устным докладом.
-
-** Взволнованная морская поверхность :noexport:
-:PROPERTIES:
-:BEAMER_act: <presentation>
-:END:
-
-#+begin_export latex
-\begin{tikzpicture}[remember picture,overlay]
- \node[inner sep=0pt,rectangle] at (current page.center){%
- \includegraphics[width=0.95\paperwidth]{wavy}
- };%
-\end{tikzpicture}
-#+end_export
-
diff --git a/arma-thesis-ru.org b/arma-thesis-ru.org
@@ -10,6 +10,8 @@
#+LATEX_HEADER_EXTRA: \supervisor{Научный руководитель\\д.т.н. Дегтярев Александр Борисович}
#+LATEX_HEADER_EXTRA: \newcites{published}{Список опубликованных по теме диссертации работ}
+#+latex: \maketitlepage
+
* Введение
**** Актуальность темы.
Программы, моделирующие поведение судна на морских волнах, широко применяются
diff --git a/arma-thesis.org b/arma-thesis.org
@@ -11,6 +11,8 @@
#+LATEX_HEADER_EXTRA: \newcites{published}{Publications on the subject of thesis}
#+LATEX_HEADER_EXTRA: \AtBeginDocument{\setcounter{page}{146}}
+#+latex: \maketitlepage
+
* Introduction
**** Topic relevance.
Software programmes, which simulate ship behaviour in sea waves, are widely used
diff --git a/gost.cls b/gost.cls
@@ -102,7 +102,7 @@
\setcounter{page}{2}%
}
-\AtBeginDocument{\maketitlepage}
+%\AtBeginDocument{\maketitlepage}
% clear page before each section
\RequirePackage{etoolbox}