RU2664001C2 - Method for using graphic processor equipment for calculation of general angular coefficients of radiation for vacuum heating units - Google Patents
Method for using graphic processor equipment for calculation of general angular coefficients of radiation for vacuum heating units Download PDFInfo
- Publication number
- RU2664001C2 RU2664001C2 RU2015153656A RU2015153656A RU2664001C2 RU 2664001 C2 RU2664001 C2 RU 2664001C2 RU 2015153656 A RU2015153656 A RU 2015153656A RU 2015153656 A RU2015153656 A RU 2015153656A RU 2664001 C2 RU2664001 C2 RU 2664001C2
- Authority
- RU
- Russia
- Prior art keywords
- shader
- coordinates
- radiation
- image
- vertices
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Image Generation (AREA)
Abstract
Description
Описание изобретенияDescription of the invention
Предлагаемый способ относится к области моделирования процессов тепломассопереноса, в частности к области моделирования процессов лучистого теплообмена.The proposed method relates to the field of modeling processes of heat and mass transfer, in particular to the field of modeling processes of radiant heat transfer.
Известен зональный метод моделирования процессов тепломассопереноса, в основе которого лежит деление излучающей объемной среды и ограничивающих поверхностей на ряд зон, теплофизические параметры в пределах каждой из которых считаются постоянными. Каждая из зон связана с другими через обобщенные угловые коэффициенты излучения, показывающие, какая доля энергии, излученной в одной зоне, достигает другой зоны и поглощается ею.The zonal method for modeling heat and mass transfer processes is known, which is based on the division of a radiating bulk medium and bounding surfaces into a number of zones, the thermophysical parameters within each of which are considered constant. Each of the zones is connected with the other through generalized angular radiation coefficients, showing how much of the energy radiated in one zone reaches the other zone and is absorbed by it.
Основы прикладного зонального метода расчета радиационного и сложного теплообмена были заложены в работах Г.Л. Поляка, Ю.А. Суринова, А.С. Невского, В.Н. Адрианова, X. Хоттеля. Дальнейшее развитие методы расчета топок получили в работах В.М. Седелкина, В.Г. Лисиенко, Ю.А. Журавлева и др.The foundations of the applied zonal method for calculating radiation and complex heat transfer were laid in the works of G.L. Pole, Yu.A. Surinova, A.S. Nevsky, V.N. Adrianova, H. Hottel. The methods for calculating the furnaces were further developed in the works of V.M. Sedelkina, V.G. Lisienko, Yu.A. Zhuravleva et al.
В зональных методах расчетная область делится на n поверхностных и m объемных зон. В пределах каждой зоны температура и радиационные характеристики считаются постоянными. Представление излучающей системы в виде совокупности изотермичных зон, обменивающихся радиационной энергией, позволяет получить распределение потоков излучения как функции средне-зональных температур. В математическом плане применение зональных методов позволяет перейти от интегро-дифференциальных уравнений, которыми описываются процессы сложного теплообмена, к аппроксимирующей конечной системе нелинейных алгебраических уравнений относительно среднезональных температур.In zonal methods, the computational domain is divided into n surface and m volume zones. Within each zone, temperature and radiation characteristics are considered constant. Representation of the radiating system in the form of a set of isothermal zones exchanging radiation energy makes it possible to obtain the distribution of radiation fluxes as a function of mid-zonal temperatures. In mathematical terms, the use of zonal methods allows us to move from integro-differential equations that describe complex heat transfer processes to an approximating finite system of nonlinear algebraic equations with respect to mean seasonal temperatures.
Было разработано несколько схем расчета с целью эффективного применения зонального метода к различным теплотехническим задачам. Эти схемы характеризуются различием математической записи выражений, аппроксимирующих интегральные уравнения излучения, последовательностью и способами их решения [1-4]. При определении лучистой составляющей зональных уравнений теплового баланса в нашей стране распространена расчетная схема, использующая введенные Ю.А. Суриновым разрешающие угловые коэффициенты излучения [5]. В общем виде, для каждой из n поверхностных и т объемных зон можно записать соответствующее нелинейное уравнение теплового баланса и теплопередачи:Several calculation schemes have been developed with the goal of effectively applying the zonal method to various heat engineering problems. These schemes are characterized by the difference in the mathematical notation of expressions approximating the integral radiation equations, by the sequence and methods of solving them [1-4]. When determining the radiant component of the zonal equations of heat balance in our country, a calculation scheme is used that uses Yu.A. Surinov resolving angular emissivity [5]. In general terms, for each of n surface and t volume zones, the corresponding nonlinear equation of heat balance and heat transfer can be written:
В такой форме запись уравнения впервые была предложена В.Г. Лисиенко [6]. В этом уравнении первые два слагаемых представляют собой результирующий радиационный тепловой поток для зоны j, равный разности между теплом, поглощенным данной зоной j вследствие лучистого переноса из других зон i, и собственным излучением . Третье и четвертое слагаемые представляют собой величину результирующего теплообмена данной зоны j с соседними зонами i в результате переноса тепла с движущейся средой, конвективного теплопереноса и теплопередачи через поверхностные зоны; последнее слагаемое - количество тепла подводимое извне.In this form, writing the equation was first proposed by V.G. Lisienko [6]. In this equation, the first two terms are the resulting radiation heat flux for zone j equal to the difference between the heat absorbed by this zone j due to radiant transfer from other zones i and its own radiation . The third and fourth terms represent the value of the resulting heat transfer of a given zone j with neighboring zones i as a result of heat transfer with a moving medium, convective heat transfer, and heat transfer through surface zones; the last term is the amount of heat supplied from the outside.
Угловой коэффициент излучения - это величина, характеризующая поток излучения, который попадает с одной площадки изучаемой системы на другую. Если i-тая излучающая поверхность (источник излучения) системы излучает на j-тую излучающую поверхность системы (приемник излучения), то ϕi,j определяет, какая часть от общего излучения i-той поверхности попадает на j-тую. В литературе часто приводится формула (2), которая, однако плохо работает при переходе к алгебраическим уравнениям, в случае если площади поверхностей сопоставимы с квадратом расстояния между ними (рисунок 1):The angular emissivity is a value that characterizes the radiation flux that enters from one site of the system under study to another. If the i-th radiating surface (radiation source) of the system radiates to the j-th radiating surface of the system (radiation receiver), then ϕ i, j determines how much of the total radiation of the i-th surface falls on the j-th. Formula (2) is often given in the literature, which, however, does not work well when moving to algebraic equations, if the surface areas are comparable to the square of the distance between them (Figure 1):
где, ψi, ψj - углы между нормалями излучающих поверхностей и прямой, соединяющей их центры,where, ψ i , ψ j are the angles between the normals of the radiating surfaces and the straight line connecting their centers,
ri,j - расстояние между излучающими поверхностями.r i, j is the distance between the radiating surfaces.
dFj - площадь поверхности-приемника.dF j is the surface area of the receiver.
Особенностью системы уравнений с разрешающими угловыми коэффициентами излучения является простота формы записи и универсальность уравнений. Взаимный баланс лучистых и конвективных членов в выражении (1) позволяет учесть совместное тепловое взаимодействие конвекции и излучения.A feature of the system of equations with resolving angular radiation coefficients is the simplicity of the writing form and the universality of the equations. The mutual balance of the radiant and convective terms in expression (1) allows us to take into account the combined thermal interaction of convection and radiation.
Точность такого подхода исследовалась относительно точной постановки задачи радиационно-конвективного теплообмена [7], где было показано, что погрешность зонального расчета на участках, где наиболее сильно проявляется взаимодействие конвекции и излучения, не превышает 7% при определении результирующих потоков и 2% при нахождении распределений температуры.The accuracy of this approach was investigated with respect to the exact statement of the problem of radiation-convective heat transfer [7], where it was shown that the error of the zonal calculation in the areas where the interaction of convection and radiation is most pronounced does not exceed 7% when determining the resulting fluxes and 2% when finding the distributions temperature.
Известные способы нахождения обобщенных угловых коэффициентов - метод Монте-Карло, метод квадратур Гаусса и другие, имеют ряд недостатков, в числе которых огромная вычислительная мощность аппаратных средств, требуемых для расчета сложной системы взаимодействующих тел (большое количество нагревателей в печном агрегате, большое число обрабатываемых изделий в рабочем объеме, сложная геометрия печного пространства). Расчет коэффициента согласно формуле 2 применимо только в случае, когда квадрат расстояния между исследуемыми элементами значительно больше их площади.Known methods for finding generalized angular coefficients — the Monte Carlo method, the Gauss quadrature method, and others — have several drawbacks, including the enormous processing power of the hardware required to calculate a complex system of interacting bodies (a large number of heaters in a furnace unit, a large number of processed products in the working volume, the complex geometry of the furnace space). The calculation of the coefficient according to formula 2 is applicable only in the case when the square of the distance between the studied elements is much larger than their area.
Графический процессор это отдельное устройство в составе компьютера, которое выполняет обработку графической информации для вывода на экран (рендеринг). Благодаря специализированной конвейерной архитектуре он справляется с этой задачей намного лучше центрального процессора. Видеоадаптеры (видеокарты) имеют в своем составе до нескольких тысяч ядер и собственную оперативную память, их архитектура оптимизирована для массивных параллельных вычислений, что и определяет их большую эффективность в рендеринге.The graphics processor is a separate device within the computer that processes the graphic information for display (rendering). Thanks to the specialized pipelined architecture, it copes with this task much better than the central processor. Video adapters (video cards) incorporate up to several thousand cores and their own random access memory, their architecture is optimized for massive parallel computing, which determines their great efficiency in rendering.
Графический конвейер - это аппаратно-программный комплекс визуализации трехмерной графики, последовательность стадий (функций), выполняющихся в фиксированном порядке и параллельно. Каждая стадия принимает информацию из предыдущей стадии и отправляет в следующую. В современном графическом конвейере поддерживаемом существует пять программируемых стадий: вершинный шейдер (Vertex Shader), шейдер поверхности (Hull Shader), шейдер домена (Domain Shader), геометрический шейдер (Geometry Shader) и пиксельный шейдер (Pixel Shader). Каждая из стадий служит этапом в выводе изображения на экран. Если принять излучение полностью диффузионным (независящим от направления), то угловой коэффициент отражает, какая часть излучения источника, распространяемого по полусфере, попадает на проекцию приемника на эту сферу. Используя термины трехмерной компьютерной графики, получается, что если поставить наблюдателя в точку источника излучения, и направить взгляд по направлению нормали в данной точки и отобразить полученное изображение в сферической системе координат (зенитные и азимутные углы откладываются по осям x и y, r выполняет роль глубины изображения - координаты z), то отношение полученной площади приемника к полной площади изображения, есть угловой коэффициент излучения.A graphic conveyor is a hardware-software complex for visualizing three-dimensional graphics, a sequence of stages (functions) that are performed in a fixed order and in parallel. Each stage receives information from the previous stage and sends to the next. There are five programmable stages in a modern supported graphics pipeline: Vertex Shader, Surface Shader, Domain Shader, Geometry Shader, and Pixel Shader. Each of the stages serves as a stage in displaying the image. If we accept radiation completely diffusive (independent of direction), then the angular coefficient reflects how much of the radiation from the source propagating in the hemisphere falls on the projection of the receiver on this sphere. Using the terms of three-dimensional computer graphics, it turns out that if you put the observer at the point of the radiation source, and look in the direction of the normal at this point and display the image in a spherical coordinate system (zenith and azimuth angles are laid off along the x and y axes, r plays the role of depth images - coordinates z), then the ratio of the received receiver area to the total image area is the angular emission coefficient.
Техническая задача, решаемая предлагаемым способом, состоит в использовании аппаратных средств графических ускорителей (графического конвейера) для расчета обобщенных угловых коэффициентов.The technical problem solved by the proposed method is to use hardware graphics accelerators (graphics pipeline) to calculate the generalized angular coefficients.
Суть предложенного способа заключается в представлении источника излучения в виде «камеры», прорисовки видимом ей изображении средствами графического ускорителя и обработке этого изображения. Обработка изображения имеет целью рассчитать степень «видимости» остальных элементов системы из точки «камеры».The essence of the proposed method is to represent the radiation source in the form of a "camera", draw a visible image to it by means of a graphics accelerator and process this image. Image processing aims to calculate the degree of "visibility" of the remaining elements of the system from the point of the "camera".
Из этого следует, что для расчета углового коэффициента излучения необходимо:From this it follows that to calculate the angular emissivity it is necessary:
1) Поставить наблюдателя (камеру) в точку, принимаемую как локальный источник излучения, таких точек на одной поверхности может быть сколько угодно, для увеличения точности расчета, при этом интенсивность каждой отдельной точки обратно пропорциональна их количеству.1) Put the observer (camera) at a point accepted as a local radiation source, there can be any number of such points on one surface to increase the accuracy of calculation, while the intensity of each individual point is inversely proportional to their number.
2) Направлением камеры выбрать нормаль к излучающей поверхности в данной точке.2) By the direction of the camera, select the normal to the radiating surface at a given point.
3) Произвести рендеринг изображения, переведя перед этим все координаты в сферическую систему координат. В цвете поступающих на отрисовку примитивов закодирован номер изотермической зоны и номер излучающей поверхности этой зоны.3) Render the image by translating all the coordinates into a spherical coordinate system. In the color of the primitives that are being drawn, the number of the isothermal zone and the number of the radiating surface of this zone are encoded.
4) Определить на полученном изображении отношение площадей видимых поверхностей к площади изображения (точнее круговой центральной его части, так как координаты точек будут иметь разброс по первым двум координатам от -π/2 до π/2).4) Determine the ratio of the areas of visible surfaces to the area of the image on the resulting image (more precisely, its circular central part, since the coordinates of the points will have a spread in the first two coordinates from -π / 2 to π / 2).
Для реализации алгоритма предлагается использовать стандартные средства для работы с графическими процессорами, а именно DirectX 11 фирмы Microsoft. Программа, реализующая данный алгоритм имеет свидетельство о государственной регистрации программы для ЭВМ №2015619364.To implement the algorithm, it is proposed to use standard tools for working with graphic processors, namely Microsoft DirectX 11. A program that implements this algorithm has a certificate of state registration of a computer program No. 20155619364.
В современном графическом конвейере, поддерживаемом в DirectX 11 пять программируемых стадий (рисунок 2): вершинный шейдер (Vertex Shader), шейдер поверхности (Hull Shader), шейдер домена (Domain Shader), геометрический шейдер (Geometry Shader) и пиксельный шейдер (Pixel Shader).There are five programmable stages in a modern graphics pipeline supported in DirectX 11 (Figure 2): Vertex Shader, Surface Shader, Domain Shader, Geometry Shader, and Pixel Shader )
Каждая из этих стадий необходима для реализации алгоритма. Прежде чем запускать графический конвейер в видеокарты необходимо загрузить текстуры (с точки зрения программирования это обычный массив) и буфер вершин. В буфере трехмерная модель, которую необходимо отрисовать, представлена в виде последовательности точек (вершин), объединенных в треугольники. Получив данные видеокарта запускает графический конвейер, в котором каждая из стадий выполняется параллельно на всех имеющихся ядрах (шейдерных процессорах).Each of these stages is necessary for the implementation of the algorithm. Before starting the graphics pipeline, it is necessary to load the textures into the video cards (from the programming point of view, this is a regular array) and the vertex buffer. In the buffer, the three-dimensional model that needs to be drawn is represented as a sequence of points (vertices) combined into triangles. Having received the data, the video card launches a graphics pipeline in which each of the stages is performed in parallel on all available cores (shader processors).
Вершинный шейдер вызывается для каждой вершины. В данной реализации служит для перевода локальных координат примитивов (треугольников) в глобальные, а затем из глобальных в координаты камеры. В итоге координата z отвечает за глубину изображения, то есть, направлена вглубь экрана. Вместо цвета, для дальнейшей обработки передается номер элемента системы, к которому принадлежит вершина (в данном случае это два числа - номер изотермической зоны и номер излучающей поверхности этой зоны).A vertex shader is called for each vertex. In this implementation, it is used to translate the local coordinates of primitives (triangles) into global, and then from global to camera coordinates. As a result, the z coordinate is responsible for the depth of the image, that is, it is directed deep into the screen. Instead of color, for further processing, the number of the system element to which the vertex belongs is transmitted (in this case, these are two numbers - the number of the isothermal zone and the number of the radiating surface of this zone).
Так как графический конвейер способен работать только с вершинами в декартовой системе координат, то он будет некорректно проводить растеризацию, то есть заполнения пространства внутри треугольника. Прямые, соединяющие вершины в декартовой системе координат, не являются таковыми в сферической, вырождаясь в дуги, что вызывает погрешности, вплоть до полного искажения результатов. Решением данной проблемы в рамках графического конвейера может быть увеличение числа треугольников, то есть уменьшение их размеров. Но задавать заранее большее количество вершин накладно с точки зрения ресурсов и отнимает у алгоритма гибкость (необходимо загружать разные модели для разной точности расчетов). Более правильным является использование двух следующих стадий конвейера, появившихся в 11 версии DirectX: шейдер поверхности и шейдер домена. Их совокупная работа позволяет организовать так называемую тесселяцию - разделение поступающих на вход треугольников на более мелкие треугольники «на лету», т.е. генерируемые вершины не присутствуют в исходной модели, а появляются на этой стадии. Это позволяет резко повысить детализацию трехмерной модели, в том числе и в сферической системе координат, и следственно точность расчета угловых коэффициентов. Чем больше уровень тесселяци, тем точнее грани первичного треугольника соответствуют их реальному виду в сферической системе координат. Данный способ позволяет организовать изменение уровня тесселяции в зависимости от расстояния до объекта и его углового размера, так как нет смысла тратить ресурсы графического процессора на деление далеких от камеры треугольников, они и так отобразятся близко к истине, в то время как близкие объекты будут искажены, и требуют более высокого уровня тесселяции. Так же теселяция позволяет «на лету» округлять поверхности, что удобно при прорисовке сфер, цилиндров и других сферических объектов, так как они при разбиении на излучающие поверхности заменяются правильными многоугольниками и многогранниками.Since the graphics pipeline is able to work only with vertices in the Cartesian coordinate system, it will not conduct rasterization correctly, that is, filling the space inside the triangle. The straight lines connecting the vertices in the Cartesian coordinate system are not spherical, degenerating into arcs, which causes errors, up to a complete distortion of the results. The solution to this problem within the graphics pipeline can be to increase the number of triangles, that is, reduce their size. But it is unprofitable to set a larger number of vertices in advance from the point of view of resources and takes away the flexibility of the algorithm (it is necessary to load different models for different calculation accuracy). It is more correct to use the following two stages of the pipeline, which appeared in version 11 of DirectX: the surface shader and the domain shader. Their combined work allows us to organize the so-called tessellation - the separation of incoming triangles into smaller triangles “on the fly”, i.e. the generated vertices are not present in the original model, but appear at this stage. This allows you to sharply increase the detail of the three-dimensional model, including in the spherical coordinate system, and, consequently, the accuracy of calculating the angular coefficients. The higher the tessellation level, the more precisely the faces of the primary triangle correspond to their real form in a spherical coordinate system. This method allows you to organize a change in the tessellation level depending on the distance to the object and its angular size, since there is no point in wasting the resources of the GPU on dividing triangles far from the camera, they will already be displayed close to the truth, while close objects will be distorted, and require a higher level of tessellation. Stacking also allows you to round surfaces “on the fly”, which is convenient when drawing spheres, cylinders and other spherical objects, since when divided into radiating surfaces, they are replaced by regular polygons and polyhedra.
В качестве примера необходимости применения тесселяции рассмотрим простейший случай - куб, каждая из граней которого состоит из двух треугольников и является излучающей поверхностью. Если поставить камеру в центр одной их граней и смотреть внутрь куба то в сферических координатах получится картинка, представленная на рисунке 3. Каждая грань для удобства раскрашена своим цветом. Рядом для наглядности каркасное изображение.As an example of the need for tessellation, we consider the simplest case - a cube, each of the faces of which consists of two triangles and is a radiating surface. If you put the camera in the center of one of the faces and look inside the cube, then in the spherical coordinates you get the picture shown in Figure 3. Each face is conveniently painted in color. Nearby for clarity, a wireframe image.
Как видно из представленного рисунка, получившееся изображение сильно искажено слишком малым количеством вершин. Соединяя их по прямой при рендеринге графический процессор не учитывает что это сферическая система координат, в результате мы получим сильно заниженные угловые коэффициенты и часть излучения будет просто «улетать в пустоту» (в случае куба очевидно что излучение изнутри никуда не может исчезнуть и должна быть заполнена вся центральная круговая зона). При тесселяции каждая из сторон исходного треугольника и его внутренняя область разбивается на несколько отрезков, которые становятся сторонами новых более мелких треугольников. Назовем количество делений уровнем тесселяции. На рисунках 4-7 представлены изображения при уровнях тесселяции 2, 3, 10 и 20 соотвественно (рендеринг производился в текстуру 3000×3000 точек).As can be seen from the presented figure, the resulting image is greatly distorted by too few vertices. Connecting them in a straight line during rendering, the GPU does not take into account that it is a spherical coordinate system, as a result we get very low angular coefficients and part of the radiation will simply “fly away into the void” (in the case of a cube, it is obvious that the radiation from inside cannot disappear and must be filled entire central circular zone). During tessellation, each of the sides of the original triangle and its inner region is divided into several segments, which become the sides of the new smaller triangles. Let us call the number of divisions the tessellation level. Figures 4-7 show images at tessellation levels of 2, 3, 10, and 20, respectively (rendering was performed in a texture of 3000 × 3000 pixels).
Полученные вершины поступают на следующую стадию - геометрический шейдер. В отличие от вершинного, он обрабатывает весь примитив целиком, т.е. на его вход приходит сразу три вершины, принадлежащие одному треугольнику. Так же этот шейдер способен генерировать новые произвольные (по заданному пользователем алгоритму) вершины и удалять старые. На этом этапе необходимо сначала проверить вершины на видимость камерой, и если необходимо пересчитать некоторые их них. Видимой для камеры вершиной в данном случае считается вершина с неотрицательной координатой z (вся полусфера). В случае если в треугольнике нет неотрицательных вершин, он не отправляется на дальнейшую отрисовку (вершины удаляются).The resulting vertices go to the next stage - the geometric shader. Unlike the vertex one, it processes the entire primitive as a whole, i.e. three vertices belonging to one triangle come to its entrance at once. This shader is also able to generate new arbitrary (according to the user-defined algorithm) vertices and delete old ones. At this stage, you must first check the peaks for visibility by the camera, and if necessary, recount some of them. In this case, the vertex visible to the camera is the vertex with a non-negative coordinate z (the entire hemisphere). If there are no non-negative vertices in the triangle, it is not sent for further drawing (the vertices are deleted).
На этапе растеризации (рисунок 2) графический процессор закрашивает все пиксели, принадлежащие треугольнику, но при стандартном использовании графического конвейера применяется матрица проекций, трансформирующая координаты примитивов в проекционные. Координата z (глубина изображения) приводится к диапазону (0.0,1.0), а координаты x и y приводятся к виду, в котором видимая часть изображения имеет координаты (-0.5, 0.5).At the stage of rasterization (Figure 2), the GPU paints all the pixels belonging to the triangle, but with the standard use of the graphics pipeline, a projection matrix is used that transforms the coordinates of primitives into projection ones. The z coordinate (image depth) is reduced to a range (0.0,1.0), and the x and y coordinates are reduced to a view in which the visible part of the image has coordinates (-0.5, 0.5).
В сферической системе координат по оси x откладываем θcos(ϕ), по оси y - θsin(ϕ), r - выступает в роли глубины изображения, где θ - зенитный угол, ϕ - азимутный угол, r - кратчайшее расстояние до начала координат (камеры). Для компенсации отсутствия проекционной матрицы необходимо разделить r на некоторую, заранее большую максимального расстояния в исследуемой модели величину (таким образом, приведя к нужному диапазону); в 4 компоненту координаты вершины в сферической системе координат вписать π/2 (так как диапазон сферических координат (-π/2, π/2)). На рисунке 8 приводится пример прорисовки треугольников. Красный квадрат определяет зону выводимую на экран (кадр), черный круг показывает разброс сферических координат. В случае зеленого треугольника имеется одна неотрицательная вершина, при перерасчете в сферические координаты будет закрашена сверх необходимого серая зона, что приведет к неправильному расчету площади. Необходимо заменить каждую из двух точек за границей обзора на точки пересечения с окружностью (в декартовой системе это точки пересечения с плоскостью XY). В случае наличие двух неотрицательных точек (синий треугольник) заменяется только одна из точек, но количество треугольников удваивается.In the spherical coordinate system, on the x axis, we postpone θcos (ϕ), on the y axis, θsin (ϕ), r - acts as the depth of the image, where θ is the zenith angle, ϕ is the azimuth angle, r is the shortest distance to the origin (camera ) To compensate for the absence of the projection matrix, it is necessary to divide r by a certain amount that is large in advance of the maximum distance in the model under study (thus, leading to the desired range); in the 4 component of the vertex coordinate in the spherical coordinate system, write π / 2 (since the range of spherical coordinates (-π / 2, π / 2)). Figure 8 shows an example of drawing triangles. The red square defines the area displayed on the screen (frame), the black circle shows the scatter of the spherical coordinates. In the case of the green triangle, there is one non-negative vertex, when recalculated into spherical coordinates, the gray area will be painted over in excess of the necessary, which will lead to an incorrect calculation of the area. It is necessary to replace each of the two points beyond the line of sight with the points of intersection with the circle (in the Cartesian system, these are points of intersection with the XY plane). In the case of the presence of two non-negative points (blue triangle), only one of the points is replaced, but the number of triangles doubles.
Белый участок между отрисованным треугольником и окружностью обзора появляется из-за погрешности приведения к сферической системе, и исправляется тесселяцией (желтый треугольник). После выполнения геометрического шейдера треугольник отобразиться внутри зоны ограниченной кругом, площадью π/4 от общей площади квадратного изображения. Ниже приведен код перевода из декартовых в сферические координаты. Если треугольник полностью лежит в неотрицательной области z, то он отрисовывается без изменений. В полученной системе точки, лежащие на одной прямой, если смотреть из начала координат (камеры) имеют одни и те же координаты x и y, но разную составляющую z, что позволяет применить стандартный буфер глубины (z-буфер), для определения перекрываемости точек поверхностей для корректного отображения.The white section between the drawn triangle and the viewing circle appears due to the error of reduction to the spherical system, and is corrected by tessellation (yellow triangle). After the geometric shader is executed, the triangle will be displayed inside the zone bounded by a circle with an area π / 4 of the total area of the square image. Below is the translation code from Cartesian to spherical coordinates. If the triangle lies completely in the non-negative region of z, then it is drawn without changes. In the resulting system, points lying on one straight line, when viewed from the origin (camera) have the same x and y coordinates, but different z components, which allows the use of a standard depth buffer (z-buffer) to determine the overlap of surface points for correct display.
Пиксельный шейдер возвращает в качестве цвета пикселя номер излучающей поверхности к которой принадлежит. Так как он вызывается уже после проверки буфера глубины, то это значит, что точка видна из камеры (источника) и на нее попадает излучение, равное излучению источника деленной на полное число пикселей в центральной круговой части изображения.The pixel shader returns the number of the emitting surface to which it belongs as the pixel color. Since it is called after checking the depth buffer, this means that the point is visible from the camera (source) and the radiation equal to the radiation of the source divided by the total number of pixels in the central circular part of the image is incident on it.
Полученное изображение обрисовывается не на экран, а в текстуру, и подсчитывается количества пикселей, принадлежащих каждой попавшей в кадр поверхности, и делению этой величины на полное число пикселей в круговой части изображения. Полученные числа аддитивно вносятся в таблицу угловых коэффициентов излучения для дальней обработки [8-10].The resulting image is drawn not on the screen, but in the texture, and the number of pixels belonging to each surface that fell into the frame is calculated and dividing this value by the total number of pixels in the circular part of the image. The obtained numbers are additively entered into the table of angular radiation coefficients for long-distance processing [8-10].
Для подсчета угловых коэффициентов на основе изображения выгодно так же использовать ресурсы графического процессора, чтобы, во-первых, не тратить время на выгрузку каждой картинки из видеопамяти в память компьютера (разрешение изображения оптимально делать не менее 2000 на 2000 пикселе), во-вторых, графическое ядро справится с задачей обработки изображения значительно быстрей. Для решения поставленной задачи предлагается использовать новшество DirectX 11 - вычислительный шейдер (Compute Shader). Вычислительный шейдер это программа, заменяющая собой весь графический конвейер, позволяя использовать графическое ядро для общих задач. В данной задаче, вычислительный шейдер обрабатывает полученное изображение, и возвращает массив элементов системы, на которые излучает исследуемая излучающая поверхность и количество пикселей попавших в кадр.To calculate the angular coefficients based on the image, it is also advantageous to use the resources of the graphics processor so that, firstly, you do not waste time unloading each image from the video memory into the computer's memory (it is optimal to make the image resolution at least 2000 by 2000 pixels), and secondly, the graphics core will cope with the task of image processing much faster. To solve this problem, it is proposed to use the DirectX 11 innovation - Compute Shader. Computing shader is a program that replaces the entire graphics pipeline, allowing you to use the graphics core for general tasks. In this task, the computational shader processes the resulting image and returns an array of system elements to which the studied radiating surface and the number of pixels that have fallen into the frame emit.
Как видно из рисунков 3-7, переход к сферической системе координат приводит к не полному заполнению круговой зоны (полусфера излучения). Число «потерянных» пикселей (разница между числом закрашенных пикселей и полным их числом во внутренней круговой зоне) уменьшается с увеличением уровня тесселяции. Назовем отношение числа потерянных пикселей к общему их числу в круговой зоне коэффициентом потери излучения модели (Таблица 1).As can be seen from Figures 3-7, the transition to a spherical coordinate system leads to incomplete filling of the circular zone (radiation hemisphere). The number of “lost” pixels (the difference between the number of filled pixels and their total number in the inner circular zone) decreases with increasing tessellation level. We call the ratio of the number of lost pixels to their total number in the circular zone the coefficient of radiation loss of the model (Table 1).
Частично данный эффект можно компенсировать последующим распределением «недостающих пикселей» среди всех пограничных элементов.Partially, this effect can be compensated by the subsequent distribution of “missing pixels” among all border elements.
В модели [8-10], разработанной на основе зонального метода, применяется рекурсивный учет отражения и одним из критериев корректности матрицы излучения является нулевая сумма элементов каждой строки (иначе замкнутая система не стремиться к выравниванию температуры при прекращении подачи энергии извне). Назовем дефицитом излучения модели отношение отклонения суммы элементов строки от нуля к величине диагонального элемента. По сути дефицит излучения отражает количество излучения «потерянного» излучающей ячейкой из-за принятых в модели допущений. Ниже представлены таблицы коэффициентов дефицита излучения (в процентах) для куба при различных уровнях тесселяции и глубине отражения (в случае куба все 6 граней равнозначны).In the model [8-10], developed on the basis of the zonal method, the reflection is taken into account recursively and one of the criteria for the correctness of the radiation matrix is the zero sum of the elements of each row (otherwise a closed system does not tend to equalize the temperature when the external power supply is cut off). We call the radiation deficit of the model the ratio of the deviation of the sum of the elements of the string from zero to the value of the diagonal element. In fact, the radiation deficit reflects the amount of radiation "lost" by the radiating cell due to the assumptions made in the model. Below are tables of radiation deficiency coefficients (in percent) for the cube for various tessellation levels and depth of reflection (in the case of the cube, all 6 faces are equivalent).
Как видно из таблиц 2 и 3 при тесселяции больше 10 основную погрешность вносит недостаточное количество отражений, особенно при низком коэффициенте поглощения (при последнем вызове рекурсивной функции отраженная часть излучения теряется). Если при последнем вызове не учитывать отражение, то коэффициент дефицита резко уменьшится.As can be seen from Tables 2 and 3, when tessellation is greater than 10, the main error is introduced by an insufficient number of reflections, especially at a low absorption coefficient (the reflection of the radiation is lost during the last call of the recursive function). If reflection is not taken into account at the last call, the deficit coefficient will decrease sharply.
Предложен принципиально новый способ расчета угловых коэффициентов излучения основанный на использовании ресурсов графического процессора и средств Microsoft DirectX 11, разработано программное обеспечение и проведены экспериментальные исследования. Данный способ позволяет рассчитывать угловые коэффициенты в системе произвольной сложности с любой необходимой точностью. Средства DirectX позволяют автоматизировать и скрыть от программиста большую часть расчетов, значительно упростив написание и снизив время работы программы. Использование вычислительного шейдера позволяет избежать потерь времени на копирование данных из памяти видеокарты в память персонального компьютера.A fundamentally new method is proposed for calculating the angular emissivity based on the use of the resources of the GPU and Microsoft DirectX 11 tools, software has been developed and experimental studies have been carried out. This method allows you to calculate the angular coefficients in a system of arbitrary complexity with any necessary accuracy. DirectX tools allow you to automate and hide from the programmer most of the calculations, greatly simplifying the writing and reducing the time of the program. Using a computational shader allows you to avoid losing time on copying data from the memory of the video card to the memory of a personal computer.
Краткое описание чертежей:Brief Description of the Drawings:
Рисунок 1 - графическое пояснение к формуле 2,Figure 1 - graphical explanation of the formula 2,
Рисунок 2 - схема работы графического конвейера,Figure 2 - scheme of the graphics pipeline,
Рисунок 3-7 - изображения куба в сферической системе координат с различными уровнями тесселяции,Figure 3-7 - images of a cube in a spherical coordinate system with different levels of tessellation,
Рисунок 8 - пример прорисовки треугольников в сферической системе координат с учетом видимости его вершин для наблюдателя,Figure 8 - an example of drawing triangles in a spherical coordinate system, taking into account the visibility of its vertices for the observer,
Таблица 1-3 - влияние тесселяции на потерю излучения.Table 1-3 - The effect of tessellation on radiation loss.
1. Невский А.С. Лучистый теплообмен в печах и топках. 2-е изд., испр. и доп. М.: Металлургия, 1971. 440 с.1. Nevsky A.S. Radiant heat transfer in furnaces and furnaces. 2nd ed., Rev. and add. M .: Metallurgy, 1971.440 s.
2. Спэрроу Э.М., Сесс Р.Д. Теплообмен излучением. Л.: Энергия, 1971. 296 с.2. Sparrow E.M., Sess R.D. Heat transfer by radiation. L .: Energy, 1971.296 s.
3. Зигель Р., Хауэлл Дж. Теплообмен излучением. М.: Мир, 1975. 936 с.3. Siegel R., Howell J. Heat radiation. M .: Mir, 1975.936 p.
4. Юдаев Б.Н. Теплопередача. - Москва: Высшая школа, 1973. - 360 с.4. Yudaev B.N. Heat transfer. - Moscow: Higher School, 1973. - 360 p.
21. Исаченко В.П., Осипова В.А., Сукомел А.С. Теплопередача. - Москва: Энергия, 1975. - 480 с.21. Isachenko V.P., Osipova V.A., Sukomel A.S. Heat transfer. - Moscow: Energy, 1975 .-- 480 p.
5. Суринов Ю.А. Об итерационно зональном методе исследования и расчета локальных характеристик лучистого теплообмена. - Теплофизика высоких температур, 1972. Т. 10. №4. С. 844-852.5. Surinov Yu.A. On the iterative zonal method for studying and calculating the local characteristics of radiant heat transfer. - Thermophysics of high temperatures, 1972. T. 10. No. 4. S. 844-852.
6. Лисиенко В.Г., Волков В.В., Гончаров А.Л. Математическое моделирование теплообмена в печах и агрегатах. Киев: Наук, думка, 1984. 232 с.6. Lisienko V.G., Volkov V.V., Goncharov A.L. Mathematical modeling of heat transfer in furnaces and units. Kiev: Science, Dumka, 1984. 232 p.
7. Щербинин В.И., Боковикова А.Х., Шкляр Ф.Р. Взаимодействие излучения и конвекция при сложном теплообмене в коротком канале // Инженерно-физический журнал, 1974. Т. 26. №2. С. 238-244.7. Shcherbinin V.I., Bokovikova A.Kh., Shklyar F.R. The interaction of radiation and convection during complex heat transfer in a short channel // Engineering Physics Journal, 1974. V. 26. No. 2. S. 238-244.
8. Лебедев, И.А. Модель термообработки металлических изделий в вакууме / И.А. Лебедев, А.П. Пономарев // VII Международная научно-практическая конференция «Энергосберегающие технологии в промышленности. Печные агрегаты. Экология»: сб. материалов. - Москва: МИСиС, 2014. - С. 270-280.8. Lebedev, I.A. Model of heat treatment of metal products in vacuum / I.A. Lebedev, A.P. Ponomarev // VII International Scientific and Practical Conference “Energy-saving technologies in industry. Furnace units. Ecology ": Sat materials. - Moscow: MISiS, 2014 .-- S. 270-280.
9. Лебедев, И.А. Управление равномерностью нагрева изделий в вакуумных электрических печных агрегатах / И.А. Лебедев, Д.В. Шатов // XII Всероссийское совещание по проблемам управления: сб. трудов. - Москва: ИПУ РАН, 2014. - С. 4315-4324.9. Lebedev, I.A. Control of uniformity of heating products in vacuum electric furnace units / I.A. Lebedev, D.V. Shatov // XII All-Russian Conference on Management: Sat. labor. - Moscow: IPU RAS, 2014 .-- S. 4315-4324.
10. Лебедев, И.А. Компьютерная модель нагрева теплозащитного контейнера в вакуумных печах / И.А. Лебедев, А.П. Пономарев // VI Международная научно-практическая конференция «Печные агрегаты и энергосберегающие технологии в промышленности. Экология»: сб. трудов. - Москва: МИСиС, 2012. - С. 319-320.10. Lebedev, I.A. Computer model of heating a heat-shielding container in vacuum furnaces / I.A. Lebedev, A.P. Ponomarev // VI International Scientific and Practical Conference “Furnace units and energy-saving technologies in industry. Ecology ": Sat labor. - Moscow: MISiS, 2012 .-- S. 319-320.
Claims (3)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2015153656A RU2664001C2 (en) | 2015-12-14 | 2015-12-14 | Method for using graphic processor equipment for calculation of general angular coefficients of radiation for vacuum heating units |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2015153656A RU2664001C2 (en) | 2015-12-14 | 2015-12-14 | Method for using graphic processor equipment for calculation of general angular coefficients of radiation for vacuum heating units |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| RU2015153656A RU2015153656A (en) | 2017-06-20 |
| RU2015153656A3 RU2015153656A3 (en) | 2018-03-13 |
| RU2664001C2 true RU2664001C2 (en) | 2018-08-14 |
Family
ID=59068204
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2015153656A RU2664001C2 (en) | 2015-12-14 | 2015-12-14 | Method for using graphic processor equipment for calculation of general angular coefficients of radiation for vacuum heating units |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2664001C2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117523138B (en) * | 2023-11-06 | 2024-07-23 | 南京航空航天大学 | Method for constructing tumor fitting curved surface and method for solving electrical impedance imaging inverse problem |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2247339C2 (en) * | 2003-02-19 | 2005-02-27 | Федеральное государственное унитарное предприятие "Центральный институт авиационного моторостроения им. П.И. Баранова" | Method and device for measuring emissive power of inner surfaces of non-uniformly heated space |
| US20080266287A1 (en) * | 2007-04-25 | 2008-10-30 | Nvidia Corporation | Decompression of vertex data using a geometry shader |
| US7570267B2 (en) * | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
| US20120256921A1 (en) * | 2006-10-23 | 2012-10-11 | Qualcomm Incorporated | 3-d clipping in a graphics processing unit |
| CN103544356A (en) * | 2013-10-30 | 2014-01-29 | 中冶南方(武汉)信息技术工程有限公司 | Heat treatment furnace heating model calculation method based on graphic processing unit (GPU) |
-
2015
- 2015-12-14 RU RU2015153656A patent/RU2664001C2/en not_active IP Right Cessation
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2247339C2 (en) * | 2003-02-19 | 2005-02-27 | Федеральное государственное унитарное предприятие "Центральный институт авиационного моторостроения им. П.И. Баранова" | Method and device for measuring emissive power of inner surfaces of non-uniformly heated space |
| US7570267B2 (en) * | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
| US20120256921A1 (en) * | 2006-10-23 | 2012-10-11 | Qualcomm Incorporated | 3-d clipping in a graphics processing unit |
| US20080266287A1 (en) * | 2007-04-25 | 2008-10-30 | Nvidia Corporation | Decompression of vertex data using a geometry shader |
| CN103544356A (en) * | 2013-10-30 | 2014-01-29 | 中冶南方(武汉)信息技术工程有限公司 | Heat treatment furnace heating model calculation method based on graphic processing unit (GPU) |
Non-Patent Citations (1)
| Title |
|---|
| БУХМИРОВ В.В. и др. Зональные методы расчета радиационного и сложного теплообмена/ФГБОУВПО "Ивановский государственный энергетический университет имени В.И. Ленина", Иваново, 2012, 96 с. * |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2015153656A (en) | 2017-06-20 |
| RU2015153656A3 (en) | 2018-03-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11315018B2 (en) | Systems and methods for pruning neural networks for resource efficient inference | |
| US11244226B2 (en) | Systems and methods for training neural networks with sparse data | |
| US6078332A (en) | Real-time lighting method using 3D texture mapping | |
| WO2021147408A1 (en) | Pixel point identification method and apparatus, illumination rendering method and apparatus, electronic device and storage medium | |
| CN107977703A (en) | For trimming neutral net to realize the system and method for the effective reasoning of resource | |
| US10593096B2 (en) | Graphics processing employing cube map texturing | |
| CN114419240B (en) | Illumination rendering method and device, computer equipment and storage medium | |
| US9852536B2 (en) | High order filtering in a graphics processing unit | |
| CN114119853B (en) | Image rendering method, apparatus, device and medium | |
| US11132829B2 (en) | Method for voxel ray-casting of scenes on a whole screen | |
| CN109034385A (en) | Systems and methods for training neural networks with sparse data | |
| CN105144244B (en) | For the method, equipment and computer-readable storage medium of the query processing of the renderer based on tile | |
| TW201439976A (en) | System, method, and computer program product for sampling a hierarchical depth map | |
| US20170323469A1 (en) | Stereo multi-projection implemented using a graphics processing pipeline | |
| US12282995B2 (en) | Unreal engine-based automatic light arrangement method and apparatus, device, and storage medium | |
| Andersson et al. | Adaptive texture space shading for stochastic rendering | |
| JP7119081B2 (en) | Projection data generation device, three-dimensional model, projection data generation method, neural network generation method and program | |
| US11145108B2 (en) | Uniform density cube map rendering for spherical projections | |
| Li et al. | Efficient GPU path rendering using scanline rasterization | |
| US20180005432A1 (en) | Shading Using Multiple Texture Maps | |
| US9454841B2 (en) | High order filtering in a graphics processing unit | |
| US20130106887A1 (en) | Texture generation using a transformation matrix | |
| RU2664001C2 (en) | Method for using graphic processor equipment for calculation of general angular coefficients of radiation for vacuum heating units | |
| CN115082613B (en) | A method, device and terminal device for calculating target radiation brightness | |
| US10825200B2 (en) | Texture based pixel count determination |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20201215 |