Б01 10.18698/2309-3684-2017-3-83104 УДК 533.6.011.5:004.622:004.855.5
Метод классификации элементов поверхности летательного аппарата для численно-аналитического решения задач аэродинамики
© В.П. Котенев1, 2, Р. А. Рацлав2,
12 12 Д.А. Сапожников ' , И.В. Чернышев '
1 АО «ВПК «НПО машиностроения», г. Реутов, Московская обл., 143966, Россия 2 МГТУ им. Н.Э. Баумана, Москва, 105005, Россия
Предложен алгоритм классификации элементов поверхностей летательного аппарата на основе бинарного решающего дерева с пороговыми предикатами. На основе исходного описания объектов разработаны производные признаки, позволяющие отделять классы с минимальными потерями. Проведены обучение и верификация предикатов на синтетических данных. Описан алгоритм получения данных для обучения. Невысокие значения ошибок классификации и простота реализации позволяют применять алгоритм при решении прикладных задач аэродинамики.
Ключевые слова: летательный аппарат, решающее дерево, классификация, оптимизация аэродинамических расчетов, разработка признаков
Введение. Распространенным способом описания конфигурации летательных аппаратов является ее представление с помощью различных комбинаций элементов поверхностей первого и второго порядка. Часто встречаются цилиндрические, конические, эллиптические (в частности, сферические) поверхности, плоские профили, элементы двухполостных гиперболоидов и эллиптических параболоидов. Многие современные методы определения аэродинамических характеристик применимы к телам, заданным в виде массива точек, которые связаны между собой в четырехугольные ячейки расчетной поверхностной сетки. Задание начального приближения на такой сетке проводится методом Ньютона, который определяет давление на элементе поверхности как функцию угла встречи потока с поверхностью тела. В то же время на разных элементах с одинаковым углом встречи давление может быть разным. И хотя существуют методы, позволяющие более точно определить давление на элементе той или иной поверхности [1-5], информации об одной ячейке не хватает для определения типа поверхности, с которой она взята. В данной работе предлагается метод для определения типа локальной поверхности тела, использующий информацию о соседних ячейках.
Для примера приведем задачу об обтекании затупленного по сфере конуса, которая подробно рассмотрена в работе [3]. В случае затупленного конуса, когда сферическая часть отделяется от кониче-
ской известной точкой сопряжения и не возникает необходимости в классификации, таргетированное (целевое) указание аэродинамических параметров достаточно хорошо повторяет распределение коэффициента давления Ср на затупленном конусе. Сравнение целевого
указания параметров с точным решением и модифицированным методом Ньютона приведено на рис. 1. Близость таргетированного указания к решению в рамках строгой математической постановки наглядно демонстрирует актуальность затрагиваемой темы.
2,0 1,8 1,6 1,4
0 5 10 15 20 25 30 35 40 45 х
Рис. 1. Результат применения зависимости для затупленного конуса
и метода Ньютона (----) в сравнении
с табличными данными ( )
Цель работы — получение простого и точного алгоритма классификации элементов поверхностей летательных аппаратов, а также восстановление геометрических параметров, необходимых для последующего определения уточненных параметров обтекания на каждом элементе с использованием полученной в ходе классификации информации.
Подход к решению. При выборе типов поверхностей для классификации будем следовать практическим соображениям — рассмотрим семь классов поверхностей, наиболее часто встречающихся при проектировании летательных аппаратов: сферы, эллипсоиды, эллиптические параболоиды, двуполостные гиперболоиды, конусы, цилиндры, плоскости. В качестве главной оси (для конуса, цилиндра, двухполостного гиперболоида, эллиптического параболоида) выберем ось X.
Классификация проводится по набору из девяти точек, на которых построены четыре ячейки, образующие минимальный щит для классификации (рис. 2). Для удобства дальнейших рассуждений вершины пронумерованы.
По набору из девяти точек можно однозначно определить класс поверхности с помощью инвариантов обобщенного уравнения поверхности. Для этого необходимо определить коэффициенты уравнения из решения системы линейных уравнений (СЛАУ) размерности 9 х 9. Ранг матрицы квадратичной формы и знаки ее собственных чисел, ранг и знак определителя матрицы, составленной из коэффициентов уравнения, позволяют отнести поверхность к одному из 17 классов (ниже алгоритм описан подробно). Ввиду того, что любая сетка лишь приблизительно описывает поверхность [6-8], при подобной классификации можно принять неверное решение. В качестве примера приведем набор из девяти точек, снятых с сетки, которая по-
(х -1000)2 (у )2
строена на сфере, определяемой уравнением --н— 2 +
(1000)2 (1000)2
н———2 -1 = 0 с помощью алгоритма самоорганизации сеток: (1000)2
х1 = 466,384; У1 = 699,627; = 475,060;
х2 = 466,384; У2 = 680,187; = 502,499;
х3 = 466,384; Уэ = 659,672; = 529,499;
Х4 = 370,218; У4 = 642,559; = 436,309;
х5 = 370,218; У5 = 624,705; = 461,510;
х6 = 370,218; У6 = 605,863; = 485,981;
х7 = 288,059; У7 = 581,733; = 395,007;
х8 = 288,059; У8 = 565,569; = 417,823;
х9 = 288,059; У9 = 548,511; ^9 = 439,978.
з
Рис. 2. Минимальный щит для классификации
Его можно классифицировать как эллипсоид, определяемый уравнением
(х-1075,071)2 н (у-184,411)2 + ((-172,995))-1 = 0 (1107,604)2 (1052,665)2 (1031,927 )2
Поскольку положение центра для рассматриваемого случая не столь важно, в используемых для определения давления соотношениях важны значения коэффициентов канонических уравнений поверхностей и положение нормали к поверхности ячейки, которое можно определить из вершин ячейки. Положение центра необходимо исключительно для однозначной классификации поверхности. Исходя из этого, совместив центры параллельным переносом и сопоставив объемы, можно грубо оценить ошибку в приведенном примере как соотношение объемов ¥,,рк и ¥е11 для сферы и эллипсоида соответ-
ственно:
5 =
^зрк ^вП
^зрк
•100 % « 20,32 %.
Кроме того, при достаточно подробных сетках, когда количество ячеек на теле измеряется миллионами, решение СЛАУ, вычисление инвариантов и приведение уравнения к каноническому виду становится весьма затратной процедурой, которой во многих случаях можно избежать.
Для решения поставленной задачи было построено бинарное решающее дерево с пороговыми предикатами, обучение дерева проведено по синтетической выборке. Описание дерева и алгоритм получения данных для обучения приведены далее.
Описание признаков и объектов и обучающая выборка. В качестве объектов классификации выбраны четырехугольные ячейки сетки на телах разной формы. Каждая ячейка описывается 12 атрибутами — координатами вершин. Одной ячейки недостаточно, чтобы определить тип поверхности, поэтому ячейки группируются в щиты по четыре, а задача приводится к задаче классификации минимальных щитов, описываемых 27 координатами точек. Этих признаков, как сказано выше, недостаточно для классификации объекта (щита), поэтому на их основе выводятся новые признаки, и размерность признакового пространства повышается. Расширение пространства для отдельно взятого объекта происходит динамически по достижении вершины, использующей данный признак для классификации. Объединение ячеек в щиты позволяет классифицировать ячейки сразу по четыре за один проход алгоритма. Такой подход сокращает объем данных для классификации.
Для обучения дерева использованы синтетические данные. Была сгенерирована обучающая выборка, элементы поверхностей для классификации генерировались случайным образом. Данные подвергались зашумлению (намеренно искажались с целью приближения к данным с реальных сеток), величина случайного шума не превышала 1 % от
величины зашумляемого параметра. Для всех объектов обучающей выборки были определены производные признаки (при классификации объекта не из обучающей выборки предполагается определять производные признаки по мере необходимости). Подготовленные данные записывались построчно: первый элемент строки соответствовал номеру класса, следующие за ним — признаковому описанию объекта. Объем выборки составил 10 000 объектов.
Рассмотрим процесс генерирования данных на примере элемента эллиптического параболоида. Запишем уравнение поверхности с единичными коэффициентами:
2 2
У 2 х = —+-.
Представим его в сферической системе координат, повернутой таким образом, что зенит отсчитывается от оси X:
х = r cos9, y = r sin 9 cos ф, z = r sin9 sin ф,
1 2 2 2 1 2 2 2 r cos 9 = — r sin 9 cos фН— r sin 9 sin ф, 2 2
1 2 cos9 = — r sin 9, 2
r = 2
cos 9 sin2 9'
Сгенерируем девять точек, случайно определив шаги Д9, Дф по угловым координатам, а г как функцию от них:
"г(ф, е+2Д9) г(ф+Дф, е+2Д9) г(ф+2Дф, е+2Д9)" г (ф, е+Де) г (ф+Дф, е+Де) г (ф+2Дф, е+Де) г (ф, е) г (ф+Дф, е) г(ф+2Дф, е)
Получим координаты точек эллиптического параболоида в декартовой системе координат:
х = 2
У = 2
cos9 cosф
cos2 9
sin29' ' sin9
cos 9 sin ф
z = 2-
sin9
Случайно сгенерируем коэффициенты поверхности а, Ь (в диапазоне (0; 10] для обучающей выборки), сдвиговые константы х0, у0, г0 (диапазоны зависят от конкретного типа поверхности) и шумы
Жх, Жу, (в диапазоне [0,99; 1,01], что соответствует отклонению
в 1 %, погрешность построения сеток, как правило, на порядок ниже этого значения [6, 9]) для каждой координаты, применим к каждой точке операторы сдвига, сжатия и зашумления:
х'" Vх 0 0 0 "1 0 0 х0 "1 0 0 0" х
у' 0 V у 0 0 0 1 0 У0 0 а 0 0 у
г г 0 0 V 0 0 0 1 г0 0 0 Ь 0 г
1 0 0 0 1 0 0 0 1 0 0 0 1 1
Сдвиги и коэффициенты генерируются для всего набора точек. Шумы генерируются для каждой отдельной точки.
После сдвигов и сжатия получим набор точек, каждая из которых удовлетворяет уравнению поверхности, шумы создают некоторое отклонение от него, имитируя реальную сетку на теле.
Дерево решений и классификация. Рассмотрим дерево принятия решений с пороговыми предикатами [10, 11] для классификации элементов поверхностей (рис. 3). Для удобства восприятия в терминальных вершинах изображены прототипы классов поверхностей. Вид дерева и расположение его листовых вершин определялись вручную, исходя из представлений о структуре реальных данных. Так, ближе к корню дерева расположены те классы поверхностей, которые чаще встречаются в реальной геометрии летательного аппарата. Узловые вершины выбраны так, чтобы обеспечить пропорциональное разбиение данных.
В каждой узловой вершине дерева находится функция-предикат, представляющая собой бинарный классификатор. Предикат сравнивает значение того или иного признака с пороговым значением и передает объект по одной из ветвей в следующую вершину. Пороговые значения, обеспечивающие оптимальное разбиение, подлежат определению.
В качестве признакового описания объекта даны девять точек минимального щита, каждая из которых описывается тремя координатами. Этих признаков недостаточно для классификации, однако на их основе можно расширить признаковое пространство [12, 13]. Так, на первом этапе классификации выделим две большие группы объектов — поверхности нулевой и ненулевой кривизны. Для этого воспользуемся кривизной поверхности:
к = ХууХгг - ^ (1 + Ху2 + X2 )
где X = X(у, г) — уравнение поверхности; Хуу, , Хуг — соответствующие частные производные.
Рис. 3. Дерево принятия решений
Поверхность задана дискретным набором [14] из девяти точек, поэтому определение кривизны неудобно ввиду необходимости выделения главных направлений и численного дифференцирования вдоль них.
Сформируем новый признак [15] исходя из определения кривизны. Поскольку кривизна характеризует отклонение поверхности в некоторой окрестности точки от касательной плоскости в этой точке, будем измерять непосредственно само отклонение. Построим нормали к четырем элементам щита, а их среднее нормированное значение примем за аналог нормали щ к щиту в точке 5, как если бы
щит был задан непрерывно. Отклонением по направлению назовем полусумму углов, которые составляют соответствующие ребра с касательной плоскостью:
^46 "
^28 "
(Я5Л /53) + (П5Л ¡56)
2 2'
("5 Л ¡52) + (Я5Л /58)
2 2'
где /у — вектор, соединяющий г и ] вершины щита.
Тогда полным отклонением назовем величину К = ^^.
Проходя входную вершину, алгоритм принимает решение об отнесении поверхности к классу параболических или эллиптических, основываясь на предложенном аналоге кривизны поверхности (см. рис. 3). Предикат во входной вершине имеет вид
Р1( К ) =
0,
1,
< и
1
> и
1
где и1 — пороговое значение, определяемое в ходе обучения дерева.
Ввиду того, что одна из геодезических линий на поверхности конуса или цилиндра — прямая, полное отклонение этих поверхностей равно нулю, а сами поверхности являются параболическими. Однако при построении сеток имеет место погрешность вычислений, поэтому элементами поверхности с параболической кривизной будем считать те щиты, чье полное отклонение меньше некоторого порогового значения, а не равно нулю.
Двигаясь влево, попадем в дочернюю вершину, предикат в которой можно описать как
Р11 =
0,
^46 + ^28
< и
11
^46 + ^28
2
> и
11
Иначе говоря, если средние значения отклонений по направлениям меньше некоторого определяемого в ходе обучения порога, то алгоритм приходит в терминальную вершину и такой щит следует классифицировать как элемент плоскости. В противном случае щит относится к классам конуса или цилиндра.
Разделение на классы конуса или цилиндра удобнее всего производить, опираясь на постоянство цилиндрического радиуса вдоль цилиндра. Построив окружности на каждой тройке точек, при условии, что сетка равномерна или подробна и стремится к равномерной (с некоторой поправкой на зашумление данных и погрешности в алгоритме построения сетки), увидим либо постоянство радиуса, либо его изменение. Тогда щит отнесем к классу «цилиндр» или классу «конус», соответственно, предикат будет иметь вид
Р111 =
Яс - Яе,
1 J
Яе: - Яе,
1 J
< и111
j, г = 1,3 г *
> и
111
Здесь Яе — цилиндрический радиус, признак, который не дан явно, но может быть определен для каждой тройки точек (1-2-3, 4-5-6, 7-8-9) по формуле Герона:
2
Яе1 =
112123113
Р(Р -112)(Р -123)(Р - 113) 145156146
2 4>/Р(Р -145 )(Р -156 )(Р -146 )
Здесь Р — полупериметр вписанного треугольника.
Например, рассмотрим тройки точек 1-2-3 и 4-5-6. Если плоскости, построенные по ним, параллельны, то вычислив радиус и сравнив его с порогом, можем классифицировать щит. Если сетка устроена так, что тройки лежат не в параллельных плоскостях, следует построить плоскости через пары точек, например 1-3 и 4-6, перпендикулярно ребру 2-5 и определить радиусы кривизны в плоскостях по точкам и пересечению с ребром 2-5 (рис. 4).
Рис. 4. Точки для построения цилиндрических радиусов
Пойдем теперь вправо от корневой вершины. В сравнении с другими элементами эллиптической кривизны при конструировании летательных аппаратов наиболее часто используются сферические элементы (затупления, переходы), поэтому предпочтительно сначала проверить щит на принадлежность сфере. Для того чтобы однозначно описать ее, достаточно четырех, не лежащих в одной плоскости (рис. 5), поскольку для сферы достаточно указать положение координат центра и сферический радиус.
Центр сферы и радиус можно найти из решения системы
(
О - 4
Оу - АУ
Л - А,
О - вх
Оу - Ву О, - В,
Ох - Сх Л
Оу - Су
О, - С,;
V у
Г ОО 2 ОА 2 ^
ОО 2 ОВ 2
V ОО 2 ОС 2 у
где А, В, С, В — точки со сферы, не лежащие в одной плоскости; 5 — центр сферы; О — начало координат.
Рис. 5. Минимальный набор точек для построения сферы
Имея уравнение сферы, проходящей через точки А, В, С, В, найдем отклонение остальных пяти точек от сферы:
1 5 I-
Л = 5Е V(X " хо)2 + (У - Уо)2 + - ¿о)2 -к 5 /=1
Расширив признаковое описание объекта отклонением от сферы Л, можем описать предикат вершины как
Р12 =
0, Л<^; I Л> 42.
Иными словами, если отклонение мало, перейдя в терминальную вершину, стоит рассматривать щит как элемент сферы с известным положением центра и радиусом. В противном случае следует перейти к следующей узловой вершине.
Вершина параболоида помещена выше, чем вершины оставшихся двух классов эллипсоида и гиперболоида по причине того, что параболоид чаще встречается в реальных геометриях реальных летательных аппаратов и нередко используется для аппроксимации эллиптических частей при проектировании.
Теперь рассмотрим предикат, отделяющий класс параболоида от гиперболоида и эллипсоида.
Известно, что единичная нормаль
1; -
(У - Уо) . (2 - 2о)
п = ■
а
Ь2
^у, 2)
относится к параболоиду как
(У - Уо) 2 + (2 - 2о)
[_ а2 ] 1 Ь2 ]
ЦУ, 2) = к 1 +
Выбрав из четырех площадок две, имеющие общую сторону, площадь которых минимальна, построим к их центру нормали. Тогда определим нормирующий множитель
Д xц1, Уц1) = 1
п
Дхц2, Уц2) = ■
хц1 1
пхц2
Индекс «ц» здесь обозначает центр площадки. Тогда для каждой из компонент нормали сможем определить неизвестные коэффициенты из соотношений вида
ц__2 = пх1^( хц1, уц1);
а
(Уц2 - Уо)
а
= пх2Ц ^ Уц2).
В этом случае предикат будет иметь такой же вид, что и для сферы, с той лишь разницей, что с пороговым значением сравнивается отклонение от уравнения параболоида для предиката
Р121 =
10, А2 < *121.
11, А 2 > ^121.
Отклонение будем определять от трех точек, которые не использовались в составлении уравнения параболоида:
1 3
А 2=1Е
3 г=1
(х1 - х0) -
(У - Уо)2 (2 - 20)2
2а 2
2Ь2
Для разделения оставшихся объектов на классы гиперболоида и эллипсоида необходимо определить инварианты обобщенного уравнения поверхности второго порядка по девяти точкам. Эти процедуры в сравнении с необходимыми вычислениями для других вер-
шин существенно более ресурсозатратны, а классы поверхностей эллипсоида и гиперболоида на практике встречаются реже, чем, к примеру, сфера или цилиндр, поэтому вершина, отделяющая эти два класса, помещена в конец дерева. Рассмотрим подробно процесс построения уравнения поверхности по девяти точкам в целях расширения признакового описания объекта.
Обобщенное уравнение поверхности состоит из трех квадратичных, трех смешанных, трех линейных и одного свободного члена с десятью коэффициентами при них:
Ах2 + Ву2 + Сг2 + 2Ёуг + 2Охг + 2Нху + 2 Рх + 20у + 2К + Б = 0.
Поделив это уравнение на свободный член, получим Ах2 + Ву2 + С г2 + 2Ёуг + 2Охг + 2Нху + 2Рх + 20у + 2Ег = -1.
Имея координаты девяти точек, можем определить девять коэффициентов из решения системы
' х? У2 г2 2 у г1 2 х1 г1 2 хЛ 2 х1 2 Л 2
х2 У2 2 г2 2 у2 г2 2 х2 г2 2 х2 у2 2 х2 2 у2 2 г2
х| уз2 2 г3 2 уз г3 2 х3 г3 2 х3 у3 2 х3 2 у3 2 г3
х4 У4 г4 2 у 4 ¿4 2 х4 г4 2 х4 у4 2 х4 2 у4 2
х2 у2 г2 2 У5 г3 2 х^ г 5 2 х5 у5 2 х5 2 уз 2 г5
х2 у2 2 уб гб 2 хб гб 2 хб уб 2 хб 2 уб 2 гб
х2 у72 2 г7 2 у7 г7 2 х7 г 7 2 х7 у7 2 х7 2 у7 2 ¿7
х8 А 2 г8 2 у8 г8 2х8 г8 2 х8 у8 2 х8 2 у8 2 г8
х 2 V х9 у9 2 г9 2 у9 Г9 2 х9 г 9 2 х9 у9 2 х9 2 у9 2 г9
Решив систему, построим инварианты поверхнос
Г А Л Г-
В -1
С -1
Ё -1
О = -1
Н -1
Р -1
й -1
1-1У
разделяющие два оставшихся класса. Для этого составим матрицу квадратичной формы
е =
Г А
Н
О
Н
В Ё
О ^ Ё
С,
Отнесение к классам эллипсоида и гиперболоида не несет неопределенности, накладываемой погрешностью сетки. В данном случае нет потребности в обучении. Знаки собственных чисел найденной матрицы е совпадают в случае эллипса и различны в случае двухпо-лостного гиперболоида.
Анализ результатов классификации. Дерево с пороговыми значениями, принятыми в качестве оптимальных в процессе обучения, показало высокие значения различных метрик качества классификации на тестовой выборке.
2,5-10
510
Рис. 6. Отделение классов предикатами Р1 (а), Р1 (с увеличением х133) (б):
• • • • — конуса;
— цилиндра;
• • • •
— эллипсоида;
• • • • — гиперболоида; • • • • — параболоида;
плоскости; • • • • — сферы
Рис. 7. Отделение классов предикатами (12 (а) и Р11 (б):
♦ • • •— конуса; • • • • — цилиндра; • • • • — эллипсоида; • • • • — гиперболоида; • • • • — параболоида; — плоскости; • • • • — сферы
2-10 3 10 4-10 б
Рис. 8. Отделение классов предикатами Р121 (а), Рш (б):
• • • •— конуса; • • • • — цилиндра; • • • • — эллипсоида; • • • • — гиперболоида; • • • • — параболоида; — плоскости; • • • • — сферы
На рис. 6-8 показано отделение классов предикатами. По оси абсцисс отложено значение признаков для объектов тестовой выборки, по оси ординат — случайные значения от 0 до 1, введенные для наглядности. Определенные пороговые значения разделяют области соответственно предикату. Объем тестовой выборки составил 700 объектов.
Убывание информационной энтропии [16], отнесенной к энтропии в корневой вершине 8 / ¿1, представлено на графике (рис. 9).
Рис. 9. Убывание нормированной информационной энтропии от корневой вершины Si / 81 к листовым вершинам
Результаты по каждому предикату и средние значения вынесены в таблицу.
Пороговые значения предикатов и метрики качества [17]
Предикат Пороговое значение Доля правильных ответов Точность Полнота
Р1 1,0910095 • 10"5 1 1 1
Рп 2,50014 • 10"4 1 1 1
Р12 0,00168 0,953 0,884 0,99
Р121 0,00983 0,950 0,967 0,88
Р111 0,6353 • 10~6 1 1 1
В предикатах, отвечающих за отделение классов сферы и параболоида, данные не отделились однозначно (см. рис. 6-8), была допущена небольшая ошибка. Из этого можно предположить, что ошибочно классифицированные элементы достаточно хорошо описываются сферой или параболоидом [2]. На реальной сетке подобные ошибки могут
быть устранены с использованием информации о ближайших соседях. Так, элемент сферы, появившийся среди параболических элементов на реальной сетке, очевидно, был ошибочно классифицирован, его класс следует изменить с помощью других методов классификации. Учитывая, что сетка, как правило, структурирована, логично будет корректировать результаты методом К ближайших соседей. Кроме того, поскольку погрешность аппроксимации реальных сеток существенно ниже шума, примененного к синтетическим данным, можно предположить, что такая проблема на реальных данных не будет иметь места.
На рис. 6-8 видно, что классы эллипсоида и гиперболоида довольно качественно отделились в первом предикате. В ходе построения рассуждений такой эффект не предполагался, однако его обнаружение позволяет существенно снизить вычислительную сложность модели. Так, изначально предполагалось отделение классов гиперболоида и эллипсоида из определения обобщенного уравнения поверхности путем решения СЛАУ размерности 9 х 9, что является весьма ресурсозатратной процедурой. Однако результат показывает, что можно использовать тот же аналог кривизны, что и в первом предикате, для разделения классов в предикате Р1211 (рис. 10).
Рис. 10. Отделение классов гиперболоида и эллипсоида по критерию из предиката Р1 с пороговым значением 0,044377
Предложения для модификации метода. Щиты параболических и эллиптических цилиндров могут быть приближены круговым цилиндром или, в случае ориентации к потоку под ненулевым углом атаки, круговым конусом, согласно методу локальных конусов.
На стыках поверхностей могут появляться участки с гиперболической кривизной (например, сопряжение двух конусов с различными углами), где возникнет ошибка классификации (рис. 11).
Рис. 11. Тело, состоящее из элементов конусов с разным углом полураствора; закрашенные ячейки, расположенные на стыке конусов, демонстрируют ошибку классификации, заштрихованные ячейки иллюстрируют способ преодоления ошибки классификации
Выделенные цветом щиты в верхней части рисунка демонстрируют описанный случай. Хотя оба сегмента тела являются параболическими поверхностями, а именно элементами конуса, средний щит, лежащий на стыке конусов, не будет отнесен ни к одному из описанных классов. Щит, построенный по обе стороны от сопряжения, обладает гиперболической кривизной, хотя все его площадки были сняты с параболических поверхностей, определять давления на них можно по формулам для конусов. В таком случае следует выбирать такой шаг сетки, чтобы на один сегмент тела приходилось целое количество минимальных щитов, или разделить щит на ячейки и классифицировать их как ячейки соседних щитов (см. рис. 11).
Заключение. Предложенный алгоритм классификации достаточно точен и прост в использовании, его можно применять в прикладных задачах аэродинамики в целях уточненного определения давления на корпусе летательного аппарата методами локальных поверхностей и встраивать в программные комплексы, основанные на строгих математических моделях для ускорения их работы. Помимо определения класса элемента поверхности, в процессе классификации определяются все необходимые геометрические параметры объекта того или ино-
го класса, необходимые для определения давления на элементе. Ячейки классифицируются наборами по четыре, что существенно сокращает время перебора всех ячеек в сравнении с перебором по одной ячейке. Эффект от применения метода в прикладных задачах будет исследован в следующих работах.
Авторы выражают благодарность А. О. Калиненковой и Д.Н. Мо-рякову за помощь в подготовке иллюстраций.
ЛИТЕРАТУРА
[1] Котенев В.П. Точная зависимость для определения давления на сфере при произвольном числе Маха сверхзвукового набегающего потока. Математическое моделирование, 2014, т. 26, № 9, с. 141-148.
[2] Котенев В.П., Сысенко В.А. Аналитические формулы повышенной точности для расчета распределения давления на поверхности выпуклых, затупленных тел вращения произвольного очертания. Математическое моделирование и численные методы, 2014, т. 1, вып. 1, с. 68-81.
[3] Булгаков В.Н., Котенев В.П., Сапожников Д.А. Моделирование сверхзвукового обтекания затупленных конусов с учетом разрыва кривизны образующей тела. Математическое моделирование и численные методы, 2017, № 2, с. 81-93.
[4] Пучков А.С., Сапожников Д.А. Определение свободных параметров в формуле для распределения давления на затупленном конусе в сверхзвуковом невязком потоке. Молодежный научно-технический вестник, 2017, № 05. URL: http://sntbul.bmstu.ru/doc/859337.html (дата обращения 27.11.2017).
[5] Краснов Н.Ф. Основы аэродинамического расчета. Аэродинамика тел вращения, несущих и управляющих поверхностей. Аэродинамика летательных аппаратов. Москва, Высшая школа, 1981, 496 с.
[6] Димитриенко Ю.И., Котенев В.П., Захаров А.А. Метод ленточных адаптивных сеток для численного моделирования в газовой динамике. Москва, ФИЗМАТЛИТ, 2011, 280 с.
[7] DeSpirito J., Silton S.I., Weinacht P. Navier — Stokes predictions of dynamic stability derivatives: evaluation of steady-state methods. Journal of Spacecraft and Rockets, 2009, vol. 46, no. 6, pp. 1142-1154.
[8] Димитриенко Ю.И., Коряков М.Н., Захаров А.А. Применение метода RKDG для численного решения трехмерных уравнений газовой динамики на неструктурированных сетках. Математическое моделирование и численные методы, 2015, № 8, с. 75-91.
[9] Brown J., Bogdanoff D., Yates L., Chapman G. Transonic aerodynamics of a lifting Orion crew capsule from ballistic range data. Journal of Spacecraft and Rockets, 2010, vol. 47, no. 1, pp. 36-47.
[10] Флах П. Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных. Москва, ДМК-Пресс, 2015, 400 с.
[11] Poole D., Mackwoth A. Artificial intelligence. Foundations of computational agents. Cambridge, Cambridge University Press, 2017, 760 p.
[12] Hastie T., Tibshirani R., Friedman J. The elements of statistical learning. Data mining, inference and prediction. New York, Springer, 2009, 745 p.
[13] Shinkyu Jeong, Kazuhisa Chiba, Shigeru Obayashi. Data mining for aerodynamic design space. Journal of Aerospace Computing, Information and Communication, 2005, vol. 2, no. 11, pp. 452-496.
[14] Tucker P. Advanced computational fluid and aerodynamics. Cambridge, Cambridge University Press, 2016, 578 p.
[15] Wei Wei, Rong Mo, Qingming Fan. Knowledge extraction for aerodynamic simulation data of compressor rotor. Procedia Engineering. International Conference on Advanced in Control Engineering and Information science (18-19 August 2011, Dali, China), 2011, no. 15, pp. 1792-1796.
[16] Маккинли У. Python и анализ данных. Москва, ДМК-Пресс, 2015, 482 с.
[17] Ричарт В., Коэльо П.Л. Построение систем машинного обучения на языке Python. Москва, ДМК-Пресс, 2016, 302 с.
Статья поступила в редакцию 24.05.2017
Ссылку на эту статью просим оформлять следующим образом: Котенев В.П., Рацлав Р.А., Сапожников Д.А., Чернышев И.В. Метод классификации элементов поверхности летательного аппарата для численно-аналитического решения задач аэродинамики. Математическое моделирование и численные методы, 2017, № 3, с. 83-104.
Котенев Владимир Пантелеевич — д-р техн. наук, профессор кафедры «Вычислительная математика и математическая физика» МГТУ им. Н.Э. Баумана, начальник отдела аэродинамики в АО «ВПК «НПО машиностроения». Автор около 60 научных работ в области прикладной математики, численных и аналитических методов исследования течения газа при обтекании поверхности летательных аппаратов.
Рацлав Роман Алексеевич — студент кафедры «Вычислительная математика и математическая физика» МГТУ им. Н.Э. Баумана.
Сапожников Денис Алексеевич — аспирант кафедры «Вычислительная математика и математическая физика» МГТУ им. Н.Э. Баумана, инженер отдела аэродинамики в АО «ВПК «НПО машиностроения», автор работ в области численных, аналитических и статистических методов исследования течения газа при обтекании поверхности летательных аппаратов.
Чернышев Игорь Владимирович — студент первого курса магистратуры кафедры «Вычислительная математика и математическая физика» МГТУ им. Н.Э. Баумана.
A method for classifying aircraft surface elements for the numerical-analytical solution of aerodynamic problems
© V.P. Kotenev1, 2, R.A. Ratslav2, D.A. Sapozhnikov1, 2, I.V. Chernyshev1, 2
Joint stock company Military and industrial corporation JSC MIC Mashinostroyenia, Reutov, Moscow Region, 143966, Russia 2Bauman Moscow State Technical University, Moscow, 105005, Russia
The study introduces an algorithm for classifying the aircraft surface elements based on a binary decision tree with threshold predicates. According to the initial description of the objects, we developed derived characteristics allowing for the classes to be separated
with minimal losses. Moreover, we trained and verified the predicates on synthetic data and described an algorithm of obtaining the data for training. Low values of classification errors and ease of implementation make it possible to apply the algorithm for solving aerodynamic applied problems.
Keywords: aircraft, decision tree, classification, optimization of aerodynamic calculations, development of characteristics
REFERENCES
[1] Kotenev V.P. Matematicheskoe modelirovanie — Mathematical Models and Computer Simulations, 2014, vol. 26, no. 9, pp. 141-148.
[2] Kotenev V.P., Sysenko V.A. Matematicheskoe modelirovanie i chislennye metody — Mathematical Modeling and Computational Methods, 2014, vol. 1, no. 1, pp. 68-81.
[3] Bulgakov V.N., Kotenev V.P., Sapozhnikov D.A. Matematicheskoe modelirovanie i chislennye metody — Mathematical Modeling and Computational Methods, 2017, no. 2, pp. 81-93.
[4] Puchkov A.S., Sapozhnikov D.A. Molodezhny nauchno-tekhnicheskiy vestnik (Youth scientific and technical bulletin), 2017, no. 05. Available at: http://sntbul.bmstu.ru/doc/859337.html (accessed November 27, 2017).
[5] Krasnov N.F. Osnovy aerodinamicheskogo rascheta. Aerodinamika tel vrash-cheniya, nesushchikh i upravlyayuschikh poverkhnostey. Aerodinamika le-tatelnykh apparatov [Fundamentals of aerodynamic calculation. Aerodynamics of bodies of revolution, bearing and control surfaces. Aerodynamics of aircraft]. Moscow, Vysshaya shkola Publ., 1981, 496 p.
[6] Dimitrienko Yu.I., Kotenev V.P., Zakharov A.A. Metod lentochnykh adap-tivnykh setok dlya chislennogo modelirovaniya v gazovoy dinamike [Method of band adaptive grids for numerical simulation in gas dynamics]. Moscow, FIZ-MATLIT Publ., 2011, 280 p.
[7] DeSpirito J., Silton S.I., Weinacht P. Journal of Spacecraft and Rockets, 2009, vol. 46, no. 6, pp. 1142-1154.
[8] Dimitrienko Yu.I., Koryakov M.N., Zakharov A.A. Matematicheskoe modelirovanie i chislennye metody — Mathematical Modeling and Computational Methods, 2015, no. 8, pp. 75-91.
[9] Brown J., Bogdanoff D., Yates L., Chapman G. Journal of Spacecraft and Rockets, 2010, vol. 47, no. 1, pp. 36-47.
[10] Flach P. Machine Learning: The Art and Science of Algorithms that Make Sense of Data. Cambridge University Press, 2012, 396 p. [In Russ.: Flach P. Mashinnoe obuchenie. Nauka i iskusstvo postroeniya algoritmov, kotorye izvlekayut znaniya iz dannykh (Machine learning. Science and art of constructing algorithms that extract knowledge from data). Моscow, DMK-Press Publ., 2015, 400 p.].
[11] Poole D., Mackwoth A. Artificial intelligence. Foundations of computational agents. Cambridge, Cambridge University Press, 2017, 760 p.
[12] Hastie T., Tibshirani R., Friedman J. The elements of statistical learning. Data mining, inference and prediction. New York, Springer, 2009, 745 p.
[13] Shinkyu Jeong, Kazuhisa Chiba, Shigeru Obayashi. Journal of Aerospace Computing, Information and Communication, 2005, vol. 2, no. 11, pp. 452-496.
[14] Tucker P. Advanced computational fluid and aerodynamics. Cambridge, Cambridge University Press, 2016, 578 p.
[15] Wei Wei, Rong Mo, Qingming Fan. Knowledge extraction for aerodynamic simulation data of compressor rotor. Procedia Engineering. International Con-
ference on Advanced in Control Engineering and Information science (18-19 August 2011, Dali, China), 2011, no. 15, pp. 1792-1796.
[16] McKinney Wes. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. O'Reilly Media, 2012, 470 p. [In Russ.: McKinney Wes. Python i analiz dannykh (Python and data analysis). Moscow, DMK-Press Publ., 2015, 482 p.].
[17] [Richert W., Coelho P.L. Building Machine Learning Systems with Python. Packt Publishing, 2013, 290 p. [In Russ.: Richart V., Koelo P.L. Postroenie sis-tem mashinnogo obucheniya na yazyke Python (Building machine learning systems in Python). Moscow, DMK-Press Publ., 2016, 302 p.].
Kotenov V.P., Dr. Sc. (Eng.), Professor, Department of Computational Mathematics and Mathematical Physics, Bauman Moscow State Technical University, Head of Department of Aerodynamics, Joint Stock company Military and industrial corporation JSC MIC Mashinostroyenia. Author of about 60 scientific papers in the field of applied mathematics, numerical and analytical methods for studying the gas flow around the surface of aircraft.
Ratslav R.A., student, Department of Computational Mathematics and Mathematical Physics, Bauman Moscow State Technical University.
Sapozhnikov D.A., post-graduate student, Department of Computational Mathematics and Mathematical Physics, Bauman Moscow State Technical University, engineer at Department of Aerodynamics, Joint Stock company Military and industrial corporation JSC MIC Mashinostroyenia. Author of scientific papers in the field of numerical, analytical and statistical methods for studying the gas flow around the surface of aircraft.
Chernyshev I.V., Master's Degree student, Department of Computational Mathematics and Mathematical Physics, Bauman Moscow State Technical University.