arma-thesis

Simulation modelling of irregular waves for marine object dynamics programmes
git clone https://git.igankevich.com/arma-thesis.git
Log | Files | Refs | LICENSE

arma-slides-ru.org (46229B)


      1 #+TITLE: Имитационное моделирование нерегулярного волнения для программ динамики морских объектов
      2 #+AUTHOR: Иван Ганкевич
      3 #+DATE: Санкт-Петербург, 2018
      4 #+LANGUAGE: ru
      5 #+LATEX_CLASS: beamer
      6 #+LATEX_CLASS_OPTIONS: [14pt,aspectratio=169]
      7 #+LATEX_HEADER_EXTRA: \input{slides-titlepage-ru}
      8 #+LATEX_HEADER_EXTRA: \input{slides-preamble}
      9 #+BEAMER_THEME: SaintPetersburg
     10 #+OPTIONS: todo:nil title:nil ':t toc:nil H:2
     11 #+STARTUP: indent
     12 #+PROPERTY: header-args:R :results graphics :exports results :eval no-export
     13 
     14 #+begin_export latex
     15 \setbeamertemplate{title page}{%
     16 	\centering%
     17 	\vskip1cm\spbuInsertField{title}%
     18 	\ifx\insertsubtitle\empty\else%
     19 		\vskip0.5\baselineskip%
     20 		\spbuInsertField{subtitle}%
     21 	\fi%
     22 	\vfill\spbuInsertField{author}%
     23 	\vfill\spbuInsertField{institute}%
     24 	\vfill\inserttitlegraphic%
     25 	\vfill\spbuInsertField{date}%
     26 }
     27 \setbeamerfont{block title}{size=\small}
     28 \setbeamerfont{note page}{size=\footnotesize}
     29 \setjobnamebeamerversion{arma-slides-ru}
     30 \mode*
     31 #+end_export
     32 
     33 * Введение
     34 :PROPERTIES:
     35 :BEAMER_env: ignoreheading
     36 :END:
     37 
     38 ** Титульный лист
     39 :PROPERTIES:
     40 :BEAMER_env: fullframe
     41 :BEAMER_act: <presentation>
     42 :BEAMER_opt: label=slide-title
     43 :END:
     44 
     45 #+beamer: \maketitle
     46 
     47 ** Notes
     48 :PROPERTIES:
     49 :BEAMER_env: ignoreheading
     50 :END:
     51 
     52 #+beamer: \spbuSlide{slide-title}
     53 
     54 Здравствуйте, уважаемые члены совета, коллеги и гости. Меня зовут Иван Ганкевич.
     55 Моя диссертация посвящена имитационному моделированию морского волнения.
     56 Диссертация выполнена под руководством д.т.н.\nbsp{}Дегтярева Александра
     57 Борисовича.
     58 
     59 ** Постановка задачи
     60 :PROPERTIES:
     61 :BEAMER_act: <presentation>
     62 :BEAMER_opt: label=slide-problem
     63 :END:
     64 
     65 Разработать
     66 - трехмерную имитационную модель морского волнения,
     67 - метод вычисления поля давлений под взволнованной поверхностью,
     68 - программный комплекс для систем с общей и распределенной памятью,
     69 которые являются /альтернативами/ аналогам, разработанным в рамках
     70 линейной теории волн.
     71 
     72 ** Notes
     73 :PROPERTIES:
     74 :BEAMER_env: ignoreheading
     75 :END:
     76 
     77 #+beamer: \spbuSlide{slide-problem}
     78 
     79 Цель исследования заключалась в изучении и разработке математических моделей и
     80 численных методов, которые бы позволили выйти за рамки линейной теории волн в
     81 задаче имитационного моделирования морского волнения и стать альтернативами
     82 моделям и методам, основанных на этой теории.
     83 
     84 В рамках данного исследования была разработана
     85 - трехмерная имитационная математическая модель морского волнения,
     86 - метод вычисления поля давлений под взволнованной морской поверхностью и
     87 - программный комплекс, реализующий модель и метод, для систем с общей и
     88   распределенной памятью.
     89 
     90 * Трехмерная модель АРСС
     91 
     92 ** Трехмерная модель АРСС
     93 :PROPERTIES:
     94 :BEAMER_act: <presentation>
     95 :BEAMER_opt: label=slide-arma
     96 :END:
     97 
     98 \begin{equation*}
     99   \rectemph{zeta1}{\zeta_{i,j,k}} =
    100   \sum\limits_{l=0}^{p_1}
    101   \sum\limits_{m=0}^{p_2}
    102   \sum\limits_{n=0}^{p_3}
    103   \rectemph{phi}{\Phi_{l,m,n}} \rectemph{zeta2}{\zeta_{i-l,j-m,k-n}}
    104   +
    105   \sum\limits_{l=0}^{q_1}
    106   \sum\limits_{m=0}^{q_2}
    107   \sum\limits_{n=0}^{q_3}
    108   \rectemph{theta}{\Theta_{l,m,n}} \rectemph{eps}{\epsilon_{i-l,j-m,k-n}}
    109 \end{equation*}
    110 
    111 #+begin_export latex
    112 \begin{tikzpicture}[remember picture,overlay]
    113 \node[fill=none,baseline,anchor=south west,xshift=1.1cm,yshift=-1.75cm]
    114 	(zetaLabel) at (current page.north west)
    115 	{\scriptsize{}подъем взволнованной поверхности};
    116 \node[fill=none,anchor=south east,xshift=-2cm,yshift=-1.75cm]
    117 	(epsLabel) at (current page.north east)
    118 	{\scriptsize{}белый шум};
    119 \node[fill=none,baseline,anchor=north west,below=of phi,yshift=0.2cm]
    120 	(phiLabel)
    121 	{\scriptsize{}коэффициенты АР};
    122 \node[fill=none,baseline,anchor=north west,below=of theta,yshift=0.2cm]
    123 	(thetaLabel)
    124 	{\scriptsize{}коэффициенты СС};
    125 \path[->,thick] (zetaLabel.south -| zeta1.north) edge (zeta1.north);
    126 \path[->,thick] (zetaLabel.south -| zeta2.north west)
    127 	edge [transform canvas={xshift=2mm}]
    128 	(zeta2.north west);
    129 \path[->,thick] (epsLabel.south -| eps.north west)
    130 	edge [transform canvas={xshift=2mm}]
    131 	(eps.north west);
    132 \path[->,thick] (phiLabel.north -| phi.south west)
    133 	edge [transform canvas={xshift=2.5mm}]
    134 	(phi.south west);
    135 \path[->,thick] (thetaLabel.north -| theta.south west)
    136 	edge [transform canvas={xshift=2.5mm}]
    137 	(theta.south west);
    138 \end{tikzpicture}
    139 #+end_export
    140 
    141 #+BEAMER: \vspace{0.5cm}\pause
    142 
    143 #+begin_src dot :exports results :file build/arma-pipeline-ru.pdf
    144 digraph G {
    145 
    146   node [
    147 	  fontname="Open Sans",
    148 	  fontsize=10,
    149 	  margin="0.055,0",
    150 	  shape=box,
    151 	  fillcolor="#E5E6E5",
    152 	  style="filled",
    153 	  height="0.37",
    154 	  color="#404040"
    155   ]
    156   graph [nodesep="0.25",ranksep="0.30",rankdir="LR" margin=0]
    157   edge [arrowsize=0.66,color="#404040"]
    158   bgcolor="#F5F6F5"
    159 
    160   acf [label="АКФ"]
    161   yule_walker_equations [label="Уравнения\nЮла—Уокера"]
    162   nonlinear_equations [label="Нелинейные\nуравнения"]
    163   ar_process [label="Модель\nАР"]
    164   ma_process [label="Модель\nСС"]
    165   arma_process [label="Модель\nАРСС"]
    166 
    167   acf->yule_walker_equations->ar_process->arma_process
    168   acf->nonlinear_equations->ma_process->arma_process
    169 
    170 }
    171 #+end_src
    172 
    173 #+RESULTS:
    174 [[file:build/arma-pipeline-ru.pdf]]
    175 
    176 ** Notes
    177 :PROPERTIES:
    178 :BEAMER_env: ignoreheading
    179 :END:
    180 
    181 #+beamer: \spbuSlide{slide-arma<2>}
    182 
    183 В качестве имитационной модели в данной работе используется модель авторегрессии
    184 скользящего среднего (сокращенно, модель АРСС). Эта модель применяется в
    185 статистике для анализа и прогнозирования одномерных скалярно- и векторно-значных
    186 временных рядов, в данной же работе ее трехмерный аналог адаптирован для
    187 воспроизведения значений подъема взволнованной морской поверхности в дискретные
    188 моменты времени. Имитация морского волнения с помощью одномерной модели АРСС
    189 была изучена в работах Рожкова, Гургенидзе, Трапезникова, Бухановского, Спаноса
    190 и Зельдина.
    191 
    192 Основное уравнение трехмерной модели АРСС представлено на слайде. Параметрами
    193 являются
    194 - дисперсия белого шума, имеющего нормальное распределение,
    195 - коэффициенты авторегрессии и
    196 - коэффициенты скользящего среднего.
    197 
    198 Параметры модели определяются из автоковариационной функции взволнованной
    199 морской поверхности путем решения соответствующих систем уравнений. Для
    200 получения коэффициентов авторегрессии решается система линейных алгебраических
    201 уравнений Юла---Уокера стандартным методом, а для получения коэффициентов
    202 скользящего среднего решается система нелинейных уравнений методом простой
    203 итерации.
    204 
    205 Основным отличием модели АРСС от линейных аналогов является
    206 - использование трехмерной автоковариационной функции вместо двухмерных
    207   частотно-направленных спектров морского волнения и
    208 - нефизическая природа модели, поскольку ее формулы не выводятся из законов
    209   сохранения для морского волнения.
    210 Обсудим каждое из них по порядку.
    211 
    212 ** АКФ морской поверхности
    213 :PROPERTIES:
    214 :BEAMER_act: <presentation>
    215 :BEAMER_OPT: label=slide-acf
    216 :END:
    217 
    218 *** Columns
    219 :PROPERTIES:
    220 :BEAMER_env: columns
    221 :END:
    222 
    223 **** Column 1
    224 :PROPERTIES:
    225 :BEAMER_col: 1.00
    226 :END:
    227 
    228 #+latex: \vspace{-0.5cm}
    229 #+begin_src dot :exports results :file build/acf-pipeline-ru.pdf
    230 digraph G {
    231 
    232   node [
    233 	  fontname="Open Sans",
    234 	  fontsize=10,
    235 	  margin="0.055,0",
    236 	  shape=box,
    237 	  fillcolor="#E5E6E5",
    238 	  style="filled",
    239 	  color="#404040"
    240   ]
    241   graph [nodesep="0.25",ranksep="0.20",rankdir="TB" margin=0]
    242   edge [arrowsize=0.66,color="#404040"]
    243   bgcolor="#F5F6F5"
    244 
    245   function [label="Формула\nповерхности волны",height="0.40"]
    246   discrete_function [label="Дискретная\nповерхность волны",height="0.40"]
    247   field_data [label="Натурные\nданные",width="1.1",height="0.40"]
    248   theorem [label="Теорема Винера—Хинчина",height="0.20"]
    249   acf [label="АКФ",height="0.20"]
    250 
    251   function->theorem
    252   discrete_function->theorem
    253   field_data->theorem
    254   theorem->acf
    255 
    256 }
    257 #+end_src
    258 
    259 #+RESULTS:
    260 [[file:build/acf-pipeline-ru.pdf]]
    261 
    262 *** Separator
    263 :PROPERTIES:
    264 :BEAMER_env: ignoreheading
    265 :END:
    266 
    267 *** Columns
    268 :PROPERTIES:
    269 :BEAMER_env: columns
    270 :BEAMER_opt: T
    271 :END:
    272 
    273 **** Column 1
    274 :PROPERTIES:
    275 :BEAMER_col: 0.30
    276 :END:
    277 
    278 #+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
    279 #+begin_src R :file build/acf-propagating-plain-wave-ru.pdf
    280 source(file.path("R", "common.R"))
    281 par(mar=c(0,0.5,0,0))
    282 df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
    283 n <- 20
    284 grid <- seq(1, n)
    285 alpha <- 2.13975
    286 beta <- 0.77341
    287 gamm <- 0.549017
    288 for (i in grid) {
    289 	for (j in grid) {
    290     x <- i/(n-1)
    291     y <- j/(n-1)
    292 		z <- gamm * exp(-alpha*(x+y)) * cos(beta*(x+y))
    293 		df[nrow(df) + 1,] <- c(0,i,j,z)
    294 	}
    295 }
    296 arma.wavy_plot(df, 0, zlim=c(0,0.5), expand=0.5, border=NA)
    297 #+end_src
    298 
    299 #+caption: Плоская волна
    300 #+RESULTS:
    301 [[file:build/acf-propagating-plain-wave-ru.pdf]]
    302 
    303 
    304 **** Column 2
    305 :PROPERTIES:
    306 :BEAMER_col: 0.35
    307 :END:
    308 
    309 #+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
    310 #+begin_src R :file build/acf-standing-plain-wave-ru.pdf
    311 source(file.path("R", "common.R"))
    312 par(mar=c(0,0.5,0,0))
    313 df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
    314 n <- 20
    315 grid <- seq(1, n)
    316 alpha <- 2.31906
    317 beta <- -5.49873
    318 gamm <- 0.0680413
    319 for (i in grid) {
    320 	for (j in grid) {
    321     x <- i/(n-1)
    322     y <- j/(n-1)
    323 		z <- gamm * exp(-alpha*(x+y)) * cos(beta*x) * cos(beta*y)
    324 		df[nrow(df) + 1,] <- c(0,i,j,z)
    325 	}
    326 }
    327 arma.wavy_plot(df, 0, zlim=c(-0.05,0.05), expand=0.5, border=NA)
    328 #+end_src
    329 
    330 #+caption: Плоская стоячая волна
    331 #+RESULTS:
    332 [[file:build/acf-standing-plain-wave-ru.pdf]]
    333 
    334 **** Column 3
    335 :PROPERTIES:
    336 :BEAMER_col: 0.30
    337 :END:
    338 
    339 #+header: :width 1.7 :height 1.2 :bg #F5F6F5 :font sans
    340 #+begin_src R :file build/acf-propagating-stokes-wave-ru.pdf
    341 source(file.path("R", "common.R"))
    342 par(mar=c(0,0.5,0,0))
    343 df <- data.frame(t=rep(NA,0), x=rep(NA,0), y=rep(NA,0), z=rep(NA,0))
    344 n <- 40
    345 alpha <- 0.5
    346 grid <- seq(1, n)
    347 k <- 0.77341
    348 t <- 0
    349 omega <- 0.3
    350 a <- 1.5
    351 for (i in grid) {
    352 	for (j in grid) {
    353     x <- i/(n-1)
    354     y <- j/(n-1)
    355     theta <- k*(x + y) - omega*t
    356 		z <- a * exp(-alpha*(x+y)) * (cos(theta) + 0.5*k*a*cos(2*theta) + (3/8)*(k*a*k*a)*cos(3*theta))
    357 		df[nrow(df) + 1,] <- c(0,i,j,z)
    358 	}
    359 }
    360 arma.acf_plot(df, 0, zlim=c(0,1.0), expand=0.5, border=NA)
    361 #+end_src
    362 
    363 #+caption: Волна Стокса
    364 #+RESULTS:
    365 [[file:build/acf-propagating-stokes-wave-ru.pdf]]
    366 
    367 ** Notes
    368 :PROPERTIES:
    369 :BEAMER_env: ignoreheading
    370 :END:
    371 
    372 #+beamer: \spbuSlide{slide-acf}
    373 
    374 Одним из основных отличий модели АРСС от линейных аналогов является
    375 использование автоковариационной функции вместо частотно-направленных спектров
    376 морского волнения, что позволяет получить ряд преимуществ. Автоковариационная
    377 функция включает в себя не только две пространственные, но и временную
    378 компоненту, что позволяет моделировать форму волны, а не только частоту и
    379 направление движения. Посредством теоремы Винера---Хинчина автоковариационная
    380 функция легко вычисляется аналитически из явной формулы взволнованной
    381 поверхности или численно из дискретно заданной взволнованной поверхности или
    382 натурных данных. Модель способна воспроизводить плоские волны, волны Стокса и
    383 нерегулярное волнение, автоковариационные функции которых показаны на слайде.
    384 
    385 ** Верификация модели АРСС
    386 :PROPERTIES:
    387 :BEAMER_act: <presentation>
    388 :BEAMER_OPT: label=slide-arma-verification
    389 :END:
    390 
    391 *** Стоячие волны
    392 :PROPERTIES:
    393 :BEAMER_col: 0.47
    394 :BEAMER_opt: T
    395 :END:
    396 
    397 #+latex: \vspace{-1cm}
    398 #+header: :width 2.7 :height 2.7 :bg #F5F6F5 :font sans
    399 #+begin_src R :file build/standing-wave-qqplots-slides-ru.pdf
    400 source(file.path("R", "common.R"))
    401 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')
    402 arma.qqplot_grid_adj(
    403   file.path("build", "arma-benchmarks", "verification-orig", "standing_wave"),
    404   c("elevation", "heights_y", "lengths_y", "periods"),
    405   c("подъем", "высота", "длина", "период"),
    406   0.1,
    407   xlab="x",
    408   ylab="y",
    409   tck=0.04
    410 )
    411 #+end_src
    412 
    413 #+caption: Стоячие волны
    414 #+RESULTS:
    415 [[file:build/standing-wave-qqplots-slides-ru.pdf]]
    416 
    417 
    418 *** Прогрессивные волны
    419 :PROPERTIES:
    420 :BEAMER_col: 0.47
    421 :BEAMER_opt: T
    422 :END:
    423 
    424 #+latex: \vspace{-1cm}
    425 #+header: :width 2.7 :height 2.7 :bg #F5F6F5 :font sans
    426 #+begin_src R :file build/propagating-wave-qqplots-slides-ru.pdf
    427 source(file.path("R", "common.R"))
    428 par(pty="s", mfrow=c(2, 2), mar=c(1,1,1,0), mgp=c(3,0.3,0), cex=0.6, col='navy')
    429 arma.qqplot_grid_adj(
    430   file.path("build", "arma-benchmarks", "verification-orig", "propagating_wave"),
    431   c("elevation", "heights_y", "lengths_y", "periods"),
    432   c("подъем", "высота", "длина", "период"),
    433   0.1,
    434   xlab="x",
    435   ylab="y",
    436   tck=0.04
    437 )
    438 #+end_src
    439 
    440 #+caption: Прогрессивные волны
    441 #+RESULTS:
    442 [[file:build/propagating-wave-qqplots-slides-ru.pdf]]
    443 
    444 
    445 ** Notes
    446 :PROPERTIES:
    447 :BEAMER_env: ignoreheading
    448 :END:
    449 
    450 #+beamer: \spbuSlide{slide-arma-verification}
    451 
    452 Другим основным отличием модели АРСС от линейных аналогов является ее
    453 нефизическая природа. Формулы модели не выводятся из физических законов
    454 сохранения и модель неспособна воспроизводить индивидуальные волны. Вместо этого
    455 воспроизводится взволнованная морская поверхность как единое целое,
    456 распределения интегральных характеристик которой совпадают с реальными.
    457 
    458 На слайде представлены спрямленные диаграммы (quantile-quantile plots)
    459 распределений различных параметров волн. Чем ближе точки расположены к прямой
    460 линии, тем выше степень совпадения распределений. Как видно из графиков,
    461 распределения параметров прогрессивных волн почти полностью совпадает с
    462 реальным, отличаясь лишь на хвостах, где размер выборки невелик. Распределения
    463 параметров стоячих волн имеют большее расхождение на хвостах, ввиду отсутствия
    464 надежных натурных данных для такого типа волн.
    465 
    466 В работах Бухановского, Дегтярева и Рида показано, что АРСС воспроизводит
    467 условные математическое ожидание и дисперсию высот и длин волн, которые
    468 изначально не учитывались при моделировании. Также воспроизводится дисперсионное
    469 соотношение.
    470 
    471 ** Моделирование асимметричности                                  :noexport:
    472 :PROPERTIES:
    473 :BEAMER_act: <presentation>
    474 :END:
    475 
    476 #+begin_src dot :exports results :file build/slides-nit-pipeline-ru.pdf
    477 digraph G {
    478 
    479   node [fontname="Open Sans",fontsize=10,margin="0.055,0",shape=box,fillcolor="#E5E6E5",style="filled",height="0.37"]
    480   graph [nodesep="0.55",ranksep="0.30",rankdir="TB",margin=0,splines=ortho]
    481   edge [fontname="Open Sans",fontsize=10,arrowsize=0.66]
    482   bgcolor="#F5F6F5"
    483 
    484   subgraph step1 {
    485     rank="same"
    486     acf [label="АКФ"]
    487     zeta [label="Поверхность"]
    488   }
    489 
    490   subgraph step2 {
    491     rank="same"
    492     acf_tr [label="АКФ'",fillcolor="#E5C6C5"]
    493     zeta_tr [label="Поверхность'",fillcolor="#E5C6C5"]
    494   }
    495 
    496   acf->zeta [color=invis]
    497   acf->acf_tr [label="      Разложение в ряд\l      по полиномам Эрмита\l"]
    498   acf_tr->zeta_tr
    499   zeta_tr->zeta [label="Преобразование\lаппликат\l"]
    500 
    501 }
    502 #+end_src
    503 
    504 #+RESULTS:
    505 [[file:build/slides-nit-pipeline-ru.pdf]]
    506 
    507 #+header: :width 4 :height 1.5 :bg #F5F6F5 :font sans
    508 #+begin_src R :file build/slides-nit-ru.pdf
    509 source(file.path("R", "nonlinear.R"))
    510 par(mar=c(2,2,0.3,0.1),cex=0.7,mgp=c(3,0.3,0))
    511 args <- list(
    512   graphs=c('Гауссово', 'РГШ', 'АНР'),
    513   linetypes=c('solid', 'dashed', 'dotted'),
    514   axis=list(tck=-0.04),
    515   legend="bottom"
    516 )
    517 args$title <- NULL
    518 arma.plot_nonlinear(file.path("build", "nit-standing"), args)
    519 #+end_src
    520 
    521 #+RESULTS:
    522 [[file:build/slides-nit-ru.pdf]]
    523 
    524 
    525 * Поле давлений под дискретно заданной взволнованной поверхностью
    526 
    527 ** Уравнения для потенциала скорости
    528 :PROPERTIES:
    529 :BEAMER_act: <presentation>
    530 :BEAMER_opt: label=slide-potential-flow
    531 :END:
    532 
    533 #+beamer: \footnotesize
    534 #+begin_export latex
    535 \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
    536 \vspace{-\baselineskip}%
    537 \begin{align*}%
    538     & \nabla^2\phi = 0
    539 	& \text{уравнение неразрывности}
    540 	\\
    541     & \phi_t+\frac{1}{2} |\vec{\upsilon}|^2 + g\zeta=-\frac{p}{\rho}
    542     & \text{динамическое ГУ на }z=\zeta(x,y,t)
    543 	\\
    544     & D\zeta = \nabla \phi \cdot \vec{n}
    545     & \text{кинематическое ГУ на }z=\zeta(x,y,t)\\
    546 \end{align*}%
    547 \vspace{-2.5\baselineskip}%
    548 \end{beamercolorbox}%
    549 %
    550 \pause%
    551 %
    552 \spbuArrow{}%
    553 \vspace{-0.2cm}%
    554 %
    555 \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
    556 \vspace{-\baselineskip}%
    557 \begin{align*}%
    558     & \phi_{xx} + \phi_{yy} + \phi_{zz} = 0\\
    559     & \zeta_t 
    560     = \underbrace{\fillrectemph{f1}{\left(\FracSqrtZetaY{\zeta_x} - \zeta_x\right)}}_{f_1} \phi_x
    561     + \underbrace{\fillrectemph{f2}{\left(\FracSqrtZetaY{\zeta_y} - \zeta_y\right)}}_{f_2} \phi_y
    562     - \underbrace{\fillrectemph{f3}{\FracSqrtZetaY{1}}}_{f_3} \phi_z \\
    563 \end{align*}%
    564 \vspace{-2.7\baselineskip}%
    565 \end{beamercolorbox}%
    566 %
    567 \pause%
    568 #+end_export
    569 
    570 *** Columns
    571 :PROPERTIES:
    572 :BEAMER_env: columns
    573 :BEAMER_opt: T
    574 :END:
    575 
    576 **** Column 1
    577 :PROPERTIES:
    578 :BEAMER_col: 0.47
    579 :END:
    580 #+begin_export latex
    581 \vspace{-\baselineskip}%
    582 \spbuArrow{}%
    583 \vspace{-1.3\baselineskip}%
    584 \begingroup%
    585 \setlength\abovedisplayskip{1mm}%
    586 \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
    587 Решение в рамках линейной теории:%
    588 \begin{equation*}%
    589 \phi(x,y,z,t) = \mathcal{W}_1(x,y,z) \mathrel{*} \left(-\zeta_t(x,y,t)\right)
    590 \end{equation*}%
    591 \vspace{-1.5\baselineskip}%
    592 \end{beamercolorbox}%
    593 \endgroup%
    594 #+end_export
    595 
    596 **** Column 2
    597 :PROPERTIES:
    598 :BEAMER_col: 0.47
    599 :END:
    600 #+begin_export latex
    601 \vspace{-\baselineskip}%
    602 \spbuArrow{}%
    603 \vspace{-1.3\baselineskip}%
    604 \begingroup%
    605 \setlength\abovedisplayskip{1mm}%
    606 \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
    607 Общее решение:\vspace{-0.5\baselineskip}%
    608 \begin{equation*}%
    609 	\phi(x,y,z,t)
    610 	=
    611 	\mathcal{W}_2(x,y,z)
    612 	\mathrel{*}
    613 %	\frac{\zeta_t(x,y,t)}{i f_1(x,y,t) + i f_2(x,y,t) - f_3(x,y,t)}
    614 	\frac{\zeta_t(x,y,t)}{F\left(f_1, f_2, f_3\right)}
    615 %	& \mathcal{W}_1 \approx \mathcal{W}_2
    616 \end{equation*}%
    617 \vspace{-1.35\baselineskip}%
    618 \end{beamercolorbox}%
    619 \endgroup%
    620 #+end_export
    621 
    622 ** Notes
    623 :PROPERTIES:
    624 :BEAMER_env: ignoreheading
    625 :END:
    626 
    627 #+beamer: \spbuSlide{slide-potential-flow<3>}
    628 
    629 Модель АРСС воспроизводит волны, распределения характеристик которых совпадает с
    630 реальными, а значит, результирующую взволнованную морскую поверхность можно
    631 использовать для вычисления поля давлений, создаваемого волнами. В то же время
    632 поверхность может содержать волны произвольных амплитуд, из-за чего методы
    633 вычисления поля давлений, используемые в рамках линейной теории волн,
    634 неприменимы для модели АРСС. В связи с этим уравнения, описывающие движение
    635 жидкости были решены без упрощений линейной теории.
    636 
    637 Уравнения представлены на слайде. Это уравнение неразрывности (или уравнение
    638 Лапласа), уравнение движения (или динамическое граничное условие) и
    639 кинематическое граничное условие на свободной поверхности. Поскольку
    640 взволнованная поверхность известна, второе уравнение превращается в явную
    641 формулу для вычисления давлений, а задача сводится к поиску потенциала скорости
    642 \(\phi\). На слайде красным цветом выделены множители, которыми пренебрегают в
    643 рамках линейной теории волн.
    644 
    645 Система решается методом Фурье с использованием некоторых физических и
    646 математических упрощений, описанных в работе. Полное решение записывается в виде
    647 свертки некоторой оконной функции с суперпозицией производных взволнованной
    648 поверхности. Полученное решение отличается от решения из линейной теории
    649 наличием удаленных множителей и другой записью оконной функции. Если
    650 воспользоваться предположением о малости амплитуд волн, то полученное решение
    651 сводится к решению из линейной теории волн.
    652 
    653 ** Верификация метода выч. давлений
    654 :PROPERTIES:
    655 :BEAMER_act: <presentation>
    656 :BEAMER_OPT: label=slide-potential-verification
    657 :END:
    658 
    659 
    660 *** Columns
    661 :PROPERTIES:
    662 :BEAMER_env: columns
    663 :BEAMER_opt: T
    664 :END:
    665 
    666 **** Column 1
    667 :PROPERTIES:
    668 :BEAMER_col: 0.47
    669 :END:
    670 
    671 #+beamer: \vspace{-0.5cm}
    672 #+header: :width 2.7 :height 1.5 :bg #F5F6F5 :font sans
    673 #+begin_src R :file build/slides-plain-wave-velocity-field-comparison-ru.pdf
    674 source(file.path("R", "velocity-potentials.R"))
    675 nlevels <- 41
    676 levels <- pretty(c(-200,200), nlevels)
    677 palette <- colorRampPalette(c("blue", "lightyellow", "red"))
    678 col <- palette(nlevels-1)
    679 
    680 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")
    681 
    682 # linear solver
    683 #par(fig=c(0,0.95,0,0.5),new=TRUE)
    684 arma.plot_velocity_potential_field(
    685   file.path("build", "arma-benchmarks", "verification-orig", "plain_wave_linear_solver"),
    686   levels=levels,
    687   col=col,
    688   contour_lwd=0.5,
    689   zeta_lwd=1,
    690   sky_col='#F5F6F5',
    691   axis_args=list(tck=-0.02),
    692   z_min=-5,
    693   title_args=list(main="     Линейная\n     теория",outer=FALSE,adj=0,line=-1.5,cex.main=0.77)
    694 )
    695 
    696 # high-amplitude solver
    697 #par(fig=c(0,0.95,0.5,1),new=TRUE)
    698 arma.plot_velocity_potential_field(
    699   file.path("build", "arma-benchmarks", "verification-orig", "plain_wave_high_amplitude_solver"),
    700   levels=levels,
    701   col=col,
    702   contour_lwd=0.5,
    703   zeta_lwd=1,
    704   sky_col='#F5F6F5',
    705   axis_args=list(tck=-0.02),
    706   z_min=-5,
    707   title_args=list(main="     Общее\n     решение",outer=FALSE,adj=0,line=-1.5,cex.main=0.77)
    708 )
    709 #+end_src
    710 
    711 #+RESULTS:
    712 [[file:build/slides-plain-wave-velocity-field-comparison-ru.pdf]]
    713 
    714 **** Column 2
    715 :PROPERTIES:
    716 :BEAMER_col: 0.47
    717 :END:
    718 
    719 #+beamer: \vspace{-0.5cm}
    720 #+header: :width 2.7 :height 1.3 :bg #F5F6F5 :font sans
    721 #+begin_src R :file build/slides-large-and-small-amplitude-velocity-field-comparison-ru.pdf
    722 source(file.path("R", "velocity-potentials.R"))
    723 linetypes = c("solid", "dashed")
    724 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")
    725 arma.plot_velocity(
    726   file.path("data", "velocity", "low-amp"),
    727   file.path("data", "velocity", "low-amp-0"),
    728   linetypes=linetypes,
    729   ylim=c(-2,2),
    730   axis_args=list(tck=-0.04),
    731   title_args=list(main="  Малая\n  амплитуда",outer=FALSE,adj=0,line=-1.5,cex.main=0.77),
    732   legend_x="bottomright"
    733 )
    734 arma.plot_velocity(
    735   file.path("data", "velocity", "high-amp"),
    736   file.path("data", "velocity", "high-amp-0"),
    737   linetypes=linetypes,
    738   ylim=c(-2,2),
    739   title_args=list(main="Большая\n амплитуда",outer=FALSE,adj=1,line=-1.5,cex.main=0.77),
    740   axis_args=list(tck=-0.04),
    741   legend_x="bottomright"
    742 )
    743 #+end_src
    744 
    745 #+RESULTS:
    746 [[file:build/slides-large-and-small-amplitude-velocity-field-comparison-ru.pdf]]
    747 
    748 
    749 *** End column
    750 :PROPERTIES:
    751 :BEAMER_env: ignoreheading
    752 :END:
    753 
    754 #+header: :width 5.5 :height 1.3 :bg #F5F6F5 :font sans
    755 #+begin_src R :file build/slides-irregular-wave-velocity-field-ru.pdf
    756 source(file.path("R", "velocity-potentials.R"))
    757 nlevels <- 41
    758 levels <- pretty(c(-40,40), nlevels)
    759 palette <- colorRampPalette(c("blue", "lightyellow", "red"))
    760 col <- palette(nlevels-1)
    761 
    762 par(mgp=c(3,0.2,0),mar=c(1.5,1,0,0),cex=0.66,bty="n")
    763 
    764 # high-amplitude solver
    765 arma.plot_velocity_potential_field(
    766   file.path("build", "arma-benchmarks", "verification", "velocity", "our-formula"),
    767   levels=levels,
    768   col=col,
    769   contour_lwd=0.5,
    770   zeta_lwd=1,
    771   sky_col='#F5F6F5',
    772   axis_args=list(tck=-0.02),
    773   x_max=40,
    774   z_min=-5,
    775   compare_to=file.path("build", "arma-benchmarks", "verification", "velocity", "linear"),
    776   points_args=list(col="black",bg="black",pch=21,cex=1.5),
    777   title_args=list(main="      Нерегулярное волнение",outer=FALSE,adj=0.01,line=-1.5,cex.main=0.77)
    778 )
    779 #+end_src
    780 
    781 #+RESULTS:
    782 [[file:build/slides-irregular-wave-velocity-field-ru.pdf]]
    783 
    784 
    785 ** Notes
    786 :PROPERTIES:
    787 :BEAMER_env: ignoreheading
    788 :END:
    789 
    790 #+beamer: \spbuSlide{slide-potential-verification}
    791 
    792 Чтобы оценить отличия полученного решения, оно было сопоставлено с известными
    793 решениями.
    794 
    795 Если сравнивать с решением из линейной теории волн (слева сверху), то для
    796 синтетических волн большой амплитуды использование нового решения приводит к
    797 смещению области, в которой сконцентрирована основная энергия волны ближе к
    798 гребню.
    799 
    800 Если сравнивать с решением для волн малых амплитуд (справа сверху), то новое
    801 решение работает как для волн малых, так и больших амплитуд, а для волн
    802 малых амплитуд можно говорить о рациональном соответствии между обоими
    803 решениями.
    804 
    805 Если сравнивать с решением из линейной теории волн (снизу), то для нерегулярного
    806 волнения, воспроизведенного моделью АРСС, новое решение показывает в среднем на
    807 20% большие значения потенциала скорости вблизи гребней волн.
    808 
    809 ** Empty frame
    810 :PROPERTIES:
    811 :BEAMER_env: fullframe
    812 :BEAMER_act: <handout>
    813 :END:
    814 
    815 * Программный комплекс
    816 
    817 ** Программная реализация
    818 :PROPERTIES:
    819 :BEAMER_act: <presentation>
    820 :BEAMER_OPT: label=slide-implementation
    821 :END:
    822 
    823 #+begin_export latex
    824 \mode<presentation>{%
    825 \tikzset{Ann/.style={
    826 	fill=none,
    827 	baseline,
    828 	font=\footnotesize\linespread{1}\selectfont,
    829 }}%
    830 \tikzset{Cube/.style={
    831 	rectangle,
    832 	text width=0.7cm,
    833 	text height=0.7cm,
    834 	draw=spbuDarkGray,
    835 	fill=spbuWhite2,
    836 	thick,
    837 	font=\footnotesize\linespread{1}\selectfont,
    838 	align=center,
    839 	inner sep=0.5mm
    840 }}%
    841 \tikzset{CubeText/.style={
    842 	fill=none,
    843 	baseline,
    844 	font=\footnotesize\linespread{1}\selectfont,
    845 	inner sep=0mm
    846 }}%
    847 \tikzset{DataBlock/.style={
    848 	rectangle,
    849 	draw=spbuDarkGray,
    850 	thick,
    851 	text width=2cm,
    852 	align=center,
    853 	fill=spbuWhite2,
    854 	font=\footnotesize\linespread{1}\selectfont,
    855 	inner sep=1mm
    856 }}%
    857 \tikzset{Arrow/.style={
    858 	very thick,
    859 	arrows={-Triangle[length=0.25cm,width=0.125cm]},
    860 	draw=spbuDarkGray
    861 }}%
    862 \tikzset{Dashed/.style={
    863 	very thick,
    864 	draw=spbuDarkGray2,
    865 	dashed
    866 }}%
    867 \vspace{2cm}
    868 \begin{tikzpicture}[x=3cm,y=1cm,remember picture]
    869 % nodes
    870 \node[DataBlock,text width=1.2cm] (umlACF) at (0,0)
    871 	{АКФ};
    872 \node[DataBlock,text width=2.6cm] (umlYW) at (1.1,0.8)
    873 	{Коэффициенты АР};
    874 \node[DataBlock,text width=2.6cm] (umlNonlin) at (1.1,-0.8)
    875 	{Коэффициенты СС};
    876 \node[DataBlock,text width=1.5cm] (umlAR) at (2.1,0.8)
    877 	{Модель АР};
    878 \node[DataBlock,text width=1.5cm] (umlMA) at (2.1,-0.8)
    879 	{Модель СС};
    880 \node[DataBlock,text width=1.5cm] (umlARMA) at (3.1,0)
    881 	{Модель АРСС};
    882 \node[DataBlock] (umlPres) at (4.1,0)
    883 	{Давления};
    884 % arrows
    885 \path[Arrow] (umlACF.east) -- (umlYW.west);
    886 \path[Arrow] (umlACF.east) -- (umlNonlin.west);
    887 \path[Arrow] (umlYW.east) -- (umlAR.west);
    888 \path[Arrow] (umlNonlin.east) -- (umlMA.west);
    889 \path[Arrow] (umlAR.east) -- (umlARMA.west);
    890 \path[Arrow] (umlMA.east) -- (umlARMA.west);
    891 \path[Arrow] (umlARMA.east) -- (umlPres.west);
    892 \end{tikzpicture}
    893 #+end_export
    894 
    895 #+begin_export latex
    896 \begin{tikzpicture}[remember picture,overlay]
    897 % cubes
    898 \node[Cube,anchor=north west,yshift=-1.2cm,xshift=-3.5cm]
    899 	(cube00) at (current page.north east) {};
    900 \node[Cube,right=-0.5mm of cube00] (cube01) {};
    901 \node[Cube,below=-0.5mm of cube00] (cube10) {};
    902 \node[Cube,below=-0.5mm of cube01] (cube11) {};
    903 % cube labels
    904 \node[CubeText] (cubeLabel00) at (cube00) {A};
    905 \node[CubeText] (cubeLabel01) at (cube01) {B};
    906 \node[CubeText] (cubeLabel10) at (cube10) {C};
    907 \node[CubeText] (cubeLabel11) at (cube11) {D};
    908 % cube arrows
    909 \path[Arrow] (cubeLabel01.west) -- (cubeLabel00.east);
    910 \path[Arrow] (cubeLabel10.north) -- (cubeLabel00.south);
    911 \path[Arrow] (cubeLabel11.north west) -- (cubeLabel00.south east);
    912 \path[Arrow] (cubeLabel11.north) -- (cubeLabel01.south);
    913 \path[Arrow] (cubeLabel11.west) -- (cubeLabel10.east);
    914 \end{tikzpicture}
    915 #+end_export
    916 
    917 #+begin_export latex
    918 \begin{tikzpicture}[remember picture,overlay]
    919 % nodes
    920 \node[Ann,anchor=north,below=of umlACF] (annACF)
    921 	{Свертка (\(2\mathcal{F}\))};
    922 \node[Ann,anchor=north,above=of umlYW] (annYW)
    923 	{Симметричная СЛАУ};
    924 \node[Ann,anchor=north,below=of umlNonlin] (annNonlin)
    925 	{Метод простой итерации};
    926 \node[Ann,anchor=north,below=of umlMA,yshift=\baselineskip] (annMA)
    927 	{Свертка (\(3\mathcal{F}\))};
    928 \node[Ann,anchor=north,below=of umlPres] (annPres)
    929 	{Свертка (\(4\mathcal{F}\))};
    930 \node[Ann,anchor=south,above=of umlAR,align=center,yshift=1.5\baselineskip] (annAR)
    931 	{Мини-планировщик задач};
    932 \node[Ann,anchor=north,below=1mm of cube11.south west,align=center] (annARdeps)
    933 	{Авторегрессионные\\зависимости};
    934 % arrows
    935 \path[Dashed] (annACF.north -| umlACF.south) -- (umlACF.south);
    936 \path[Dashed] (annNonlin.north -| umlNonlin.south) -- (umlNonlin.south);
    937 \path[Dashed] (annYW.south -| umlYW.north) -- (umlYW.north);
    938 \path[Dashed] (annAR.south) -- (umlAR.north);
    939 \path[Dashed] (cube00.west |- annAR.east) -- (annAR.east);
    940 \path[Dashed] (annMA.north -| umlMA.south) -- (umlMA.south);
    941 \path[Dashed] (annPres.north -| umlPres.south) -- (umlPres.south);
    942 \end{tikzpicture}
    943 }
    944 #+end_export
    945 
    946 ** Notes
    947 :PROPERTIES:
    948 :BEAMER_env: ignoreheading
    949 :END:
    950 
    951 #+beamer: \spbuSlide{slide-implementation}
    952 
    953 Программный комплекс состоит из программных реализаций модели АРСС и линейной
    954 модели Лонге---Хиггинса и метода вычисления давлений. Для каждой модели и метода
    955 написана параллельная реализация для систем с общей памятью.  Высокая
    956 производительность обеспечивается параллельной реализацией каждой модели и
    957 метода для систем с общей памятью и использованием быстрых преобразований Фурье,
    958 где это возможно.
    959 
    960 Программная реализация модели авторегрессии включает в себя планировщик задач,
    961 который обеспечивает параллельную генерацию отдельных блоков, на которые
    962 разделяется взволнованная поверхность, с учетом авторегрессионных зависимостей.
    963 Сама формула модели сводится к вычислению большого количества полиномов, что
    964 эффективно реализуется с помощью инструкций процессора FMA (Fused Multiply-Add).
    965 
    966 Программная реализация модели Лонге---Хиггинса сводится к простому параллельному
    967 суммированию гармоник в каждой точке поверхности.
    968 
    969 Вычисление коэффициентов авторегрессии реализуется стандартным методом решения
    970 систем линейных алгебраических уравнений с симметричными матрицами. Вычисление
    971 коэффициентов скользящего среднего реализуется методом простой итерации.
    972 
    973 Практически все остальные модели и методы используют быстрое преобразование
    974 Фурье.
    975 - Программная реализация модели скользящего среднего сводится к параллельной
    976   свертке на основе быстрых преобразований Фурье.
    977 - Программная реализация вычисления давлений сводится к четырем быстрым
    978   преобразованиям Фурье с большим количеством трансцендентных математических
    979   функций.
    980 - Вычисление автоковариационной функции сводится к трем быстрым преобразованиям
    981   Фурье.
    982 
    983 ** Система с общей памятью
    984 :PROPERTIES:
    985 :header-args:R: :results output raw :exports results
    986 :BEAMER_act: <presentation>
    987 :BEAMER_OPT: label=slide-smp
    988 :END:
    989 
    990 #+beamer: \small
    991 #+header: :results output raw :exports results
    992 #+name: tab-arma-performance
    993 #+begin_src R :results output org :exports results
    994 source(file.path("R", "benchmarks.R"))
    995 options(arma.mark=",")
    996 model_names <- list(
    997 	ar.x="АР",
    998 	ma.x="СС",
    999 	lh.x="ЛХ",
   1000 	ar.y="АР",
   1001 	ma.y="СС",
   1002 	lh.y="ЛХ",
   1003   Row.names="\\orgcmidrule{2-4}{5-6}Подпрограмма"
   1004 )
   1005 row_names <- list(
   1006   determine_coefficients="Коэффициенты",
   1007   validate="Сходимость",
   1008   generate_surface="Поверхность",
   1009   write_all="Вывод в файл",
   1010   copy_to_host="Копирование с GPU",
   1011   velocity="Давления"
   1012 )
   1013 arma.print_openmp_vs_opencl(model_names, row_names)
   1014 #+end_src
   1015 
   1016 #+attr_latex: :booktabs t
   1017 #+RESULTS: tab-arma-performance
   1018 
   1019 ** Notes
   1020 :PROPERTIES:
   1021 :BEAMER_env: ignoreheading
   1022 :END:
   1023 
   1024 #+beamer: \spbuSlide{slide-smp}
   1025 
   1026 На слайде представлены результаты тестирования производительности различных
   1027 компонент программного комплекса на системах с общей памятью с использованием
   1028 OpenMP (процессора) и OpenCL (видеокарты). Из таблицы видно, что
   1029 - большую часть времени система тратит на генерацию взволнованной поверхности,
   1030 - использование видеокарты выгодно только для модели Лонге---Хиггинса и
   1031   вычисления давлений и
   1032 - модель авторегрессии более производительна, чем модель скользящего среднего,
   1033   несмотря на использование быстрых преобразований Фурье.
   1034 
   1035 ** Система с распределенной памятью
   1036 :PROPERTIES:
   1037 :BEAMER_act: <presentation>
   1038 :BEAMER_OPT: label=slide-mpp
   1039 :END:
   1040 
   1041 *** Columns
   1042 :PROPERTIES:
   1043 :BEAMER_env: columns
   1044 :BEAMER_opt: T
   1045 :END:
   1046 
   1047 **** Column 1
   1048 :PROPERTIES:
   1049 :BEAMER_col: 0.37
   1050 :END:
   1051 
   1052 #+beamer: \vspace{-1cm}
   1053 #+header: :width 2.3 :height 3 :bg #F5F6F5 :font sans
   1054 #+begin_src R :file build/slides-bscheduler-performance-ru.pdf
   1055 source(file.path("R", "benchmarks.R"))
   1056 par(mgp=c(1.5,0.4,0), mar=c(3.2,2.5,0.5,0.7), cex=0.7)
   1057 data <- arma.load_bscheduler_performance_data()
   1058 arma.plot_bscheduler_performance_data(
   1059   data,
   1060   list(
   1061     openmp="OpenMP",
   1062     bsc1="Bscheduler (один узел)",
   1063     bsc2="Bscheduler (два узла)",
   1064 	openmp_args=list(lty="solid", lwd=2, col='#404040', pch=19),
   1065 	bsc1_args=list(lty="solid", lwd=2, col='#5353AC', pch=19),
   1066 	bsc2_args=list(lty="solid", lwd=2, col='#E57575', pch=19)
   1067   )
   1068 )
   1069 title(xlab="Размер взволнованной поверхности", ylab="Время, сек.")
   1070 #+end_src
   1071 
   1072 #+RESULTS:
   1073 [[file:build/slides-bscheduler-performance-ru.pdf]]
   1074 
   1075 **** Column 2
   1076 :PROPERTIES:
   1077 :BEAMER_col: 0.57
   1078 :END:
   1079 
   1080 #+beamer: \vspace{-1cm}
   1081 #+name: fig-master-slave-failure
   1082 #+header: :width 3 :height 3 :bg #F5F6F5 :font sans
   1083 #+begin_src R :file build/slides-master-slave-failure-ru.pdf
   1084 source(file.path("R", "benchmarks.R"))
   1085 par(mgp=c(1.5,0.4,0), mar=c(3,2.5,0.5,0.5), cex=0.7)
   1086 data <- arma.load_master_slave_failure_data()
   1087 arma.plot_master_slave_failure_data(
   1088   data,
   1089   list(
   1090     master="Bscheduler (главный узел)",
   1091     slave="Bscheduler (подчиненный узел)",
   1092     nofailures="Bscheduler (без выхода из строя)",
   1093 	master_args=list(lty="solid", lwd=2, col='#E57575', pch=19),
   1094 	slave_args=list(lty="solid", lwd=2, col='#5353AC', pch=19),
   1095 	nofailures_args=list(lty="solid", lwd=2, col='#404040', pch=19)
   1096   )
   1097 )
   1098 title(xlab="Размер взволнованной поверхности", ylab="Время, сек.")
   1099 #+end_src
   1100 
   1101 #+RESULTS: fig-master-slave-failure
   1102 [[file:build/slides-master-slave-failure-ru.pdf]]
   1103 
   1104 ** Notes
   1105 :PROPERTIES:
   1106 :BEAMER_env: ignoreheading
   1107 :END:
   1108 
   1109 #+beamer: \spbuSlide{slide-mpp}
   1110 
   1111 Для модели авторегрессии сделана реализация для систем с распределенной памятью
   1112 и отказоустойчивый планировщик задач. Планировщик позволяет добиться увеличения
   1113 производительности с увеличением количества узлов, которое близко к линейному
   1114 (график слева). Также планировщик позволяет продолжить вычисления, даже если
   1115 один из узлов кластера выходит из строя. При этом перезапускается только та
   1116 часть задачи, которая вычислялась на вышедшем из строя узле, и теряется 
   1117 производительность только этого узла.
   1118 
   1119 * Заключение
   1120 :PROPERTIES:
   1121 :BEAMER_env: ignoreheading
   1122 :END:
   1123 
   1124 ** Заключение
   1125 :PROPERTIES:
   1126 :BEAMER_act: <presentation>
   1127 :BEAMER_OPT: label=slide-conclusion
   1128 :END:
   1129 
   1130 - Разработана трехмерная модель для генерации волн произвольных амплитуд.
   1131 - Разработан метод вычисления поля давлений без предположений о малости амплитуд
   1132   волн.
   1133 - Разработан программный комплекс для систем с общей и распределенной памятью.
   1134 
   1135 ** Notes
   1136 :PROPERTIES:
   1137 :BEAMER_env: ignoreheading
   1138 :END:
   1139 
   1140 #+beamer: \spbuSlide{slide-conclusion}
   1141 
   1142 Цель исследования заключалась в изучении и разработке альтернативных
   1143 математических моделей и численных методов, которые бы позволили выйти за рамки
   1144 линейной теории волн в задаче имитационного моделирования морского волнения. В
   1145 рамках исследования были разработаны
   1146 - трехмерная модель для генерации волн произвольных амплитуд,
   1147 - метод вычисления поля давлений без предположений о малости амплитуд волн,
   1148 - программный комплекс для систем с общей и распределенной памятью.
   1149 
   1150 ** Апробация
   1151 :PROPERTIES:
   1152 :BEAMER_act: <presentation>
   1153 :BEAMER_OPT: label=slide-validation
   1154 :END:
   1155 
   1156 - Конференции: STAB'13, ISSW'14, HPCS'15, HPCS'16, HPCS'17.
   1157 - Глава в книге /The Ocean in Motion/ (Springer Oceanography).
   1158 
   1159 *** Columns
   1160 :PROPERTIES:
   1161 :BEAMER_env: columns
   1162 :BEAMER_opt: T
   1163 :END:
   1164 
   1165 **** LAMP4
   1166 :PROPERTIES:
   1167 :BEAMER_col: 0.25
   1168 :BEAMER_env: block
   1169 :END:
   1170 
   1171 #+ATTR_LATEX: :width \linewidth
   1172 [[file:graphics/slides/lamp4-ar-waves.png]]
   1173 
   1174 **** Ascheduler
   1175 :PROPERTIES:
   1176 :BEAMER_col: 0.25
   1177 :BEAMER_env: block
   1178 :END:
   1179 
   1180 #+ATTR_LATEX: :width \linewidth
   1181 [[file:graphics/slides/spark-logo.png]]
   1182 
   1183 **** HPCS'15
   1184 :PROPERTIES:
   1185 :BEAMER_col: 0.25
   1186 :BEAMER_env: block
   1187 :END:
   1188 
   1189 #+ATTR_LATEX: :width \linewidth
   1190 [[file:graphics/slides/hpcs-15-poster-paper-award.png]]
   1191 
   1192 #+latex: \setbeamerfont{block title}{size=\normalsize}
   1193 
   1194 ** Notes
   1195 :PROPERTIES:
   1196 :BEAMER_env: ignoreheading
   1197 :END:
   1198 
   1199 #+beamer: \spbuSlide{slide-validation}
   1200 
   1201 Доклады по теме диссертации были представлены на конференциях International Ship
   1202 Stability Workshop и High-Performance Computing & Simulation. По результатам
   1203 исследования опубликована глава в книге The Ocean in Motion.
   1204 
   1205 Модель авторегрессии и метод вычисления давлений были интегрированы в
   1206 программный комплекс Large Amplitude Motion Program (LAMP4).
   1207 
   1208 На основе отказоустойчивого планировщика задач был сделан аналог для фреймворка
   1209 обработки больших массивов данных Apache Spark.
   1210 
   1211 Доклад на конференции HPCS'15 был признан лучшим устным докладом.
   1212 
   1213 ** Взволнованная морская поверхность					:noexport:
   1214 :PROPERTIES:
   1215 :BEAMER_act: <presentation>
   1216 :END:
   1217 
   1218 #+begin_export latex
   1219 \begin{tikzpicture}[remember picture,overlay]
   1220   \node[inner sep=0pt,rectangle] at (current page.center){%
   1221     \includegraphics[width=0.95\paperwidth]{wavy}
   1222   };%
   1223 \end{tikzpicture}
   1224 #+end_export
   1225