<!DOCTYPE article
PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20190208//EN"
       "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.4" xml:lang="en">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">Vestnik of Astrakhan State Technical University. Series: Fishing industry</journal-id>
   <journal-title-group>
    <journal-title xml:lang="en">Vestnik of Astrakhan State Technical University. Series: Fishing industry</journal-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Вестник Астраханского государственного технического университета. Серия: Рыбное хозяйство</trans-title>
    </trans-title-group>
   </journal-title-group>
   <issn publication-format="print">2073-5529</issn>
   <issn publication-format="online">2309-978X</issn>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="publisher-id">32298</article-id>
   <article-id pub-id-type="doi">10.24143/2073-5529-2019-2-51-56</article-id>
   <article-categories>
    <subj-group subj-group-type="toc-heading" xml:lang="ru">
     <subject>ВОДНЫЕ БИОРЕСУРСЫ И ИХ РАЦИОНАЛЬНОЕ ИСПОЛЬЗОВАНИЕ</subject>
    </subj-group>
    <subj-group subj-group-type="toc-heading" xml:lang="en">
     <subject>WATER BIORESOURCES AND THEIR RATIONAL USE</subject>
    </subj-group>
    <subj-group>
     <subject>ВОДНЫЕ БИОРЕСУРСЫ И ИХ РАЦИОНАЛЬНОЕ ИСПОЛЬЗОВАНИЕ</subject>
    </subj-group>
   </article-categories>
   <title-group>
    <article-title xml:lang="en">APPLICATION OF A HARDWARE RASTERIZER IN PROBLEMS OF MODELING HYDRODYNAMIC FIELDS IN TRAWL SYSTEMS DURING HYDROLOCATION</article-title>
    <trans-title-group xml:lang="ru">
     <trans-title>ПРИМЕНЕНИЕ АППАРАТНОГО РАСТЕРИЗАТОРА В ЗАДАЧАХ МОДЕЛИРОВАНИЯ ГИДРОДИНАМИЧЕСКИХ ПОЛЕЙ В ТРАЛОВЫХ СИСТЕМАХ ПРИ ГИДРОЛОКАЦИИ</trans-title>
    </trans-title-group>
   </title-group>
   <contrib-group content-type="authors">
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Недоступ</surname>
       <given-names>Александр Алексеевич </given-names>
      </name>
      <name xml:lang="en">
       <surname>Nedostup</surname>
       <given-names>Alexander Alekseevich </given-names>
      </name>
     </name-alternatives>
     <email>nedostup@klgtu.ru</email>
     <xref ref-type="aff" rid="aff-1"/>
    </contrib>
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Ражев</surname>
       <given-names>Алексей Олегович </given-names>
      </name>
      <name xml:lang="en">
       <surname>Razhev</surname>
       <given-names>Alexey Olegovich </given-names>
      </name>
     </name-alternatives>
     <email>progacpp@live.ru</email>
     <xref ref-type="aff" rid="aff-2"/>
    </contrib>
   </contrib-group>
   <aff-alternatives id="aff-1">
    <aff>
     <institution xml:lang="ru">Калининградский государственный технический университет</institution>
     <country>Россия</country>
    </aff>
    <aff>
     <institution xml:lang="en">Kaliningrad State Technical University</institution>
     <country>Russian Federation</country>
    </aff>
   </aff-alternatives>
   <aff-alternatives id="aff-2">
    <aff>
     <institution xml:lang="ru">Калининградский государственный технический университет</institution>
     <country>Россия</country>
    </aff>
    <aff>
     <institution xml:lang="en">Kaliningrad State Technical University</institution>
     <country>Russian Federation</country>
    </aff>
   </aff-alternatives>
   <issue>2</issue>
   <fpage>51</fpage>
   <lpage>56</lpage>
   <self-uri xlink:href="https://vestnik.astu.ru/en/nauka/article/32298/view">https://vestnik.astu.ru/en/nauka/article/32298/view</self-uri>
   <abstract xml:lang="ru">
    <p>Предложен быстрый метод перестроения трехмерной расчетной сетки для задач моделирования гидродинамических полей в траловых системах при гидролокации в динамике с применением аппаратного растеризатора графического процессора. При изменении положения обтекаемого объекта необходимо периодически обновлять граничные условия в узлах сетки вблизи его поверхности, что при трехмерной постановке является трудоемкой задачей. Предлагаемый метод позволяет многократно ускорить процесс обновления сетки по сравнению с программными реализациями. Суть метода заключается в особенности реализации пиксельного шейдера графического конвейера при рендеринге, а именно возможности вывода непосредственно в трехмерный буфер узлов расчетной сетки с учетом информации о Z -координате пикселя и вектора скорости точки поверхности. Апробация метода выполнена на разработанной по нему компьютерной программе. Метод можно применять как при расчете влияния гидродинамических полей на распространение акустических волн, так и в других приложениях.</p>
   </abstract>
   <trans-abstract xml:lang="en">
    <p>The paper proposes a fast method for rebuilding a three-dimensional computational grid for problems of modeling hydrodynamic fields in trawling systems during sound ranging at runtime using a hardware rasterizer of a graphics processor. When the position of a streamlined object changes, it is necessary to periodically update the boundary conditions at the grid nodes near its surface, which, in case of three-dimensional statement, is a laborious task. The suggested method allows a multiple acceleration of the grid update process compared to software implementations. The essence of the method lies in implementation of the pixel shader of the graphics pipeline during rendering, namely, the possibility of outputting the grid nodes into a 3D buffer taking into account information about Z-coordinate of a pixel and a velocity vector of a surface point. The method has been approved using a computer program developed on its basis. The method can be applied both in calculating the influence of hydrodynamic fields on propagation of acoustic waves, and in other applications.</p>
   </trans-abstract>
   <kwd-group xml:lang="ru">
    <kwd>растеризатор</kwd>
    <kwd>рендеринг</kwd>
    <kwd>графический конвейер</kwd>
    <kwd>расчетная сетка</kwd>
    <kwd>гидродинамические поля</kwd>
    <kwd>траловая система</kwd>
   </kwd-group>
   <kwd-group xml:lang="en">
    <kwd>rasterizer</kwd>
    <kwd>rendering</kwd>
    <kwd>graphics pipeline</kwd>
    <kwd>computational grid</kwd>
    <kwd>dynamic fields</kwd>
    <kwd>trawl system</kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <p>В промышленном рыболовстве управление и контроль геометрии и положения элементов трала происходит с применением гидролокации [1-3]. Такие устройства, как датчики положения траловых досок [4, 5] и других элементов траловой системы [6, 7], обмениваются информацией по звуковому каналу в водной среде. При движении трала в воде вокруг его элементов возникают поля давлений, скоростей и вязкостей, что оказывает влияние на распространение звуковой волны. Математическое описание гидродинамических полей основывается на системах уравнений гидродинамики [8]. Для их решения на ЭВМ применяют различные численные методы. К одному из них относится итерационный неявный конечно-разностный метод покоординатного расщепления с использованием трехмерной расчетной сетки [4]. Суть метода заключается в расщеплении систем уравнений в частных производных Навье - Стокса [4, 8] на три, по одной на каждую координату, с последующей их линеаризацией (заменой нелинейных членов константами в пределах одной итерации и последующей коррекцией на следующей итерации). В результате получается три системы линейных алгебраических уравнений, которые решаются независимо друг от друга с последующим усреднением искомых неизвестных скоростей, давлений и вязкостей. Каждая система, являясь трехдиагональной [4], решается итерационным методом. При переходе от систем дифференциальных уравнений к конечно-разностной схеме осуществляется дискретизация значений координат вблизи поверхности объекта исследования (датчика положения - источника излучения и приема звуковой волны) с привязкой их к конечному множеству узлов трехмерной расчетной сетки. Каждому узлу сетки ставятся в соответствие как искомые величины (скорость, давление, вязкость жидкости), так и граничные условия различного рода. К одному из граничных условий относится равенство скорости движения жидкости на поверхности объекта и скорости движения части объекта в окрестностях узла расчетной сетки. При динамической постановке задачи, когда положение граничных поверхностей постоянно меняется, необходимо периодически (зависит от требуемой точности моделирования) обновлять граничные условия в узлах сетки вблизи поверхности объекта. Из-за большого количества узлов расчетной сетки при трехмерной постановке задачи данная операция является трудоемкой. Материалы исследования Для уменьшения трудоемкости обновления расчетной сетки авторами статьи предлагается метод, основанный на применении аппаратного растеризатора [9] графического процессора. Данный метод дает многократное ускорение процесса обновления сетки по сравнению с программными реализациями. Суть метода заключается в особенности реализации пиксельного шейдера [10] графического конвейера при рендеринге трехмерной модели объекта. В машинной графике задача рендеринга трехмерных сцен заключается в преобразовании пространственных форм в их проекцию на плоскости, в том числе и перспективную. Весь процесс преобразования разбит на последовательные этапы. Обработка всех этапов происходит параллельно во времени на разных частях графического конвейера. Одни этапы выполняются аппаратно, другие - специальной программой для графического процессора, называемой шейдером. Рассмотрим основные этапы более подробно. На рис. 1 показан графический конвейер при рендеринге с использованием вершинного и пиксельного шейдеров и аппаратного растеризатора. Рис. 1. Графический конвейер При трехмерном описании отображаемого объекта (трехмерной модели) его поверхность дискретно делится на примитивы - треугольники. Список координат вершин всех треугольников поступает на вход графического конвейера, а именно на его первый этап - вершинный шейдер. Задачей шейдера является осуществление аффинных преобразований координат и цветов каждой вершины в соответствии с заданными пространственной моделью и моделью освещенности. В результате модель приводится к базису, в котором плоскость OXY параллельна плоскости экрана. Архитектура графического процессора спроектирована таким образом, что на его вычислительных блоках обработка множества вершин выполняется одновременно. После преобразования координат вершин осуществляется их растеризация в плоскости OXY. В современных графических процессорах этап растеризации осуществляется на нескольких аппаратных растеризаторах одновременно. Задачей растеризатора является разбивка области внутри треугольного примитива на конечное множество пикселей (полная заливка области). Пиксель представляет собой элементарную единицу двумерной области плоскости проецирования. Размерность области в пикселях определяется степенью требуемой дискретизации результата. Каждый пиксель имеет заданные координаты на плоскости, а также может иметь другие атрибуты, передаваемые на вход конвейера либо вычисляемые в процессе обработки на конвейере. К таким атрибутам относится цвет, глубина (Z-координата) и др. Значения таких атрибутов, как цвет пикселя и его Z-координата, в процессе растеризации треугольного примитива вычисляются методом интерполяции соответствующих значений, генерируемых вершинным шейдером, по трем вершинам. Пиксельный шейдер в самой простой реализации осуществляет запись атрибута цвета в двумерный выходной буфер по координатам пикселя. Если вести запись не в двумерный, а в трехмерный буфер размерностью расчетной сетки и с учетом информации о Z-координате пикселя, а вместо цвета взять вектор скорости точки поверхности, то мы получим трехмерное отображение поля скорости (граничных условий вблизи поверхности объекта) на расчетной сетке. Для получения корректного результата моделирования необходимо выполнить условие неразрывности поверхности по всему объекту. Внутренние и внешние области должны быть полностью разделены при расчете. Растеризатор гарантирует неразрывность только в плоскости растеризации (плоскости OXY). По Z-координате же условие неразрывности выполняться не будет. Данная проблема решается трехкратным рендерингом на каждую ортогональную плоскость расчетной сетки. Ниже приведен исходный код шейдеров для рендеринга в плоскости OXY на расчетной сетке размерностью 128 узлов по каждой из координат. Рендеринг в остальных двух плоскостях происходит аналогично. Шейдер использует следующие переменные и константы: LVel - линейная скорость объекта; AVel - угловая скорость объекта; MC - центр масс объекта; GridDDiag - длина диагонали сетки в метрах; GridMinX - координаты сетки в пространстве в метрах; GridD - размер сетки в метрах; CELL_CV - флаг наличия поверхности. // вершина struct Vertex_t { float3 X : POSITION; // координаты вершины float3 CN: NORMAL1; // нормаль к поверхности }; // пиксель struct Cell_t { float4 X : SV_POSITION; // координаты пикселя float4 VP : COLOR; // вектор скорости }; ByteAddressBuffer Vertexes : register(t0); // массив вершин RWBuffer Grid : register(u0); // буфер типов граничных условий RWBuffer Layers : register(u1); // буфер поля скоростей // вершинный шейдер Cell_t VsRaster3dX(Vertex_t v) { Cell_t c; c.VP.w = 0; c.VP.xyz = LVel.xyz + cross(AVel.xyz, v.X - MC.xyz); c.X.w = 1; c.X.xzy = (v.X + v.CN * GridDDiag - GridMinX.xyz) / (GridD.xyz * float3(64, 1, -64)) - float3(1, 0, -1); return c; } // пиксельный шейдер void PsRaster3dX(Cell_t c) { uint a = uint(c.X.x) + uint(c.X.z) * 128 + uint(c.X.y) * (128 * 128); Grid[a] = CELL_CV; Layers[a] = c.VP; } На рис. 2 показан результат работы программы на примере рендеринга поверхности траловой доски. Рис. 2. Результат работы рендеринга на расчетную сетку Данный метод можно применять при расчете гидродинамических полей, влияющих на распространение акустических волн от/до движущихся устройств при зондировании, при управлении и контроле состояния траловой системы (для различных датчиков положения), а также в других приложениях. Заключение Описан метод отображения поверхностей трехмерных объектов на узлы расчетной сетки при моделировании гидродинамических полей в окрестностях движущихся объектов, использующий аппаратную растеризацию на графическом процессоре. Данный метод позволяет значительно ускорить процесс обновления граничных условий систем гидродинамических уравнений при движении исследуемых объектов. Метод эффективен при расчете гидродинамических полей, влияющих на распространение акустических волн от/до движущихся устройств при зондировании, при управлении и контроле состояния траловой системы, а также в других приложениях.</p>
 </body>
 <back>
  <ref-list>
   <ref id="B1">
    <label>1.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Недоступ А. А., Ражев А. О. Математические модели распространения акустических волн с учетом реверберации, временного и доплеровского рассеивания // Инновации в науке, образовании и предпринимательстве: материалы XVI Междунар. конф. VI Междунар. Балт. мор. форума (Калининград, 3-6 сентября 2018 г.). Калининград: Изд-во БГАРФ, 2018. Т. 1. С. 221-227.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Nedostup A. A., Razhev A. O. Matematicheskie modeli rasprostraneniya akusticheskih voln s uchetom reverberacii, vremennogo i doplerovskogo rasseivaniya // Innovacii v nauke, obrazovanii i predprinimatel'stve: materialy XVI Mezhdunar. konf. VI Mezhdunar. Balt. mor. foruma (Kaliningrad, 3-6 sentyabrya 2018 g.). Kaliningrad: Izd-vo BGARF, 2018. T. 1. S. 221-227.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B2">
    <label>2.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Недоступ А. А., Ражев А. О. Математическая модель имитатора устройств гидролокации // Морские интеллектуальные технологии (в базе Web of Science). 2018. № 4 (42). Т. 4. С. 283-286.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Nedostup A. A., Razhev A. O. Matematicheskaya model' imitatora ustroystv gidrolokacii // Morskie intellektual'nye tehnologii (v baze Web of Science). 2018. № 4 (42). T. 4. S. 283-286.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B3">
    <label>3.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Goddard R. P. The Sonar Simulation Toolset, Release 4.6: Science, Mathematics, and Algorithms. Applied Physics Laboratory Universyty of Washington, 2008. 113 p.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Goddard R. P. The Sonar Simulation Toolset, Release 4.6: Science, Mathematics, and Algorithms. Applied Physics Laboratory Universyty of Washington, 2008. 113 p.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B4">
    <label>4.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Недоступ А. А., Ражев А. О. Математическая модель взаимодействия распорной траловой доски с водной средой // Морские интеллектуальные технологии (в базе Web of Science). 2017. № 3 (37). Т. 1. С. 154-157.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Nedostup A. A., Razhev A. O. Matematicheskaya model' vzaimodeystviya raspornoy tralovoy doski s vodnoy sredoy // Morskie intellektual'nye tehnologii (v baze Web of Science). 2017. № 3 (37). T. 1. S. 154-157.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B5">
    <label>5.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Наумов В. А., Мейлус Е. Г. Метод расчета гидродинамических коэффициентов траловой доски // Изв. Калинингр. гос. техн. ун-та. 2005. № 9. С. 53-57.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Naumov V. A., Meylus E. G. Metod rascheta gidrodinamicheskih koefficientov tralovoy doski // Izv. Kaliningr. gos. tehn. un-ta. 2005. № 9. S. 53-57.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B6">
    <label>6.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Reite K. J. Modeling and control of trawl systems. Norway, Trondheim: Norwegian University of Science and Technology, 2006. 238 p.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Reite K. J. Modeling and control of trawl systems. Norway, Trondheim: Norwegian University of Science and Technology, 2006. 238 p.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B7">
    <label>7.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Nedostup A. A., Razhev A. O. Statement of the problem of dynamic similarity of the trawl system // Вестн. Астрахан. гос. техн. ун-та. Сер.: Рыбное хозяйство. 2017. № 4. С. 61-68.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Nedostup A. A., Razhev A. O. Statement of the problem of dynamic similarity of the trawl system // Vestn. Astrahan. gos. tehn. un-ta. Ser.: Rybnoe hozyaystvo. 2017. № 4. S. 61-68.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B8">
    <label>8.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Харченко С. А. Влияние распараллеливания вычислений с поверхностными межпроцессорными границами на масштабируемость параллельного итерационного алгоритма решения систем линейных уравнений на примере уравнений вычислительной гидродинамики // Параллельные вычислительные технологии: тр. Междунар. науч. конф. (Санкт-Петербург, 28 января - 1 февраля 2008 г.). Челябинск: Изд-во ЮУрГУ, 2008. С. 494-499.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Harchenko S. A. Vliyanie rasparallelivaniya vychisleniy s poverhnostnymi mezhprocessornymi granicami na masshtabiruemost' parallel'nogo iteracionnogo algoritma resheniya sistem lineynyh uravneniy na primere uravneniy vychislitel'noy gidrodinamiki // Parallel'nye vychislitel'nye tehnologii: tr. Mezhdunar. nauch. konf. (Sankt-Peterburg, 28 yanvarya - 1 fevralya 2008 g.). Chelyabinsk: Izd-vo YuUrGU, 2008. S. 494-499.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B9">
    <label>9.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Фролов В. Введение в технологию CUDA // ВМиК МГУ. Сетевой журнал «Компьютерная графика и мультимедиа». 2008. № 1 (16). URL: http://masters.donntu.org/2013/fknt/reznichenko/library/article5.htm (дата обращения: 10.02.19).
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Frolov V. Vvedenie v tehnologiyu CUDA // VMiK MGU. Setevoy zhurnal «Komp'yuternaya grafika i mul'timedia». 2008. № 1 (16). URL: http://masters.donntu.org/2013/fknt/reznichenko/library/article5.htm (data obrascheniya: 10.02.19).
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B10">
    <label>10.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">
            
              Недоступ А. А., Ражев А. О. Применение графического процессора в задачах имитационного моделирования динамических процессов в ставном подвесном неводе // Наука, образование, инновации: пути развития: материалы VI Всерос. конф. (Петропавловск-Камчатский, 21-24 апреля 2015 г.). П-Камчатский: Изд-во КамчатГТУ, 2015. С. 88-92.
            
          </mixed-citation>
     <mixed-citation xml:lang="en">
            
              Nedostup A. A., Razhev A. O. Primenenie graficheskogo processora v zadachah imitacionnogo modelirovaniya dinamicheskih processov v stavnom podvesnom nevode // Nauka, obrazovanie, innovacii: puti razvitiya: materialy VI Vseros. konf. (Petropavlovsk-Kamchatskiy, 21-24 aprelya 2015 g.). P-Kamchatskiy: Izd-vo KamchatGTU, 2015. S. 88-92.
            
          </mixed-citation>
    </citation-alternatives>
   </ref>
  </ref-list>
 </back>
</article>
