APPLICATION OF A HARDWARE RASTERIZER IN PROBLEMS OF MODELING HYDRODYNAMIC FIELDS IN TRAWL SYSTEMS DURING HYDROLOCATION
Abstract and keywords
Abstract (English):
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.

Keywords:
rasterizer, rendering, graphics pipeline, computational grid, dynamic fields, trawl system
Text
Publication text (PDF): Read Download

В промышленном рыболовстве управление и контроль геометрии и положения элементов трала происходит с применением гидролокации [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. Результат работы рендеринга на расчетную сетку Данный метод можно применять при расчете гидродинамических полей, влияющих на распространение акустических волн от/до движущихся устройств при зондировании, при управлении и контроле состояния траловой системы (для различных датчиков положения), а также в других приложениях. Заключение Описан метод отображения поверхностей трехмерных объектов на узлы расчетной сетки при моделировании гидродинамических полей в окрестностях движущихся объектов, использующий аппаратную растеризацию на графическом процессоре. Данный метод позволяет значительно ускорить процесс обновления граничных условий систем гидродинамических уравнений при движении исследуемых объектов. Метод эффективен при расчете гидродинамических полей, влияющих на распространение акустических волн от/до движущихся устройств при зондировании, при управлении и контроле состояния траловой системы, а также в других приложениях.
References

1. 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.

2. 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.

3. Goddard R. P. The Sonar Simulation Toolset, Release 4.6: Science, Mathematics, and Algorithms. Applied Physics Laboratory Universyty of Washington, 2008. 113 p.

4. 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.

5. Naumov V. A., Meylus E. G. Metod rascheta gidrodinamicheskih koefficientov tralovoy doski // Izv. Kaliningr. gos. tehn. un-ta. 2005. № 9. S. 53-57.

6. Reite K. J. Modeling and control of trawl systems. Norway, Trondheim: Norwegian University of Science and Technology, 2006. 238 p.

7. 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.

8. 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.

9. 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).

10. 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.


Login or Create
* Forgot password?