DOI: 10.24143/2073-5529-2019-2-51-56 УДК 639.2.081.117.21,519.6
ПРИМЕНЕНИЕ АППАРАТНОГО РАСТЕРИЗАТОРА В ЗАДАЧАХ МОДЕЛИРОВАНИЯ ГИДРОДИНАМИЧЕСКИХ ПОЛЕЙ В ТРАЛОВЫХ СИСТЕМАХ ПРИ ГИДРОЛОКАЦИИ
А. А. Недоступ, А. О. Ражев
Калининградский государственный технический университет, Калининград, Российская Федерация
Предложен быстрый метод перестроения трехмерной расчетной сетки для задач моделирования гидродинамических полей в траловых системах при гидролокации в динамике с применением аппаратного растеризатора графического процессора. При изменении положения обтекаемого объекта необходимо периодически обновлять граничные условия в узлах сетки вблизи его поверхности, что при трехмерной постановке является трудоемкой задачей. Предлагаемый метод позволяет многократно ускорить процесс обновления сетки по сравнению с программными реализациями. Суть метода заключается в особенности реализации пиксельного шейдера графического конвейера при рендеринге, а именно возможности вывода непосредственно в трехмерный буфер узлов расчетной сетки с учетом информации о 7-координате пикселя и вектора скорости точки поверхности. Апробация метода выполнена на разработанной по нему компьютерной программе. Метод можно применять как при расчете влияния гидродинамических полей на распространение акустических волн, так и в других приложениях.
Ключевые слова: растеризатор, рендеринг, графический конвейер, расчетная сетка, гидродинамические поля, траловая система.
Для цитирования: Недоступ А. А., Ражев А. О. Применение аппаратного растеризатора в задачах моделирования гидродинамических полей в траловых системах при гидролокации // Вестник Астраханского государственного технического университета. Серия: Рыбное хозяйство. 2019. № 2. С. 51-56. DOI: 10.24143/2073-5529-2019-2-51-56.
Введение
В промышленном рыболовстве управление и контроль геометрии и положения элементов трала происходит с применением гидролокации [1-3]. Такие устройства, как датчики положения траловых досок [4, 5] и других элементов траловой системы [6, 7], обмениваются информацией по звуковому каналу в водной среде. При движении трала в воде вокруг его элементов возникают поля давлений, скоростей и вязкостей, что оказывает влияние на распространение звуковой волны.
Математическое описание гидродинамических полей основывается на системах уравнений гидродинамики [8]. Для их решения на ЭВМ применяют различные численные методы. К одному из них относится итерационный неявный конечно-разностный метод покоординатного расщепления с использованием трехмерной расчетной сетки [4].
Суть метода заключается в расщеплении систем уравнений в частных производных Навье - Стокса [4, 8] на три, по одной на каждую координату, с последующей их линеаризацией (заменой нелинейных членов константами в пределах одной итерации и последующей коррекцией на следующей итерации). В результате получается три системы линейных алгебраических уравнений, которые решаются независимо друг от друга с последующим усреднением искомых неизвестных скоростей, давлений и вязкостей. Каждая система, являясь трехдиагональной [4], решается итерационным методом.
При переходе от систем дифференциальных уравнений к конечно-разностной схеме осуществляется дискретизация значений координат вблизи поверхности объекта исследования (датчика положения - источника излучения и приема звуковой волны) с привязкой их к конечному множеству узлов трехмерной расчетной сетки. Каждому узлу сетки ставятся в соответствие как искомые величины (скорость, давление, вязкость жидкости), так и граничные условия различного рода. К одному из граничных условий относится равенство скорости движения жидкости на поверхности объекта и скорости движения части объекта в окрестностях узла расчетной сетки.
При динамической постановке задачи, когда положение граничных поверхностей постоянно меняется, необходимо периодически (зависит от требуемой точности моделирования) обновлять граничные условия в узлах сетки вблизи поверхности объекта. Из-за большого количества узлов расчетной сетки при трехмерной постановке задачи данная операция является трудоемкой.
Материалы исследования
Для уменьшения трудоемкости обновления расчетной сетки авторами статьи предлагается метод, основанный на применении аппаратного растеризатора [9] графического процессора. Данный метод дает многократное ускорение процесса обновления сетки по сравнению с программными реализациями. Суть метода заключается в особенности реализации пиксельного шейдера [10] графического конвейера при рендеринге трехмерной модели объекта.
В машинной графике задача рендеринга трехмерных сцен заключается в преобразовании пространственных форм в их проекцию на плоскости, в том числе и перспективную. Весь процесс преобразования разбит на последовательные этапы. Обработка всех этапов происходит параллельно во времени на разных частях графического конвейера. Одни этапы выполняются ап-паратно, другие - специальной программой для графического процессора, называемой шейдером.
Рассмотрим основные этапы более подробно. На рис. 1 показан графический конвейер при рендеринге с использованием вершинного и пиксельного шейдеров и аппаратного растеризатора.
Графический процессор
.... Установка !
\ ПОЗИЦИИ ;
Установка цвета пикселя |
Монитор
Рис. 1. Графический конвейер
При трехмерном описании отображаемого объекта (трехмерной модели) его поверхность дискретно делится на примитивы - треугольники. Список координат вершин всех треугольников поступает на вход графического конвейера, а именно на его первый этап - вершинный шейдер. Задачей шейдера является осуществление аффинных преобразований координат и цветов каждой вершины в соответствии с заданными пространственной моделью и моделью освещенности. В результате модель приводится к базису, в котором плоскость ОХУ параллельна плоскости экрана. Архитектура графического процессора спроектирована таким образом, что на его вычислительных блоках обработка множества вершин выполняется одновременно.
После преобразования координат вершин осуществляется их растеризация в плоскости ОХУ. В современных графических процессорах этап растеризации осуществляется на нескольких аппаратных растеризаторах одновременно. Задачей растеризатора является разбивка области внутри треугольного примитива на конечное множество пикселей (полная заливка области). Пиксель представляет собой элементарную единицу двумерной области плоскости проецирования. Размерность области в пикселях определяется степенью требуемой дискретизации результата.
Каждый пиксель имеет заданные координаты на плоскости, а также может иметь другие атрибуты, передаваемые на вход конвейера либо вычисляемые в процессе обработки на конвейере. К таким атрибутам относится цвет, глубина ^-координата) и др. Значения таких атрибутов, как цвет пикселя и его 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(tO); // массив вершин RWBuffer<uint> Grid : register(uO); // буфер типов граничных условий RWBuffer<float4> 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. Результат работы рендеринга на расчетную сетку
Данный метод можно применять при расчете гидродинамических полей, влияющих на распространение акустических волн от/до движущихся устройств при зондировании, при управлении и контроле состояния траловой системы (для различных датчиков положения), а также в других приложениях.
Заключение
Описан метод отображения поверхностей трехмерных объектов на узлы расчетной сетки при моделировании гидродинамических полей в окрестностях движущихся объектов, использующий аппаратную растеризацию на графическом процессоре. Данный метод позволяет значительно ускорить процесс обновления граничных условий систем гидродинамических уравнений при движении исследуемых объектов. Метод эффективен при расчете гидродинамических полей, влияющих на распространение акустических волн от/до движущихся устройств при зондировании, при управлении и контроле состояния траловой системы, а также в других приложениях.
СПИСОК ЛИТЕРА ТУРЫ
1. Недоступ А. А., Ражев А. О. Математические модели распространения акустических волн с учетом реверберации, временного и доплеровского рассеивания // Инновации в науке, образовании и предпринимательстве: материалы XVI Междунар. конф. VI Междунар. Балт. мор. форума (Калининград, 3-6 сентября 2018 г.). Калининград: Изд-во БГАРФ, 2018. Т. 1. С. 221-227.
2. Недоступ А. А., Ражев А. О. Математическая модель имитатора устройств гидролокации // Морские интеллектуальные технологии (в базе Web of Science). 2018. № 4 (42). Т. 4. С. 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. Недоступ А. А., Ражев А. О. Математическая модель взаимодействия распорной траловой доски с водной средой // Морские интеллектуальные технологии (в базе Web of Science). 2017. № 3 (37). Т. 1. С. 154-157.
5. Наумов В. А., Мейлус Е. Г. Метод расчета гидродинамических коэффициентов траловой доски // Изв. Калинингр. гос. техн. ун-та. 2005. № 9. С. 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 // Вестн. Астрахан. гос. техн. ун-та. Сер.: Рыбное хозяйство. 2017. № 4. С. 61-68.
8. Харченко С. А. Влияние распараллеливания вычислений с поверхностными межпроцессорными границами на масштабируемость параллельного итерационного алгоритма решения систем линейных уравнений на примере уравнений вычислительной гидродинамики // Параллельные вычислительные технологии: тр. Междунар. науч. конф. (Санкт-Петербург, 28 января - 1 февраля 2008 г.). Челябинск: Изд-во ЮУрГУ, 2008. С. 494-499.
9. Фролов В. Введение в технологию CUDA // ВМиК МГУ. Сетевой журнал «Компьютерная графика и мультимедиа». 2008. № 1 (16). URL: http://masters.donntu.org/2013/fknt/reznichenko/library/article5.htm (дата обращения: 10.02.19).
10. Недоступ А. А., Ражев А. О. Применение графического процессора в задачах имитационного моделирования динамических процессов в ставном подвесном неводе // Наука, образование, инновации: пути развития: материалы VI Всерос. конф. (Петропавловск-Камчатский, 21-24 апреля 2015 г.). П-Камчатский: Изд-во КамчатГТУ, 2015. С. 88-92.
Статья поступила в редакцию 25.03.2019
ИНФОРМАЦИЯ ОБ АВТОРАХ
Недоступ Александр Алексеевич - Россия, 236022, Калининград; Калининградский государственный технический университет; канд. техн. наук, доцент; зав. кафедрой промышленного рыболовства; [email protected].
Ражев Алексей Олегович — Россия, 236022, Калининград; Калининградский государственный технический университет; младший научный сотрудник; [email protected].
APPLICATION OF A HARDWARE RASTERIZER IN PROBLEMS OF MODELING HYDRODYNAMIC FIELDS IN TRAWL SYSTEMS DURING HYDROLOCATION
A. A. Nedostup, A. O. Razhev
Kaliningrad State Technical University, Kaliningrad, Russian Federation
Abstract. 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.
Key words: rasterizer, rendering, graphics pipeline, computational grid, dynamic fields, trawl system.
For citation: Nedostup A. A., Razhev A. O. Application of a hardware rasterizer in problems of modeling hydrodynamic fields in trawl systems during hydrolocation. Vestnik of Astrakhan State Technical University. Series: Fishing Industry. 2019;2:51-56. (In Russ.) DOI: 10.24143/20735529-2019-2-51-56.
REFERENCES
1. Nedostup A. A., Razhev A. O. Matematicheskie modeli rasprostraneniia akusticheskikh voln s uchetom reverberatsii, vremennogo i doplerovskogo rasseivaniia [Mathematical models of propagation of acoustic waves with regard to reverberation, temporal and Doppler dispersion]. Innovatsii v nauke, obrazovanii i predprini-matel'stve: materialy XVI Mezhdunarodnoi konferentsii VI Mezhdunarodnogo Baltiiskogo morskogo foruma (Kaliningrad, 3-6 sentiabria 2018 g.). Kaliningrad, Izd-vo BGARF, 2018. Vol. 1. Pp. 221-227.
ISSN2073-5529. BecTHUK ATTY. Cep.: PûÔHoe xo3siùctbo. 2019. № 2
2. Nedostup A. A., Razhev A. O. Matematicheskaia model' imitatora ustroistv gidrolokatsii [Mathematical model of the simulator of sonar devices]. Morskie intellektual'nye tekhnologii (v baze Web of Science), 2018, no. 4 (42), vol. 4, pp. 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. Matematicheskaia model' vzaimodeistviia raspornoi tralovoi doski s vodnoi sredoi [Mathematical model of interaction of the trawl board with the water environment]. Morskie intellektual'nye tekhnologii (v baze Web of Science), 2017, no. 3 (37), vol. 1, pp. 154-157.
5. Naumov V. A., Meilus E. G. Metod rascheta gidrodinamicheskikh koeffitsientov tralovoi doski [Method for calculating hydrodynamic coefficients of trawl board]. Izvestiia Kaliningradskogo gosudarstvennogo tekhnicheskogo universiteta, 2005, no. 9, pp. 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. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Rybnoe khoziaistvo, 2017, no. 4, pp. 61-68.
8. Kharchenko S. A. Vliianie rasparallelivaniia vychislenii s poverkhnostnymi mezhprotsessornymi granitsami na masshtabiruemost' parallel'nogo iteratsionnogo algoritma resheniia sistem lineinykh uravnenii na primere uravnenii vychislitel'noi gidrodinamiki [Effect of parallelization of computations with surface interprocessor boundaries on scalability of parallel iterative algorithm for solving systems of linear equations using the example of the equations of computational hydrodynamics]. Parallel'nye vychislitel'nye tekhnologii: trudy Mezhdunarodnoi nauchnoi konferentsii (Sankt-Peterburg, 28 ianvaria - 1 fevralia 2008 g.). Cheliabinsk, Izd-vo IuUrGU, 2008. Pp. 494-499.
9. Frolov V. Vvedenie v tekhnologiiu CUDA [Introduction to CUDA Technology]. VMiK MGU. Setevoi zhurnal «Komp'iuternaia grafika i multimedia», 2008, no. 1 (16). Available at: http://masters.donntu.org/ 2013/fknt/reznichenko/library/article5.htm (accessed: 10.01.19).
10. Nedostup A. A., Razhev A. O. Primenenie graficheskogo protsessora v zadachakh imitatsionnogo modeliro-vaniia dinamicheskikh protsessov v stavnom podvesnom nevode [Using graphics processor in problems of simulation of dynamic processes in fixed suspended seine]. Nauka, obrazovanie, innovatsii: puti razvitiia: materialy VI Vse-rossiiskoi konferentsii (Petropavlovsk-Kamchatskii, 21-24 aprelia 2015 g.). Petropavlovsk-Kamchatskii, Izd-vo Kam-chatGTU, 2015. Pp. 88-92.
Nedostup Aleksandr Alekseevich — Russia, 236022, Kaliningrad; Kaliningrad State Technical University; Candidate of Technical Sciences, Assistant Professor; Head of the Department of Commercial Fishery; [email protected].
Razhev Alexei Olegovich - Russia, 236022, Kaliningrad; Kaliningrad State Technical University; Junior Researcher; [email protected].
The article submitted to the editors 25.03.2019
INFORMATION ABOUT THE AUTHORS