_______УЧЕНЫЕ ЗАПИСКИ Ц А Г И
Т о м V 19 7 4
№ 6
УДК 681.3.06
629.735.32.01
МАКРОЯЗЫК ОПИСАНИЯ И МОДИФИКАЦИИ ГЕОМЕТРИЧЕСКОЙ ЦИФРОВОЙ МОДЕЛИ САМОЛЕТА
Н. Г. Буньков, Ю. В. Новиков
Предложен и реализован на БЭСМ-6 способ автоматизированного построения и модификации геометрической цифровой модели самолета.
Разработка способа включала в себя разработку алгоритмического макроязыка описания и модификации геометрической модели и создание его транслирующих процедур. Данный макроязык представляет собой совокупность лаконичных директив воздействия на геометрическую модель самолета, с помощью которых исследователь или конструктор может варьировать параметры внешней формы самолета или его агрегатов в процессе аэродинамического расчета и при решении других задач аэромеханики на ЭЦВМ. Ортогональные и изометрические проекции самолета выводятся на экран дисплея.
Аэродинамический расчет летательного аппарата в целом, рас-счеты по динамике аппарата, определение облика самолета с помощью ЭЦВМ на начальной стадии проектирования, подготовка технологической информации для автоматизированного производства аэродинамических моделей и элементов самолета требует представления в ЭЦВМ геометрических обводов летательного аппарата.
В практике проектирования и конструирования для представления внешних геометрических форм самолета используется термин „теоретические обводы11. Данные о теоретических обводах служат основой на всех этапах создания самолета, т. е. в проектировочных и поверочных расчетах, в разработке компоновки и конструкции плазов и оснастки и в подготовке информации для станков с числовым программным управлением. На основе теоретических обводов определяются также необходимые сечения агрегатов и самолета в целом.
Для таких проектировочных расчетов, как, например, выбор наилучшей аэродинамической компоновки самолета с помощью ЭЦВМ важно иметь не только цифровое представление обводов
самолета, но и возможность оперативной, в процессе расчетов, модификации этих обводов. Известно в то же время, что информация, описывающая геометрию самолета, очень велика по своему объему, поэтому модификация геометрии путем прямого изменения этой информации или ее частей посредством ввода перфокарт или других носителей с новыми данными о геометрии существенно снижает оперативность модификации и ее достоверность.
Следовательно, необходим математический языковый аппарат, позволяющий модифицировать геометрическую цифровую модель самолета и при этом такой, использование которого позволяло бы инженеру вводить в машину минимальную по объему информацию и перекладывало на ЭЦВМ все основные процедуры модификации. Необходим своего рода набор лаконичных директив воздействия, с помощью которых инженер мог бы модифицировать цифровую модель.
В работе предложен экспериментальный вариант алгоритмического макроязыка для описания, модификации и синтеза геометрических обводов летательного аппарата (ОМС-1 — макроязык Описания и Модификации геометрии Самолета, вариант 1). Макроязык позволяет описывать геометрическую цифровую модель самолета, оперативно воздействовать на нее и получать наглядную информацию об этом воздействии на дисплее. Данный вариант языка ОМС-1, построенный на базе АЛГОЛ-бО, ориентирован на использование дисплея типа „Математический пульт (МП)“, являющийся устройством ввода — вывода прямого доступа к БЭСМ-6.
В разработке макроязыка авторы стремились выдержать соблюдение следующих принципов его построения:
— макроязык должен быть оптимальным в смысле своего уровня, а именно: процедуры-элементы языка должны иметь такой набор формальных параметров, который, с одной стороны, позволял бы осуществлять достаточно универсальное и широкое воздействие (одновременно модифицировать геометрию одного или нескольких агрегатов или несколько параметров самолета), а с другой стороны не был настолько большим, чтобы в практическом использовании языка число сопутствующих, т. е. не участвующих в воздействии параметров было велико;
— структура макроязыка должна строиться в соответствии с установившейся практикой агрегирования и принятых определенй геометрических параметров летательного аппарата, в частности, мнемонические правила для запоминания структуры идентификаторов процедур должны быть несложными и удобными для авиационных инженеров и конструкторов;
— организация транслирующих блоков процедур языка должна быть такой, чтобы временные характеристики при использовании макроязыка позволяли инженеру работать на ЭЦВМ в режиме диалога с выводом геометрической модели агрегатов или самолета в целом на дисплей;
— язык должен быть открытым для расширения набора алгоритмических процедур и его вариации в рамках принятых процедур.
1. Структура макроязыка ОМС-1. В качестве опорного алфавита в макроязыке взят латинский алфавит, так как макроязык ОМС-1 базируется на языке АЛГОЛ-бО.
Слово макроязыка ОМС-1 есть идентификатор. Слово состоит из слогов. Слог в работе определен как неделимый буквенноцифровой набор, который может быть и пустым.
Семантическое значение слов макроязыка формируется на основе семантики его слогов. Семантика же слогов такова: каждый символ (группа символов) слога соответствует начальной букве (группе букв) русского слова, поясняющее смысловое значение данного слова. Семантика слога определяется как его видом, так и его местом в слове.
Например: слог (Р) означает „Построение", слог (£Л!>> — „Угол Стреловидности11, слог (иРУ) — „Угол Поперечного Vй, слог (/?) — „Размах11, (ЗЛО— »3 (базисных) Направления11 и т. д.
Структура ОМСа-1, представленная на фиг. 1—3, описывается иерархическим графом, верхний уровень которого определяет класс воздействия.
УО
Рд
&0
м
из
- из
- К -
ЦРУ -
- 50
- СУ -
- N
- Т2
Б0
- 8 -
- К -I
* В
- ЕМ
Фиг.
Фиг. 2
Фиг. 3
Данная версия макроязыка ОМС-1 содержит пять классов воздействия: „Построение11, „Модификация", „Перемещение11, „Вывод на экран" и „Вспомогательный". Класс воздействия определяется в соответствии с орфографической структурой, корневым слогом. Первый суффиксальный слог определяет вид объекта воздействия, второй (непустой в группе „Модификация Фюзеляжа") уточняет объект воздействия, указывает на то, что воздействие распространяется на ту или иную часть объекта (агрегата), третий слог определяет группу воздействия в заданном классе и, наконец, четвертый слог уточняет вид или объект воздействия. Таким образом, слово макроязыка формируется в соответствии со структурой макроязыка и семантикой слогов. Приведем несколько примеров;
MFND — Модификация Фюзеляжа. Носок. Длина (модификация длины носка фюзеляжа);
SAN—Сдвиг Агрегата по Направлению;
ЕКОРАЗ — (вывод на) Экран Ортогональной Проекции Агрегатов в 3 (плоскостях);
DEA — Деформация Элемента Агрегата.
Рассмотрим кратко классы воздействия и некоторые (в качестве примеров) алгоритмические процедуры, осуществляющие эти воздействия.
2. Клаес „Построение". Слова этого класса состоят из двух слогов:
— корневой слог (Р)— „Построение",
— 1-й суффиксальный слог, определяющий объект воздейстия (К) „Крыло" | (F) — „Фюзеляж" | {VO) — „Вертикальное Оперение" I (GD) — „Гондола Двигателя" | (PD) — „Пилон Двигателя" | (CD) — „Горизонтальное Оперение" (см. фиг. 1).
Класс процедур „Построение" введен для формирования в ЭЦВМ первоначальной геометрической цифровой модели летательного аппарата на основе исходных данных. Эти процедуры практически применяются один раз в начале расчетов, после чего геометрическая модель может постоянно храниться во внешней памяти машины (на магнитных дисках или лентах). Необходимость полного описания геометрии самолета с помощью процедур класса „Построение" определяет число параметров этих процедур, которое в данном случае достаточно велико (от 6 до 15).
Класс „Построение" состоит из шести процедур. Кратко опишем две основные из них.
2.1. Процедура „Построение Крыла". Заголовок: PROCEDURE PK(VP, N, N0, М, KS, LS, NS, В, ALF0, BET, 4, RK, ALFU).
Эта процедура позволяет строить цифровую геометрическую модель крыла по следующей исходной информации:
1. А/—число базовых сечений, т. е. сечений, задаваемых координатой носка сечения (массив NS), длиной хорды сечения (массив LS), углом крутки сечения (массив KS) и координатами точек контура (число точек М);
2. N0 — число опорных сечений, т. е. сечений, задаваемых только координатой носка сечений (массив NS) и длиной хорды сечения (массив LS),
Интерполяция по размаху крыла осуществляется параболами (yV—1)-й степени (при 7V<4) или „цепочкой" кубических парабол (при jV> 4), причем соединение звеньев производится из условия непрерывности функции и ее 1-й и 2-й производных (сплайн-
интерполяция). Параметр RK определяет установочый радиус-вектор крыла, ALFU — установочный угол крыла. Принятая схема описания геометрии крыла может быть в той или иной мере изменена в рамках процедуры РК■
Следует отметить, что приведенная схема описания геометрии крыла не претендует на абсолютную универсальность, а является лишь одной из схем, применяемых пользователями.
Процедуры построения агрегатов типа „Крыло“: вертикального и горизонтального оперения, пилонов двигателей и т. п. основаны на процедуре РК.
2.2. Процедура „Построение Фюзеляжа“. Заголовок: PROCEDURE PF (VPF, NF, MF, ASF, BSF, LOF).
Процедура позволяет по исходной информации строить фюзеляж с эллиптическими сечениями и осевой линией произвольной формы. Исходной информацией является:
1) NF — число сечений;
2) MF — число точек на половине контура каждого сечения;
3) ASF, BFS[ 1 :NF] — массивы задания длин полуосей сечений фюзеляжа;
4) LOF[ 1 :NF, 1:2] —массив задания линии оси фюзеляжа.
Процедура PF определяет координаты точек сечений и „развешивает" эти сечения на оси фюзеляжа. Процедуры построения агрегатов типа „фюзеляж11: гондолы двигателя, подвесных баков и т. п. основаны на процедуре PF.
3. Класс „Модификация". Слова этого класса состоят из четырех слогов:
— корневой слог (М) — „Модификация11;
1-й суффиксальный слог, определяющий объект воздействия: (К) — „Крыло" | (Л/С) — „Агрегат (типа) Крыло1* |
(F) — „Фюзеляж11 | (AF) — „Агрегат (типа) Фюзеляж" |;
2-й суффиксальный слог:
(N) — „Носок" | (S) — „Середина" | (К) — „Кончик" | (EN) — Элемент Носка" | (ЕК) — „Элемент Кончика" |;
3-й суффиксальный слог, определяющий группу воздействия:
для объектов (К) и (АК):
{US) — „Угол Стреловидности" | (UPV) — „Угол поперечного Vй | (R) — „Размах" | (S)—„Сужение" | (Т) — „Толщина" |
(SO) — „5-Образность11 | (GV) — „Глубина Выреза (задней кромки)" | (LMT) — „Линия Максимальных Толщин" |;
для объектов (F) и (AF):
{D) — „Длина" | (Г2) — „Толщина по 2 (осям)" |
(Р)—„Положение" (см. фиг. 2).
Модификация агрегатов при использовании процедур данного класса осуществляется перемещением на Д* (£=1,2,3) некоторой характерной точки; например носка концевого сечения крыла, концевого сечения и т. п.
Класс процедур „Модификация" служит для варьирования геометрических параметров агрегатов летательного аппарата. Рассмотрим несколько примеров процедур модификации крыла.
3.1. Процедура „Размах". PROCEDURE MKR (LKh).
Данная процедура модифицирует крыло с исходным размахом
в крыло с размахом LKN.
3.2. Процедура „Угол Стреловидности*. PROCEDURE MKUS {HIN).
Посредством этой процедуры крыло с углом стреловидности HI переводится в крыло с углом стреловидности HIN.
3.3. Процедура „Угол Поперечного Vl‘. PROCEDURE MKUPV {FIN).
Процедура позволяет изменить угол поперечного V с FI на FIN.
В настоящее время разработаны также процедуры, позволяющие модифицировать следующие параметры крыла: сужение, относительную толщину, крутку, глубину выреза задней кромки, линию максимальных относительных толщин.
Все процедуры модификации агрегатов типа крыло (вертикальное и горизонтальное оперение, пилоны) в основном аналогичны процедурам модификации крыла.
Группа процедур „Модификация Фюзеляжа" состоит из процедур, с помощью которых осуществляется изменение следующих параметров фюзеляжа:
а) длины,
б) толщины по двум осям,
в) длины носовой части, хвостовой части,
г) длины середины фюзеляжа,
д) S-образности фюзеляжа (деформация оси фюзеляжа),
е) наклона элемента носовой или хвостовой части фюзеляжа.
Процедуры модификации агрегата типа фюзеляж (двигатели,
подвесные баки) также построены по аналогии с процедурой модификации фюзеляжа.
4. Класс „Перемещение". Слова данного класса состоят из трех слогов:
— корневой слог (S) — „Сдвиг" | (R) — „Ротация" | (NP) — „Начальное Положение"; группа процедур „Начальное Положение" используется как вспомогательная в процедурах модификации для приведения объекта воздействия к начальному положению (установочные радиус-вектор и углы равны нулю) и поэтому в данном кратком описании языка их вид не уточняется.
1-й суффиксальный слог, определяющий объект воздействия: (О) — „Объект" (в целом)| (А) — „Агрегат" |
(ЕА) — „Элемент Агрегата";
2-й суффиксальный слог, уточняющий вид воздействия:
(N) — „Направление" | (3N) — „одно из трех (базисных) Направлений" (см. фиг. 3).
Класс процедур „Перемещение" служит для компоновки летательного аппарата, т. е. сборки нз агрегатов объекта в целом. Процедуры содержат от 3 до 9 параметров. Приведем несколько примеров группы процедур „Сдвиг", позволяющий перемещать объект, агрегат (или часть агрегата) на заданный радиус-вектор, либо на заданное расстояние вдоль прямой, определенной двумя точками.
4.1. Процедура „Сдвиг Агрегата". PROCEDURE SA(R, W, NA).
Она позволяет сдвигать агрегат W, содержащий NA точек,
на радиус-вектор R.
4.2. Процедура „Сдвиг Элемента Агрегата". PROCEDURE SEA (R, W, N1, N2, M).
Процедура позволяет сдвигать элемент агрегата W, определяемый начальным сечением N1 и конечным N2, на радиус-вектор R. Группа процедур „Ротация" содержит в себе два вида процедур: вращение относительно начала координат и относительно заданной точки.
4.3. Процедура „Ротация Агрегата". PROCEDURE RA (Е, W, NA).
Она позволяет осуществлять вращение агрегата W, содержащего NA точек, вокруг оси Ох на угол £[1] (в радианах), оси Оу на угол Е[2\ и оси Oz на угол £"[3].
5. Класс „Вывод на экран". Данный класс процедур содержит группу процедур, обеспечивающих вывод на экран дисплея ортогональных проекций агрегатов и объекта в целом, и группу процедур, обеспечивающих вывод на экран изометрических проекций агрегатов и объекта. Во всех этих процедурах используется стандартная процедура „ЭКРАН" математического обеспечения дисплея „МП“, разработанного в ВЦ АН СССР.
6. Класс вспомогательных процедур. Перечислим основные группы процедур этого класса:
6.1. Нанесение сетки на агрегат (фиг. 4).
+
Фиг. 4
6.2. Деформация (изменение масштаба) агрегата одновременно по двум осям с коэффициентом деформации КО.
6.3. Деформация агрегата независимо по осям Ох с коэффициентом КО 1 и по Оу с коэффициентом КО 2.
6.4. Вычисление площади в плане крыла и агрегатов типа крыло.
6.5. Определение области перечисления агрегата типа крыло с агрегатом типа фюзеляж.
7. О некоторых результатах применения макроязыка. Опытное внедрение макроязыка было осуществлено на тестовой цифровой модели самолета. В качестве тестовой модели принят планер самолета с крылом переменной стреловидности по размаху(передней и задней кромки), Б-образного фюзеляжа, одного вертикального оперения и четырех двигателей. Очевидно, что макроязык позволяет описывать и модифицировать модели самолета более широкого класса и с большим набором агрегатов. Тестовая модель имеет следующие характеристики агрегатов.
7.1. Крыло — базовых сечений 5; опорных сечений 10; число точек на контуре профиля 20.
7.2 Фюзеляж — число сечений 30; число точек на контуре сечения 20.
7.3. Вертикальное оперение — базовых сечений 2, опорных сечений 4, число точек на контуре 10.
7.4. Гондола двигателя — число сечений 11, число точек на контуре 8.
На фиг. 5 демонстрируется пример модификации геометрической модели крыла самолета, получаемой на БЭСМ-6 и выводимой на экран дисплея (фотографии с экрана). Время с момента задания
6—Ученые записки ЦАГИ № 6
81
абонентом директивы на модификацию геометрии модели до окончания модификации и вывода на экран не превышает нескольких секунд.
Общий объем совокупности всех процедур, в основном оформленных в виде библиотеки на НМЛ, составляет 17 тыс. машинных слов.
Пути развития макроязыка, определенные в настоящее время, следующие:
— образование новых слов (процедур) макроязыка, которые расширили бы совокупность воздействий на геометрическую циф-
Фиг. 5
ровую модель самолета; в частности, введение процедур»построения фонаря кабины, крыльев изменяемой геометрии, фюзеляжа с сечениями произвольной формы (в классе „Построения"), модификации элементов крыла для обработки механизации крыла (в классе „Модификация"), вращение агрегатов вокруг произвольного направления, вычисление площади сечения агрегата самолета произвольно ориентированными плоскостями и т. д.;
— создание „сложных" процедур, позволяющих посредством одной директивы модифицировать несколько параметров агрегата или группу однотипных агрегатов;
■— создание процедур, редуцирующих базовую цифровую модель самолета в различные модели, которые служили бы непосредственной исходной информацией для различных расчетных методов определения аэродинамических характеристик самолета или характеристик прочности;
— совершенствование примеров воздействия на цифровую модель самолета, в основном в направлении сокращения объема информации, которую должен задавать инженер-аэромеханик с помощью аппаратуры дисплея.
Следует отметить, что методы и непосредственные представления геометрии крыла, фюзеляжа и других агрегатов в работе приняты в качестве предварительных и, очевидно, подлежат уточнению и стандартизации в процессе проведения работ по автоматизации проектирования.
Опыт применения экспериментального варианта макроязыка описания, модификации и синтеза геометрии летательного аппарата показал следующее:
— набор процедур (слов макроязыка) является достаточно полным для эффективного построения геометрической цифровой модели самолета, и воздействия на нее;
— уровень макроязыка, т. е. детализация процедур, является удовлетворительной для практического использования в решении задач аэромеханики самолета.
Очевидно в то же время, что развитие макроязыка ОМС-1 и его совершенствование существенным образом будет определено его широким практическим использованием в поверочных и проектировочных расчетах летательных аппаратов.
Авторы глубоко признательны разработчику устройства „Математический пульт11 БЭСМ-6 Л. А. Емельяновой за ценные советы в процессе выполнения данной работы.
ЛИТЕРАТУРА
1. Женюи Ф. Языки программирования. М., „Мир“, 1962.
2. В а а 1 s D. D., Robins A. W. and Harris Jr. R. V. Aerodynamics Design Integration of Supersonic Aircraft. Journ. of Aircraft, No 5, 1970.
Рукопись поступила 29jl 1974 г.