Вы находитесь на странице: 1из 67

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное


учреждение высшего профессионального образования
«Самарский национальный исследовательский университет
имени академика с.п.королева»
(Самарский Университет)

Институт авиационной техники (ИАТ)


Кафедра конструкции и проектирования летательных аппаратов (КиПЛА)

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

«Проектирование крыла транспортного самолёта с


использованием метода дискретных вихрей»

по направлению подготовки 24.03.04D Авиастроение


уровень бакалавриат
направленность «Самолётостроение»

Студент О.У. Эспиноса Барсенас


Руководитель ВКР,
к.т.н., О.Е. Лукьянов

Самара 2020
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное


учреждение высшего профессионального образования
«Самарский национальный исследовательский университет
имени академика с.п.королева»
(Самарский Университет)

Институт авиационной техники (ИАТ)


Кафедра конструкции и проектирования летательных аппаратов (КиПЛА)

УТВЕРЖДАЮ
Заведующий кафедрой
/ А.В. Болдырев /
« » 2020 г.

Задание на выпускную квалификационную работу (ВКР)


студенту Эспиносе Барсенасу Оскару Улисесу
группы №3414-240304D

1.Тема ВКР: «Проектирование крыла транспортного самолёта с использова-


нием метода дискретных вихрей» утверждена приказом по университету от
«16».04.2020 г. №134-Т
2.Перечень вопросов, подлежащих разработке в ВКР:

– Изучить суть метода дискретных вихрей (МДВ) в линейной стационар-


ной постановке при моделировании крыла тонкой несущей поверхно-
стью.
– Исследовать чувствительность характера распределения воздушной
нагрузки, полученной по МДВ, к изменению геометрических характе-
ристик крыла.
– Использовать безразмерный критерий коэффициент силового фактора
для оценки весового совершенства конструкции крыла при его различ-
ной геометрии.
– Исследование влияния количества и расположения лонжеронов на
весовую эффективность конструкции крыла
– Разработать программное обеспечение для осуществления комплексной
оценки влияния формы крыла в плане и конструктивно-силовой схемы
(КСС) крыла на его весовое совершенство с использованием МДВ в
качестве модели аэродинамики и конечно-элементного моделирования
для оценки весового совершенства конструкции.
3. Дата выдачи задания: «16».04.2020 г.
4. Срок представления на кафедру законченной ВКР: «14» июня 2020 г.

Руководитель ВКР
доцент кафедры КиПЛА, к.т.н. / О.Е. Лукьянов /

Задание принял к исполнению / О.У. Эспиноcа Барсенас /


РЕФЕРАТ

Пояснительная записка: 67 страниц, 27 рисунков, 2 таблицы, 45 источника,


4 приложении.

АВТОМАТИЗАЦИЯ ПРЕДВАРИТЕЛЬНОГО ПРОЕКТИРОВАНИЯ


КРЫЛА, ВЕСОВОЕ СОВЕРШЕНСТВО, КОНСТРУКТИВНО-СИЛОВАЯ
СХЕМА, КРИТЕРИЙ СИЛОВОГО ФАКТОРА, МЕТОД ДИСКРЕТНЫХ
ВИХРЕЙ, МНОГОЦЕЛЕВОЙ ЭВОЛЮЦИОННЫЙ АЛГОРИТМ,
НАПРЯЖЁННО-ДЕФОРМИРОВАНИЕ СОСТОЯНИЕ, ТОЧНОЕ ПОПА-
ДАНИЕ, ЦИРКУЛЯЦИЯ .

Цель работы — автоматизация и повышение точности определения аэро-


динамических нагрузок и весового прогнозирования силовой конструкции
крыла на начальных стадиях проектирования.

Используется разработанный метод дискретных вихрей (МДВ) в качестве


модели аэродинамики для определения воздушных нагрузок, многокрите-
риальная оптимизация для предварительного положения лонжеронов на
крыле; конечно-элементного моделирования в системе инженерного анализа
Ansys MAPDL для расчёта напряжённого состояния и оценки весового
совершенства конструкции с помощью критерия силового фактора.

4
СОДЕРЖАНИЕ

Введение 6

1 Учёт влияния геометрических характеристик крыла на мас-


су его конструкции на начальных стадиях проектирования 8

2 Методика оценки весовых характеристик крыльев боль-


шого удлинения с использованием многодисциплинарного
численного моделирования 10
2.1 Комплексный подход определения весовых характеристик кры-
ла с учётом его геометрических параметров . . . . . . . . . . . . 10
2.1.1 Процессы и субпроцессы, используемые для расчёта . . . 10
2.1.2 Оптимизация положения лонжеронов . . . . . . . . . . . 11
2.1.3 Определение расчётных нагрузок для случаев A’ и D’ . 15
2.1.4 Общий порядок расчёта . . . . . . . . . . . . . . . . . . . 17
2.1.5 Принципиальный процесс методики . . . . . . . . . . . . 18
2.2 Математические модели аэродинамики . . . . . . . . . . . . . . 20
2.2.1 Математическая модель . . . . . . . . . . . . . . . . . . . 20
2.2.2 Разработка МДВ . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 Валидация модели . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Математические модели механики твёрдого тела . . . . . . . . . 28
2.3.1 Передача воздушных нагрузок к КЭМ. Порядок постро-
ения КЭМ . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.2 Запуск решения. Расчёт критерия силового фактора . . . 32

3 Исследование влияния геометрических параметров крыла


тяжёлого грузового самолёта на его весовые характеристики 33

Заключение 40

Список использованных источников 41

Приложение А Использованый аэродинамический профиль 45

Приложение Б Код автоматизации определения АХ крыла и


весового прогнозирования КСС крыла 46

Приложение В Код построения сетки КЭМ 55

Приложение Г Код запуска решения и удаления файлов в


MAPDL 66

5
ВВЕДЕНИЕ

Актуальность работы
В настоящее время конкуренция за разработку новых самолётов с высо-
кими показателями эффективности из-за внедрения новых конструктивных
материалов и, технологии изготовления, новых двигателей с уменьшением
веса и большим коэффициентом полезного действия, и также из-за изменения
воздушного права, порождает необходимость сокращения времени на проек-
тирование и производстве.
Традиционные методы проектирования подвержены ошибкам, поскольку
их выполнение ограничено опытом и интуицией конструкторов и, простотой
используемых математических моделей, что приводит к неточностям и ошиб-
кам в дизайне. С введением программ, базирующихся на методах конечных
объёмов и элементов для нахождения аэродинамических характеристик (АХ)
и напряжённого состояния самолёта, удалось сократить время разработки и,
в то же время, повысить точность расчётов.
Хотя использование программного обеспечения уже сократило время
проектирования и повысило точность расчётов, его применение вместе с более
современным методом проектирования, такого как метод «точное попадание»
имеет больший эффект.
Представленная методика проектирования крыльев согласуется с мето-
дом «точное попадание» [1], позволяет конструктору, студенту направления
«Авиастроение» и инженерам с минимальными знаниями о проектировании
самолётов

– повысить точность определения нагрузок на крыло;


– повысить точность определения весовых характеристик крыла за счёт
численных математических моделей, а именно аэродинамики и механи-
ки твёрдого тела вместе с применением критерия силового фактора;
– сделать выбор геометрической конфигурации, количества лонжеронов
и их расположение по критериям силового фактора.

Это в совокупности позволит более точно и быстро прогнозировать показа-


тели эффективности будущего самолёта на ранних этапах проектирования
при минимальном необходимом количестве программного обеспечения и при
минимальных вычислительных ресурсах.

Цель работы
Автоматизация и повышение точности определения аэродинамических
нагрузок и весового прогнозирования силовой конструкции крыла.

Задачи исследования

– Изучить суть метода дискретных вихрей (МДВ) в линейной стационар-

6
ной постановке при моделировании крыла тонкой несущей поверхно-
стью.
– Исследовать чувствительность характера распределения воздушной
нагрузки, полученной по МДВ, к изменению геометрических характе-
ристик крыла.
– Использовать безразмерный критерий силового фактора для оценки ве-
сового совершенства конструкции крыла при его различной геометрии.
– Исследование влияния количества и расположения лонжеронов на
весовую эффективность конструкции крыла
– Разработать программное обеспечение для осуществления комплексной
оценки влияния формы крыла в плане и конструктивно-силовой схемы
(КСС) крыла на его весовое совершенство с использованием МДВ в
качестве модели аэродинамики и конечно-элементного моделирования
для оценки весового совершенства конструкции.

Объект исследования
Крыло и его КСС.

Предмет исследования
Влияние геометрических параметров крыла на его весовые характеристи-
ки.

7
1 Учёт влияния геометрических характеристик крыла на
массу его конструкции на начальных стадиях
проектирования

Выбор геометрических характеристик крыла на начальных стадиях про-


ектирования имеет решающее значение на последующие стадии, поскольку
он в значительной степени определяет вес его конструкции.
Первая процедура проектирования самолётов была основана на методе
проб и ошибок, затем, с накопленным опытом, было решено провести
статистические исследования для принятия решений. В настоящее время
авторы, как Эгер С.М. [2], Реймер Д. [3], Торенбик Э. [4], Леланд М.Н.
[5], предлагают подход, основанный на применении эмпирических весовых
формул и решении уравнивания существования на стадии предварительного
проектирования.
Однако, несмотря на то, что эта форма проектирования более точна,
чем её предшественники, она оставляет возможность совершать ошибки и
неточности в расчётах, которые во многом зависят от опыта и интуиции
конструктора. Большинство из этих ошибок исправляются и уменьшаются в
итерациях проекта, что увеличивает время необходимое для проектирования.
Например, в традициональном процессе проектирования, АХ могут быть
определённы применением разных подходов, например, из продувок крыла,
а если продувок нет вводится по предполагаемым методикам [6], [7], [8], и
менее точно по методике [9].
Другим важным моментом во время предварительного проектирования
является выбор KCC, который высоко определяет восприятие сил в силовых
элементах, что приводит к уменьшению или увеличению сечений элементов
и напрямую влияет на вес конструкции. Также и как для геометрии крыла,
выбор КСС осуществляется статистическим и опытным путями.
Согласно Майнскову [10] при разработке конструкции крыла разрабаты-
вается теоретический чертёж или поверхностная модель с помощью САПР.
Далее определяются расчётные нагрузки из продувок, либо по рекомен-
дациям опубликованным в авиационных правилах, либо по результатам
расчёта в системе вычислительной гидродинамики. Проектировочный расчёт
проводится на первой итерации по методике [9], [11], [12] и дальше по
методу конечных элементов (МКЭ). Этот процесс также имеет итеративный
характер, добавляя возможное и очень уверенное изменение геометрии крыла,
время проектирования значительно увеличивается.
В последние годы появился интерес к автоматизации проектирования и
оптимизации КСС крыла. К примеру:
В работе [13] проводили оптимизацию с целью уменьшения массы панели.
В статье [14] посвятили свои работы проблемам, связанным с автоматизацией
САПР (CAD и CAE).
Большая часть исследований [15] охватывает исключительно вопросы,

8
связанные с проектированием крыла из композиционных материалов без
учёта аспектов оптимального расположения лонжеронов.
В мастерской диссертации [16] представляется мультидисциплинарный
расчёт с включением топологической оптимизации и многокритериальной
оптимизации расположения лонжеронов.
Данные работы не несут весомый вклад для рассмотрения вопроса оценки
весового совершенства по причине отсутствия критерия, показывающего
эффективность конструкции.

Все далее перечисленные авторы их работы приняли во внимание фунда-


ментальные правила конструктора, такие как правила Королькова О.Н. [17],
силового фактора Комарова А.А. [18], принципы рационального проектиро-
вания Бойт Е.С. [12] и Ендогура А.И. [11].
Работы Болдырева А.В. [19],[20], [21] содержат прикладное значение
и фундаментальные основы в автоматизации проектирования агрегатов
самолётов с помощью МКЭ, однако, не включают расчёт внешних сил, его
знания ограничены использованием других методов его получения.
В статье Комарова В.А. и Лукьянова О.Е. [22] отражается методика, де-
монстрирующая интеграцию между аэродинамическим расчётом и расчётом
напряжённого состояния для оценки веса самолёта при выборе рационального
сочетания геометрических параметров крыла. Труды Майнскова В.Н. [23],
[10] и Резниченко Г.А. [24] способствовали решению задач, связанной с
конструированием по традициональному методу проектирования.
Поэтому, до сих пор существует необходимость во-первых, превратить
эти теоретический и абстрактный подход к более практическому; во-вторых,
уменьшать необходимое количество итерации путём автоматизации проекти-
рования и оптимизации конструкции.

Как было выше упомянуто, есть необходимость разработки новой методи-


ки автоматизации проектирования с целью изыскания геометрических харак-
теристик, обеспечивающих крыло меньшего веса, выполняющая прочность
при нормальных и возбуждаемых условиях полёта и максимальное значение
аэродинамического качества; может быть осуществлена, если аэродинамика
и напряжённое состояние конструкции крыла смоделируется и учитывается
одновременно.
На основе изучения проектной ситуации можно сделать вывод, что
имеется потребность разработки новой методики, которая позволит с одной
стороны повысить точность определения весовых характеристик крыла за
счёт применения численного математического моделирования. А именно -
точное и быстрое благодаря МДВ определение нагрузок и, точное прогнози-
рование весовых характеристик за счёт конечно-элементного моделирования
и критерия силового фактора. Из-за этого методика чувствительна к геомет-
рическим характеристикам.

9
2 Методика оценки весовых характеристик крыльев
большого удлинения с использованием
многодисциплинарного численного моделирования

2.1 Комплексный подход определения весовых


характеристик крыла с учётом его геометрических
параметров

2.1.1 Процессы и субпроцессы, используемые для расчёта

Методика включает в себя процессы и субпроцессы, как правило по-


следние дополняют первые. В следующих пунктах даётся краткий обзор
процессов и полное описание субпроцессов.

Процессы
Являются основой для оценки весовых характеристик крыльев, т.к., без
аэродинамического расчёта невозможно определить точное распределение
нагрузок на крыло, который в свою очередь используется для проведения
расчёта напряжённого состояния крыла. Без этих процессов никоим образом
не получится точное значение критерия силового фактора.

Аэродинамический расчёт
Разработанная методика включает применение МДВ для аэродинами-
ческого расчёта, благодаря его обширной документации, низкому потреб-
лению вычислительных ресурсов, достоверности полученных результатов.
Некоторые программы, такие как TORNADO [25], XFLR5 [26] и AVL [27],
основаны на приложении МДВ. МДВ основан на теории идеальной жидкости,
также известной как потенциальное течение. Подробная информация о
математической модели и операциях, реализованных в аэродинамическом
расчёте, объясняется в подразделе 2.2.

Расчёт напряжённого состояния крыла


С целью унификации использованных программ применяется много-
дисциплинарный программный комплекс Ansys MAPDL, базированная на
применение МКЭ для расчёта напряжённого состояния. Благодаря широкой
документации, распространённости MAPDL было возможно сократить вре-
мя на разработку. Весовое совершенство конструкции вычисляется внутри
MAPDL и определяет значение критерия силового фактора (также именно
коэффициента силового веса или коэффициента Комарова). Подробная ин-
формация о математической модели и операциях, выполняемых в этом блоке,
объяснена в подразделе 2.3.

Субпроцессы
Оптимизация положения лонжеронов представляет собой локальную оп-

10
тимизацию, и одновременно с определением расчётных нагрузок являются
подготовительными промежуточными процессами методики. На рисунке 1
показаны порядок субпроцессов.

Начало

1ая операция Исходные


данные
Начало

Исходные Расчёт
1ая операция 2ая операция ′
,𝐷′
данные потребного 𝐶y𝐴 сж

Расчёт
2ая операция Многокритериальная ′ ′
𝐶 𝐴 ,𝐷 (𝛼 = 0∘ ) и
3ья операция
оптимизация
y н.сж
′ ′
𝐶 𝐴 ,𝐷 (𝛼 = 10∘ )
y н.сж

Области проектных
3ья операция переменных 4ая операция

Расчёт 𝐶y𝐴 сж
,𝐷 ′

и критерев
𝑥¯1 , 𝑥¯2

Конец
5ая операция Интерполя ция

′ ′
𝛼(𝐶 𝐴 ,𝐷 )
y сж

Конец

(а) Процесс оптимизации положения лон- (б) Процесс определения расчётных нагру-

жеронов зок для случаев A’ и D’

Рисунок 1 – Блоки-схемы субпроцессов

2.1.2 Оптимизация положения лонжеронов

Масса конструкции сильно зависит от выбранной КСС, поэтому необхо-


димо оптимально установить положение и количество лонжеронов решением
многокритериальной оптимизации генетическим алгоритмом, т.к. он хорошо
масштабируется для решения проблем многомерных задач [28], т.е., при
решении положения нескольких лонжеронов. Процесс оптимизации показан
на рисунке 1а.
В первой операции вводятся исходные данные, которые являются следу-
ющими:

– 𝑓1 , 𝑓2 - целевые функции;
– 𝑔1 , 𝑔2 - ограничения;

11
– число вариантов;
– максимальное число поколения (итерации);
– координаты профиля;
– 𝑐¯ - толщина профиля.

В второй операции имеет место оптимизации положения лонжеронов. Для


оптимизации используется многоцелевой эволюционный алгоритм SPEA2,
разработанный на кафедре электротехники Швейцарского федерального
технологического института [34].

Формулировка задачи оптимизации


Положение лонжеронов играет основную роль при установленной массе
конструкции. Высота и площадь контура лонжеронов являются параметрами,
которые нужно максимизировать, противоречат друг другу и требуют поиск
оптимального положения для конкретного профиля. Касательные усилия в
стенках лонжеронов и в обшивки задаются по формулам:

𝑄𝑖
𝑞 ст i = , (1)
𝐻𝑖
𝑀
(2)
кр
𝑞 об j = ,
2𝜔𝑗

где 𝑄𝑖 - поперечная сила 𝑖-ого лонжерона, Н;


𝐻𝑖 - расстояние между центрами тяжести поясов 𝑖-ого лонжерона, мм;
𝑀кр j - момент кручения 𝑗 -ого контура, Нмм;
Ω𝑖 - площадь 𝑖-ого контура, мм2 .

Работа лонжеронов зависит от соотношения их высот, т.е., от доли их


жёсткости при изгибе. Работа панели зависит от соотношения их жёсткости
на кручении [35].

(𝐸𝐼)𝑖
𝑄𝑖 = 𝑄 ∑︀
𝑛 , (3)
𝐸𝐼
𝑖=1
(𝐺𝐼 )𝑗 к
𝑀 к j = 𝑀 ∑︀
𝑛 ,
к (4)
𝐺𝐼 к
𝑗=1

где (𝐸𝐼)𝑖 и (𝐺𝐼к )𝑖 - жёсткость при изгибе и кручении соответственно 𝑖-ого


лонжерона и 𝑗 -ого контура, МНмм2 .

Если допускается, что лонжероны изготовлены из такого же материала,


другими словами, модули Юнга 𝐸 и сдвига 𝐺 не меняются, из уравнения
4 видно, что сила зависит от куб. высоты лонжерона, крутящий момент на

12
𝑖-ого площади контура зависит от длины и толщины панели. Принимая во
внимание, что высота лонжеронов и площадь контура являются функцией
максимизации, целевые функции в случае двух лонжерона выражаются как:

Целевые функции:

2
min 𝑓1 (𝑥¯1 , 𝑥¯2 ) = √︀ ,
3
𝐻13 (𝑥¯1 ) + 𝐻23 (𝑥¯2 )
(5)
1
min 𝑓2 (𝑥¯1 , 𝑥¯1 ) = .
𝜔(𝑥¯1 , 𝑥¯2 )

Ограничения:
0.20 < 𝑥¯1 < 0.30,
(6)
0.60 < 𝑥¯2 < 0.70.

∫︀𝑥¯2
где 𝜔(𝑥¯1 , 𝑥¯2 ) = 𝑥 - площадь под средней линией, мм2 ;
(𝑔 − 𝑔 )𝑑¯
в н
𝑥¯1
𝐻1 (𝑥¯1 ) = 𝑔 (𝑥¯1 ) − 𝑔 (𝑥¯1 ) - расстояние от хорды до средней линии 1-ого
в н

положения, мм;
𝐻2 (𝑥¯2 ) = 𝑔 (𝑥¯2 ) − 𝑔 (𝑥¯2 ) - расстояние от хорды до средней линии 2-ого
в н

положения, мм;
𝑔 и 𝑔 - функции верхней и нижней обшивки;
в н

𝑥¯1 и 𝑥¯2 - относительные положения 1-ого и 2-ого лонжеронов к передней


кромки.

На рисунке 2 представляется допустимый интервал проектных перемен-


ных.

Рисунок 2 – Интервал проектных переменных для 2 лонжеронной


конструкции

В случае трёх лонжеронов, с целью уменьшения количества функций


положение среднего лонжерона приостановилось на 𝑥¯3 = 0, 5 и положения
переднего и заднего лонжерона рассчитываются без учёта среднего, тогда
целевые функции принимают вид:

13
Целевые функции:
2
min 𝑓1 (𝑥¯1 , 𝑥¯3 ) = √︀ ,
3
𝐻1 (𝑥¯1 )3 + 𝐻2 (𝑥¯3 )3
(7)
1
min 𝑓2 (𝑥¯1 , 𝑥¯1 ) = .
𝜔(𝑥¯1 , 𝑥¯3 )
Ограничения:
0.10 < 𝑥¯1 < 0.15,
(8)
0.65 < 𝑥¯3 < 0.75.
На рисунке 3 представляется допустимый интервал проектных перемен-
ных.

Рисунок 3 – Интервал проектных переменных для 3 лонжеронной


конструкции

Два многочлена 4-ой степени описывают положение нижней и верхней об-


шивки относительно относительной хорды профиля. Для этого вычисляются
коэффициенты полинома внутренним командам Matlab.
В третьей операции выбирается решение по анализу графика. Область
проектных переменных строится как функции проектных переменных 𝑥 ¯1
и 𝑥¯2 . В области критериев оси представляют целевые функции 𝑓1 (𝑥¯1 , 𝑥¯2 )
и 𝑓2 (𝑥¯1 , 𝑥¯2 ). Как правило, кривая в области проектных переменных пере-
водится в кривую в области критериев путём оценки значений целевых
функций при заданных значениях в области проектных переменных, т.е.,
𝑓 (𝑓1 , 𝑓2 ) → 𝑥¯(¯𝑥1 , 𝑥¯2 ), на рисунке 4 представляется это связь.

Валидация и верификация
Валидация и верификация осуществляются одновременно, с помощью
тестовой функции ZDT6 прелагаемой в работе [34] проводится валидации
алгоритма. Для верификации результата оптимизации необходимо использо-
вать другой алгоритм, являющийся эволюционным алгоритмом NSGA-II [37].
Эти процедуры показываются на рисунке 5.
Полученные результаты согласуются с представленными в работах [34] и
[38], при этом свидетельствует достоверность используемых алгоритмов.
Рисунок 5 показывает, что оба исследуемых алгоритма имеют некоторые
общие характеристики, т.е., подвергается верификация алгоритмов, т.к. фор-
ма функции в области критериев приближаются друг к другу., но следует

14
Рисунок 4 – Представление области проектных переменных и соответствую-
щей области критериев на границе Парето [36]

Рисунок 5 – Область критериев по тестовой функции ZDT6 с количеством


вариантов 100. После 500 итерации

учитывать размер вариантов и итерации, чтобы получить результаты ближе


к истинной границе.

2.1.3 Определение расчётных нагрузок для случаев A’ и D’

Процесс определения расчётных нагрузок для случаев A’ и D’ показан на


рисунке 1б.
В первой операции вводятся исходные данные, которые являются следу-
ющими:

а) Геометрические характеристики:
– 𝑆 - площадь крыла, м2 ;
б) Лётные характеристики:

15
– 𝐻 - высота полёта, м;
– 𝑉max - максимальная скорость полёта, км/ч;
– 𝑚вз - максимальная взлётная масса, кг;
в) Атмосферные параметры:
– 𝜌 - плотность воздуха, кг/м3 ;
– 𝑎 - скорость звука, м/с.

Вторая операция процесса заключается в том, что находится коэффици-


ент подъёмной силы 𝐶𝑦 , который реализуется при этих случаях. Формула,
определяющая требуемой коэффициент 𝐶𝑦 следующая:
э
𝑛 𝑃0
𝐶𝑦 = 9, 81 , (9)
𝑞𝑚𝑎𝑥𝑚𝑎𝑥
где 𝑃0 = 𝑚/𝑆 - удельная нагрузка на крыло, кг/м2 ;
2
𝑞𝑚𝑎𝑥𝑚𝑎𝑥 = 𝜌𝑉𝑚𝑎𝑥𝑚𝑎𝑥 /2 - предельный скоростной напор, Н/м2 ;
𝑉𝑚𝑎𝑥𝑚𝑎𝑥 = 1, 1𝑉𝑚𝑎𝑥 - предельная скорость, м/с;
𝑛э - эксплутационная перегрузка, для случая A’ равна 2,5, для случая D’
равна -1,5 [29].

Третья операция процесса состоит из вычисления с помощью МДВ


коэффициента подъёмной силы при несжимающим течении 𝐶y н.сж , при
углах атаки 𝛼 = 0∘ и 𝛼 = 10∘ . Этот процесс использует МДВ для
запрограммированного аэродинамического расчёта, детализированного на
рисунке 10.
В четвёртой операции вычисляется коэффициент подъёмной силы при
сжимающим течении 𝐶y сж применением правила Прандтля-Глауэрта [30]:

𝐶
(10)
y н.сж
𝐶 y сж =√ ,
1 − 𝑀2
где 𝑀 = 𝑉𝑚𝑎𝑥 /𝑎 - число Маха при заданных исходных данных.

Пятая и последняя операция субпроцесса - это интерполяция полученной


𝐶y сж (𝛼A’(D’) для нахождения угла атаки 𝛼A’(D’) при котором реализуются
данные случаи полёта, т.е.:

𝐶y сж (𝛼 )−𝐶
A’(D’) y сж (𝛼0∘ )
𝛼 A’(D’) = (𝛼0∘ − 𝛼10∘ ) + 𝛼0∘ , (11)
𝐶 y сж(𝛼10∘ ) − 𝐶 y сж (𝛼0∘ )
где 𝐶y сж (𝛼0∘ ) - коэффициент подъёмной силы при не сжимающим течении
при нулевом угле атаки;
𝐶y сж (𝛼10∘ ) - коэффициент подъёмной силы при не сжимающим течении
при угле атаки 10∘ .

16
2.1.4 Общий порядок расчёта

На рисунке 6, показана схема разработанного процесса. Разделяется на 5

Начало

Геометрические,
атмосферные
1ая операция параметры
и лётные ха-
рактеристики

2ая операция Определение


расчётных нагрузок
′ ′
𝛼(𝐶𝑦𝐴 ), 𝛼(𝐶𝑦𝐷 )

3ья операция Аэродинамический


расчёт

Файл .cdb

Расчёт напряжённого
состояния крыла

4ая операция 𝜎 экв i , 𝑣𝑖 MAPDL

Расчёт 𝐶𝑘

Запись
5ая операция результатов
Γ, 𝐶𝑘

Конец

Рисунок 6 – Блок-схема процесса расчёта весовых характеристик крыла

основных шагов:

1) ввод исходных данных;


2) определения расчётных нагрузок;
3) аэродинамический расчёт;
4) расчёт напряжённого состояния и вычисление критерия силового фак-
тора;
5) вывод результатов.

В первом блоке вводятся исходные данные для произведения многокри-


териальной оптимизации. Полученные изысканные положения лонжеронов,
отправляются вместе с координатами и толщиной профиля во второй блок.
Во втором блоке нормируются нагрузки по процессу в соответствие с
рисунком 1б.
В третьем блоке вычисляется воздушная нагрузка на крыло при данных
полётных случаях и подготавливается файл .cdb, содержащий информацию

17
сетки для расчёта на MAPDL в соответствие с рисунком 10. Записывается
также интенсивность воздушной нагрузки на соответствующий узел. При
необходимости вторичных расчётов, к примеру, скос потока; индуктивное
сопротивление и его коэффициент проводятся в этом же блоке.
В четвёртом блоке (пунктирный) MAPDL запускается в пакетном режиме,
объединяет совпадающие узлы и проводит анализ напряжённого состояния
по двум расчётным случаям. Силовой фактор и циркуляция по размаху
являются выходными данными процесса.
Получив найденное напряжённое состояние модели можно преступить к
сравнению конструкций с помощью критерия силового фактора, который
определяется с помощью значения силового фактора 𝐺 [18]:
∫︁
𝐺= 𝜎 экв 𝑑𝑉, (12)
𝑉
где 𝜎экв - эквивалентное напряжение, подсчитанное по Мисесу, МПа;
𝑉 - полный объем конструкции, мм3 .

При работе с МКЭ удобно изменить интеграл формулы 12 на две суммы


Римана, т.е.:
𝑛
∑︁
𝐺= 𝜎 экв i 𝑉𝑖 , (13)
𝑖=1
где 𝜎экв i - эквивалентное напряжение по Мисесу на 𝑖-ого элемента;
𝑉𝑖 - объем 𝑖-ого элемента, мм3 ;
𝑛 - число элементов.

Впрочем, нагружение нижней панели оказывается больше в расчётном


случае D’, принимая это во внимание, силовой фактор определяется по
огибающей, т.е., получения полного значения критерий силового фактора
осуществляется при сумме максимального полученного значения каждого
элемента по случаям A’ И D’.
По внутренним командам MAPDL производится расчёт критерия силово-
го фактора, который разделяется произведением максимального взлётного
веса к характерному размеру, т.е.:
(︂∑︀ ∑︀ )︂
1 𝜎 𝑉 𝜎 𝑉
(14)
экв экв
𝐶𝑘 = √ э
+ э
,
1, 5 × 9, 81𝑚
вз 𝑆 𝑛𝐴′ 𝑛𝐷′
где 𝑆 - площадь крыла, мм2
𝑚вз - максимальная взлётная масса, кг.

2.1.5 Принципиальный процесс методики

Процесс 6 можно включить в итерационный, как показано на рисунке 7.

18
Начало

Оптимизация
положения
лонжеронов

𝑥¯1 , 𝑥¯2 , {𝜂}𝑚 , {𝜒}𝑛

𝑖<𝑚 i++

j<n j++

Процесс
Сохранение
расчёта весовых
результатов
характеристик

Конец

Рисунок 7 – Блок-схема принципиального процесса методики определения


весовых характеристик крыла с учётом его геометрических параметров

В первом блоке производится оптимизация положения лонжеронов в


соответствие с рисунком 1а.
Во втором блоке вводятся проектные переменные, которые могут являть-
ся сочетанием удлинения и сужения, либо стреловидности и толщины. В
данной ВКР проектными переменными являются сужение 𝜂 , стреловидность
𝜒, и количеством лонжеронов. В третьем блоке (пунктирный) происходит ав-
томатизации расчётов весовых характеристик при изменении геометрических
параметров крыла в процессе, описанном на рисунке 6. Внутри этого блока
записываются результаты для их дальнейшего анализа.

19
2.2 Математические модели аэродинамики

Понятие о МДВ
Исследование АХ самолёта может быть произведено по разным методам.
МДВ представляет собой расширением теории Прандтля подъёма ли-
нии, принадлежит к группе численных трёхмерных методов, основанных
на применении суперпозиции одного из решений уравнения Лапласа для
потенциального течения – система вихрей (подкова), состоящая из двух
свободных и одного присоединённого вихря.
Распределение вихревых линий по крылу и следу, как показано на рисунке
8 создаёт вихревую рамку,которая, согласно закону Био-Савара-Лапласа,
индуцирует скорость на произвольную контрольную точку. Применение
принципа суперпозиции, составляя множество рамок по полуразмаху и по
хорде крыла позволяет получить индуцируемую скорость. Используя эту
скорость, можно определить циркуляцию, действующую на крыло и, в свою
очередь, зная циркуляцию определит подъёмную силу на каждой вихревой
рамке.

𝑏 𝑐 𝑧

𝑎 𝑑

𝑥
Рисунок 8 – Вихревая рамка

Строится аэродинамическая модель крыла элементами типа вихревой


рамки по средней плоскости крыла вдоль полуразмаха и хорды крыла, как
показано на рисунке 9.
Так как, одним из свойств в двухмерном пространстве средней ли-
нии произвольного профиля является сохранение распределения воздушной
нагрузки по хорде этого профиля [31], то, в трёхмерном пространстве
сохраняется такое свойство если брать среднюю плоскость крыла.
На подразделе 2.2.1 и на книге [30] подробно описывается о МДВ.

2.2.1 Математическая модель

Система алгебраических уравнений (СЛАУ) представляет собой матема-


тическую модель.
[𝐴] [Γ] = [𝑉𝑛 ] , (15)

20
𝑦

11 12 𝑖1 𝑧

1𝑗
𝑖𝑗
𝑥
Рисунок 9 – Средняя поверхность, описываемая вихревыми рамками

где [𝐴] - матрица аэродинамического влияния, 1/м;


[Γ] - столбец циркуляции, м2 /с;
[𝑉𝑛 ] - столбец проекции скорости набегающего потока, м/с.

Решение СЛАУ 15 позволяет отыскать циркуляцию контрольных точек,


расположенных на каждой вихревой рамке.
Матрица аэродинамического влияния
Индуцированная скорость 𝑞 вихревой рамки при циркуляции Γ равной 1
является коэффициентом аэродинамического влияния , который определяет-
ся по следующей формуле [30]:

1
𝐴 = 𝑞( при Γ=1)(cos 𝛽1 − cos 𝛽2 ) ,
= (16)
4𝜋𝑑
где 𝑑 - минимальное расстояние между контрольной точкой и вихрем, мм.

Матрица аэродинамического влияния А размерности 𝑚 × 𝑚 является


массивом влияния 𝑛-ого вихревой рамки 𝑚-ого контрольной точки, т.е.:

· · · 𝐴1,𝑛
⎛ ⎞
𝐴1,1 𝐴1,2
⎜ 𝐴2,1 𝐴2,2 · · · 𝐴2,𝑛 ⎟
𝐴𝑚,𝑛 ⎝ ...
=⎜ .. ... .. ⎟ (17)
. . ⎠
𝐴𝑚,1 𝐴𝑚,2 · · · 𝐴𝑚,𝑛
Граничные условия. Условие непротекания
В отношении решения уравнения Лапласа, линия вихря служит решением
этого уравнения, а единственное граничное условие, которое должно выпол-
няться - это условие непротекания [30]:

𝑉¯𝑛𝑚 = 𝑉¯∞ 𝑛
¯ 𝑚, (18)
где 𝑉¯𝑛𝑚 - проекция скорости набегающего потока на 𝑚-тую нормаль, м/с;
𝑉¯∞ - вектор набегающего потока, м/с;
¯ 𝑚 - нормаль к 𝑚-ой вихревой рамке.
𝑛

21
Циркуляция
Неизвестную циркуляцию, определённую решением СЛАУ можно рассчи-
тать:

– относительная циркуляция по полуразмаху Γ̄;


– распределение воздушной нагрузки 𝑞возд. ;
– коэффициент подъёмной силы 𝐶𝑦𝑎 ;
– коэффициент индуктивного сопротивления 𝐶𝑥𝑖 .

2.2.2 Разработка МДВ

Среда разработки является пакетом MATLAB, его интерфейс позволяет


быстро проверять подпрограмму и исправлять возможные ошибки. Маршрут
процесса представлен на рисунке 10.

Начало

Исходные
данные

NODES.m

Сетка

ELEMENTS.m

COOD_CP_-
NORMAL_VEL.m
VORTEX.m

МДВ

MESH2APDL.m Решатель

Файл .cdb

Конец

Рисунок 10 – Блок-схема процесса аэродинамического расчёта

В соответствие с рисунком 10 процесс разделяется на 5 основных этапов:

1) ввод исходных данных;

22
2) построение сетки модели;
3) расчёт по МДВ;
4) подготовка сетки для экспорта на MAPDL;
5) вывод результатов расчёта на файл .cdb для экспорта на MAPDL.

Следующие параметры определяют форму крыла:

– удлинение 𝜆;
– сужение 𝜂 ;
– стреловидность 𝜒;
– толщина корневого профиля 𝑐¯0 ;
– толщина концевого профиля 𝑐¯к ;
– площадь 𝑆 , м2 .

Исходнные данные
Ввод исходных данных производится в функции MAIN.m, эти данные
являются следующими:

– угол атаки - AOA;


– удлинение - AR;
– сужение - LE_SWEPT;
– стреловидность - TAPER;
– толщина корневого профиля - C_ROOT;
– толщина концевого профиля - C_TIP;
– площадь - AREA;
– количество разделений по полуразмаху - NZ.

Построение сетки. Контрольные точки


В функции NODES.m производится расположение узлов вихревой рамки.
Количество узлов зависит от количества элементов вдоль полуразмаха Δ𝑧 и
от количества точек, определяемых средней линии профиля.
Сначала, функция импортирует точки профиля, число точек определя-
ется по букве 𝑗 . Дальше рассчитываются значения полуразмаха и корневой
хорды по преобразованным формулам:


𝑙2 𝑙 𝜆𝑆
𝜆 = −→ = , (19)
𝑆 2 2
1 𝑆𝜂
𝑆 = (𝑏0 + 𝑏 ) 𝑙 −→ 𝑏0 =
к . (20)
2 (𝜂 + 1) 2𝑙

Для определения координаты средней 𝑥 ¯𝑗 линии отнимается значение


верхней от нижней точки и разделяется пополам.
Для построения профилей необходимы координаты по осям x,y и z.
Поскольку известен единичный профиль, то, умножая профиль на значение

23
y в
𝑥¯𝑗 𝑥¯ в

ˆ ˆ𝑗+1
ˆ ˆ
в ˆ ˆ
𝑥¯2
ˆ ˆ
𝑥¯𝑗 ˆ
ˆ ˆ ˆ ˆ ˆ
𝑥¯в1 ˆˆ ˆ 𝑥¯н𝑛
ˆ ˆ ˆ
ˆˆˆн
ˆ x
ˆˆ𝑥
¯𝑛−1
ˆ ˆ
ˆ ˆ
ˆ ˆн ˆн ˆ ˆ
𝑥¯𝑗 𝑥¯𝑗+1

Рисунок 11 – Точки, определяемые сечение


z

y
𝑏 (𝑖)

z 𝜒 з.к

𝑏0 𝑏 (𝑖) 𝑏 к

Δ𝑏𝜂 (𝑖)
𝜒 з.к

x x

(а) Изометрический вид (б) Вид в плане

Рисунок 12 – Крыло с сужением

хорды в данном сечении, остаётся найти положение передней кромки и размер


хорды. Для этого используется следующие формулы:

𝑏(𝑖) = 𝑏0 + Δ𝑏𝜂 (𝑖), (21)

где Δ𝑏𝜂 - разность хорды на i-ого сечения, мм.

Разность показывается на рисунке 12 и определяется по формуле:

𝑏 − 𝑏0 𝑏0 (1 − 𝜂)
(22)
к
Δ𝑏𝜂 (𝑖) = 𝑙
= 𝑧(𝑖).
2 𝜂 2𝑙

где 𝑧(𝑖) = 2𝑙 /Δ𝑧(𝑖 − 1) - значение разделений по полуразмаху, мм;


𝑖 - число разделений.

Координаты определяются по следующим формулам:

24
𝑥(𝑖, 𝑗) = 𝑥¯𝑐 (𝑗)Δ𝑏𝜂 (𝑖) + tan 𝜒 𝑧(𝑖, 𝑗), п.к (23)
𝑦(𝑖, 𝑗) = 𝑦¯𝑐 (𝑗)Δ𝑏𝜂 (𝑖)¯
𝑐(𝑖), (24)
𝑧(𝑖, 𝑗) = 𝑧(𝑖). (25)
После определения координаты каждого узла, объединяются в матрице
MESH.
В функции ELEMENTS.m собираются узлы как показано на рисунке 13,
определяется количество элементов, описываемых крыло умножая количе-
ство элементов по полуразмаху Δ𝑧 на количество точек профиля минус один
(Δ𝑥 − 1).
z
𝐾 𝐾 +1

y
Элемент
z

x
x к.т
𝐾 + Δ𝑧 + 1 𝐾 + Δ𝑧 + 1
(а) Узлы вихрей (б) Контрольная точка

Рисунок 13 – Вихревая рамка

В функции COORD_CP_VORTEX.m определяется положение контроль-


ной точки каждого элемента, минимальный рабочий пример представляется
на рисунке 13б.
Пример построенной сетки представляется на рисунке 14.
В функции NORMAL_VEL.m определяется скорость нормаль к вихревой
рамке для выполнения условия непротекаемости.
Решатель является внутренними функциями пакета MATLAB для реше-
ния СЛАУ.
На выходе получится циркуляция по полуразмаху, расчётная воздушная
нагрузка, коэффициент подъёмной силы и коэффициент индуктивное сопро-
тивления.
Обработка результатов
Относительная циркуляция Γ̄ определяется по формулу:
𝑚
∑︀
Γ𝑖
𝑗=1
Γ¯𝑖,𝑗 = 𝑚 𝑚
∑︀ ∑︀ . (26)
Γ𝑖,𝑗
𝑖=1 𝑗=1

25
Рисунок 14 – Пример сетки аэродинамической модели

Воздушная нагрузка на каждую контрольную точку 𝑞возд. определяется


по формуле:

𝑌𝑖𝑗 = 𝜌𝑉∞ Γ𝑖𝑗 Δ𝑧, (27)

где 𝜌 - плотность воздуха, кг/м3 .

На этом этапе подготавливаются данные к расчёту в MAPDL.


Найденная воздушная нагрузка умножается на коэффициент безопасно-
сти 𝑓 равный 1,5 для получения значения расчётной нагрузкой.

2.2.3 Валидация модели

Валидация метода осуществляется путём сравнения интегральных и


распределённых АХ, полученных по МДВ к экспериментальным данным: [32]
и [33].
Первая валидация осуществляется путём сравнения интегральных АХ,
т.е., сравнения полученного коэффициента подъёмной силы 𝐶𝑦 при сужение
𝜂 = 2, угол стреловидности 0, 30 и 40∘ и, удлинением от 0 до 10. На рисунке
15 представляются зависимость коэффициента 𝐶𝑦 от удлинения для разных
углах стреловидности.
Вторая валидация осуществляется путём сравнения распределённых АХ,
т.е., сравнения полученной циркуляции Γ̄ при разных комбинациях удлине-
ния, сужения и стреловидности. На рисунке 16 представляются полученные
циркуляции:

26
Рисунок 15 – Зависимость коэффициента 𝐶𝑦 от удлинения 𝜆

(а) 𝜆 = 10, 𝜂 = 1 и 𝜒=0 (б) 𝜆 = 10, 𝜂 = 2 и 𝜒=0

(в) 𝜆 = 3.5, 𝜂 = 2.5 и 𝜒 = 19 (г) 𝜆 = 3.5, 𝜂 = 2.5 и 𝜒 = 43

Рисунок 16 – Циркуляция по полуразмаху

Результат проведённого сравнительного анализа устанавливается, что ма-


тематическая модель численного метода и используемые данные эксперимен-
тов хорошо соответствуют друг другу, что подтверждает о работоспособности
спрограммированного МДВ и достоверности получаемых АХ.

27
2.3 Математические модели механики твёрдого тела

В качестве математической моделей механики твёрдого тела предлагается


к использованию МКЭ в линейной стационарной постановке. Данная модель
применяется для расчёта напряжённого состояния конструкции крыла.
Автоматизация проектирования в MAPDL осуществляется в пакетном
режиме.
Процесс выполнения расчёта состоит из:

– импортирования файла сетки типа .cdb;


– объединения совпадающих узлов;
– введения процессора решения;
– запуска решения.

Файл .cdb генерируется в пакете Matlab, файл содержит информацию


о узлах, типе элементов, граничных условиях, свойствах используемых
материалов, а также толщине обшивки и стенок лонжеронов и нервюр.
Требования к чтению файла для построения конечно-элементной модели
(КЭМ) крыла названы ниже:

– крыло состоит из обшивки, лонжеронов и нервюр;


– конструкция крыла является тонкостенной;
– закрепления крыла должны обеспечивать избежание выброса больших
напряжений;
– узлы воздушной нагрузки КЭМ должны совпадать с узлами контроль-
ной точки аэродинамической модели.

При создании сетки были приняты во внимание следующие:


Численная модель МКЭ, согласно предлагаемой методике, выполняется
из оболочечных элементов, учитывающих силовую работу на растяжение-
сжатие, сдвиг и изгиб. Для корректной работы КЭМ минимизирована
возможность работы элементов на изгиб. КЭМ включает в себя такие
силовые элементы: нервюры, стенки лонжеронов и обшивки, построение их
сетки осуществляется в отдельных функциях.
Реализация МКЭ осуществлена в программном комплексе Ansys APDL.
Используются конечные элементы (КЭ) из встроенных библиотек типа
Shell 181, тк. он предназначен для анализа тонких до умеренно-толстых
оболочечных конструкций согласно [39], и эти же элементы использовала
Павлова С.А.по примеру работы [10].
Для обеспечения совместной работы всех силовых элементов крыла
между ними организовано граничное условие соединения узлов расчётной
сетки.
Для программирования кода были использованы источники [39], [40], [41]
и [42].

28
2.3.1 Передача воздушных нагрузок к КЭМ. Порядок
построения КЭМ

Генерация сетки осуществляется на этапах описанных ниже, согласно


рисунку 17:

1) ввод сетки аэродинамической модели


2) построение сетки обшивки и создание условия опирания;
3) построение сетки лонжеронов и создание условия опирания;
4) построение сетки нервюр;
5) определение узлов, прикладываемых расчётных нагрузок;
6) запись данных сетки КЭМ.

Начало

Сетка аэроди-
1ая операция намической
модели

2ая операция SKIN_MESH

3ья операция BEAMS_MESH

4ая операция RIBS_MESH

5ая операция CONPOIN2MAPDL

6ая операция Запись


файл .cdb

Конец

Рисунок 17 – Блок-схема процесса передачи нагрузок. Функция


MESH2MAPDL

Разбиение геометрии обшивки на КЭ и создание условия опира-


ния
Существует особенность в создании сетки обшивки для конечно-элементного
моделирования. В аэродинамической модели, сетка служит для определения

29
воздушной нагрузки на крыло. Каждый элемент сетки состоит из четырёх
узлов и контрольной точки, расположенной внутри элемента, на три четверти
расстояния прямой, перпендикулярной к прямым 𝐴𝐵¯ и 𝐶𝐷¯ согласно рисунку
18а.
z z
𝐴 𝐵 𝐴 𝐵

к.т к.т

x x
𝐶 𝐷 𝐶 𝐷
(а) Aэродинамическая модель (б) КЭМ

Рисунок 18 – Разделение элемента ABCD

Контрольной точкой не является узел, поэтому, необходимо расширять


сетку, таким образом, чтобы контрольная точка совпадала с узлом сетки
обшивки КЭМ. В тоже время, для выполнения требования по отношению
длин элементов необходимо разделить элемент на одинаковые относительные
разделения в соответствии с рисунком 18б.
Видно из рисунок 18, что сетка КЭМ имеет в 16 раз больше элементов,
чем сетки аэродинамической модели.
Подъёмная сила каждой контрольной точки тонкой поверхности аэроди-
намической модели прикладывается на контрольную точку сетки верхней
обшивки КЭМ. Граничные условия обшивки представляет собой жёсткое
закрепление на плоскости XY. На рисунке 19 показывается обшивка, при-
кладываемая воздушная нагрузка и закрепления.
Описанный процесс производится в функции SKIN_MESH.m.

Разбиение геометрии лонжеронов на КЭ


В отличие от обшивки, лонжероны не требуют какого-либо расширение
сетки, но их создание отвечает потребности в n-ых лонжеронах, что ранее бы-
ло дано при оптимизации их положения. Поэтому, когда генерируется какой-
либо лонжерон, он находится в его найденном оптимальном положении.
Для корректной работы модели стенки лонжеронов и нервюр имеют по
высоте минимум 5 разбиений, возможно изменить этот параметр, чтобы
повысить точность результатов.
Контакт между лонжеронами и обшивкой осуществляется с помощью
совпадающих узлов, пример контакта представлен на рисунке 20а. Это
достигается за счёт использования узлов верхней и нижней обшивки для

30
(а) Изометрический вид (б) Вид сверху

Рисунок 19 – Сетка обшивки КЭМ с приложенными нагрузками и


закреплениями

генерации положения поясов, что, в свою очередь, определяет максимальное


и минимальное положение стенки лонжерона.

(а) Контакт между лонжеронами и обшив- (б) Контакт между лонжеронами и нервюра-

кой ми

Рисунок 20 – Контакты

Описанный процесс производится в функции BEAMS_MESH.m. На ри-


сунке 21б показывается пример разбиения геометрия лонжерона на КЭ.

Разбиение геометрии нервюр на КЭ


Суть построения элементов нервюр такая же, как и для лонжеронов,
узлы обшивки используются для обеспечения их соответствия узлам нервюр.
Количество элементов по высоте должно быть таким же, как установлено
для лонжеронов, т.о., обеспечивается совпадение обоих. Пример контакта
представлен на рисунке 20б.
Описанный процесс производится в функции RIBS_MESH.m. На рисунке

31
21а показывается пример разбиения геометрия нервюр на КЭ.

(а) Сетка нервюр КЭМ (б) Сетка лонжеронов КЭМ.

Рисунок 21 – Сетка КЭМ

2.3.2 Запуск решения. Расчёт критерия силового фактора

Сгенерированная сетка в Matlab, записывается в файл .cdb, который


читает MADPL через команду CDREAD. Затем с помощью внутренней
функции CPINTF все соответствующие узлы соединяются в радиусе 0,0001
мм, а затем выполняется решение.
Согласно предлагаемой методике, оценка весовых характеристик силовой
конструкции крыла осуществляется с помощью интегрального безразмерного
критерия — критерий силового фактора, который получается путём норми-
рования силового фактора на характерную нагрузку и характерный размер,
в качестве которых выступают соответствуя формуле 14.
Безразмерный критерий силовой фактор рассчитывается численно на
основе получаемого напряжённого состояния КЭМ.
С рядом команд, отвечающих за выполнение описанных операций, можно
проверить в приложении Г.

32
3 Исследование влияния геометрических параметров крыла
тяжёлого грузового самолёта на его весовые
характеристики

В примере исследуется влияние сужения и угла стреловидности на


распределение воздушной нагрузки и величину коэффициента силового
фактора крыла:
Исходные данные

Постоянные геометрические характеристики крыла:


Удлинение 𝜆 = 8,32; относительная толщина корневого и концевого
профиля 𝑐¯0 = 0,12 и 𝑐¯к = 0,11.
Полётные условия:
Высота полёта 𝐻 = 6 000 м; максимальная скорость 𝑉кр = 890 км/ч;
удельная нагрузка на крыло 𝑃0 = 618 ДаН/м2 ; полётная масса 𝑚 = 348,8
т. Максимальная эксплуатационная перегрузка 𝑛э𝑚𝑎𝑥𝑦 = 2,5; минимальная
эксплуатационная перегрузка 𝑛э𝑚𝑖𝑛𝑦 = -1,5; коэффициент безопасности 𝑓 =
1,5.
Атмосферные параметры:
Плотность воздуха 𝜌 = 0, 4135 кг/м3 [43]; скорость звука 𝑎 = 299, 5 м/с
[44].
Механические характеристики материалов крыла:
Алюминиевый высокоресурсный сплав 1163АТ и высокопрочный сплав
В95 [45]; модуль Юнга = 72 ГПа; коэффициент Пуассона 𝜇 = 0,3; временное
сопротивление разрыву 𝜎𝐵 = 440 и 530 МПа соответственно; плотность 𝜌 =
2780 кг/м3 .
Переменные геометрические характеристики:
Сужение 𝜂 от 2 до 6 с шагом 1; стреловидность 𝜒 от 20 до 40∘ с шагом 5∘ .

Решение

Решение было исполнено в 2,3 ГГц процессоре Core i5 ПК с 6 ГБ


оперативной памятью под управлением операционной системы Windows 7.
Расчёт напряжённого состояния был приведён со следующей конфигурацией:
тип высокопроизводительных вычислений - распределённые вычисления;
количество процессоров - 2; выделена память - 4,096 Мб; версия MAPDL -
2019 R2.

Поиск оптимального положения лонжеронов


Рассматривается крыло с 2 и 3 лонжеронами.

Оптимизация положения лонжеронов для случая двух лонжеронов

33
Целевые функции :
2
min 𝑓1 (𝑥¯1 , 𝑥¯2 ) = √︀ ,
3
𝐻13 (𝑥¯1 ) + 𝐻23 (𝑥¯2 )
(28)
1
min 𝑓2 (𝑥¯1 , 𝑥¯1 ) = .
𝜔(𝑥¯1 , 𝑥¯2 )
Проектные переменные:𝑥¯1 и 𝑥¯2 .
Ограничения:
0.20 < 𝑥¯1 < 0.30,
(29)
0.60 < 𝑥¯2 < 0.70.
На рисунке 23а представлен результат задачи оптимизации - граница
Парето, определяющая решения равные по всем критериям, полученные из
500 вариантов за 200 поколений.

(а) Граница Парето (б) Область переменных

Рисунок 22 – Области критериев и проектных переменных для случая 2


лонжерона

Рисунок 22б показывает что область переменных, имеет тенденцию вести


себя как прямоугольная функция, отсюда можно сделать следующие выводы:

– при положении первого лонжерона 0,227 положение второго лонжерона


можно брать между 0,6 и 0,7;
– при положении второго лонжерона 0,7 положение первого лонжерона
можно брать между 0,2 и 0,227;
– при положении второго лонжерона 0,6 положение первого лонжерона
можно брать между 0,227 и 0,28.

Выверяется решение с положениями 𝑥


¯1 = 0, 23 и 𝑥¯2 = 0, 67.

Оптимизация положения лонжеронов для случая 3 лонжерона

Для оценивания не только зависимости весового совершенства от геомет-


рических характеристик, а также от КСС, подобным образом повторяется

34
описанный процесс при трёх лонжеронах, для этого принимаются следующие
допущения: оптимизации переднего и заднего лонжеронов проводятся без
учёта срединного лонжерона для удовлетворения принципа «конструкция
повышенной живучести» [11]; срединный лонжерон располагается на 𝑥 ¯2 =
0, 5 т.к. по рекомендации его расположения [9] это положение является
максимально близким к заднему лонжерону для уменьшения контура, вос-
принимающего крутящий момент, и т.о., выходит из строя заднего лонжерона
[11].
Целевые функции :
2
min 𝑓1 (𝑥¯1 , 𝑥¯3 ) = √︀ ,
3
𝐻1 (𝑥¯1 )3 + 𝐻2 (𝑥¯3 )3
(30)
1
min 𝑓2 (𝑥¯1 , 𝑥¯1 ) = .
𝜔(𝑥¯1 , 𝑥¯3 )
Проектные переменные: 𝑥¯1 и 𝑥¯3 .
Ограничения:
0.10 < 𝑥¯1 < 0.15,
(31)
0.65 < 𝑥¯3 < 0.75.
На рисунке 23а представляется результат задачи оптимизации.

(а) Граница Парето (б) Область переменных

Рисунок 23 – Области критериев и проектных переменных для случая 3


лонжерона

Рисунок 23б показывает что область переменных, имеет тенденцию вести


себя как прямоугольная функция, отсюда можно сделать следующие выводы:

– при положении первого лонжерона 0,15 положение второго лонжерона


можно брать между 0,66 и 0,75;
– при положении второго лонжерона 0,75 положение первого лонжерона
можно брать между 0,1 и 0,15.

Выверяется решение с положениями 𝑥


¯1 = 0, 15, 𝑥¯2 = 0, 5 и 𝑥¯3 = 0, 75.

35
Определение распределения воздушной нагрузки в зависимости от гео-
метрии крыла
Были рассмотрены расчётные случаи A’ и D’ с величиной перегрузки 2,5
и -1,5 соответственно. После проведения расчёта потребной подъёмной силы
и углов атаки, и расчёта АХ по требуемому углу, получается циркуляция
крыльев, представленная на рисунке 24.

(а) 𝜂=2 (б) 𝜂=3

(в) 𝜂=4 (г) 𝜂=5

(д) 𝜂=6

Рисунок 24 – Зависимость циркуляция по полуразмаху при 𝜆 = 8, 32

36
Влияние геометрических характеристик крыла на величину коэффици-
ента силового фактора
Граничные условия представлены на рисунке 25 (ограничения на панели
не указаны с целью не загромождения рисунка).

Рисунок 25 – Граничные условия

Результаты вычисления влияния сужения и угла стреловидности на


критерий силового фактора представлены на рисунке 26.

(а) 2 лонжерона (б) 3 лонжерона

Рисунок 26 – Зависимость критерия силового фактора от сужения и угла


стреловидности

37
Анализ полученных результатов на основе представленной ме-
тодики

Увеличение стреловидности 𝜒 приводит к росту нагрузки в концевом


сечении и сокращению в корневом сечении, это объясняется влиянием
скольжения.
Влияние сужения крыла различно по сравнению с эффектом стреловид-
ности: есть падение нагрузки в концевом сечении с увеличением сужения.
Представленная на рисунке 26 форма поверхности, описывающая за-
висимость критерия силового фактора 𝐶𝑘 от количества лонжеронов не
меняется. Критерий силового фактора для трёх лонжеронной конструкции
конструкции меняется незначительно, в порядке 2% относительно двух
лонжеронной. Не смотря на разгружение заднего лонжерона при установ-
лении дополнительных лонжеронов масса конструкции растёт, однако, есть
выигрыш из-за повышения живучести.
С конструкторской точки зрения, предпочитается крыло с большим
сужением и малой стреловидностью из-за выше написанного, вторично,
крыло с большей стреловидностью вызывает рост массы конструкции, т.к.,
расчётная схема - балка испытывает удлинение от угла стреловидности.
Касательно геометрии крыла, существуют ограничения по критическому
числу Маха и по максимальному значению сужения. По сужению максималь-
ное значение устанавливается на 5,5 по причине обеспечения эффективности
работы элеронов. Зная, критическое число Маха можно посчитать значение
угла стреловидности на линии максимальных толщин 𝜒𝑐 по следующей
формуле []:

𝑆𝜆2 𝑐¯0 𝜆2 + 0, 1
(︂ )︂
𝑀 кр =1− 2 cos 𝜒𝑐 → 𝜒𝑐 = arctan (1 − 𝑀 ) кр√ , (32)
𝜆 + 0, 1 𝑆𝜆2 𝑐¯0

где 𝑆 - вид профиля, для суперкритических профилей 𝑆 = 0, 55.

Т.к., стреловидность на линии максимальной толщины меньшее чем стрело-


видности на передней кромке 𝜒𝑐 < 𝜒0 , то для удовлетворения угла атаки на
передней кромке предполагается, что 𝜒0 ≈ 1, 15𝜒𝑐 . Тогда, минимальный угол
стреловидности, удовлетворяющий 𝑀кр равен 27∘ .
Одна из целей конструктора это нахождение конструкции минимальной
массы, принимая это во внимание, осуществляется поиск крыла, которое
выполняет min 𝑓 (𝜒, 𝜂, 𝑛л ) = 𝐶𝑘 (𝜒, 𝜂, 𝑛л ) с ограничениями:𝜂 < 5, 5; 𝑀 < 𝑀кр .
Выбирается крыло с этими граничными параметрами 𝜒 = 27∘ 𝜂 = 5, 5
и 𝑛л = 3 лонжерона, поскольку они обеспечивают оптимальное весовое
совершенство крыла. Причина выбора 3 лонжеронной схемы, как сказано
выше, является повышением его живучести.

В таблице 1 представлены геометрические характеристики полученного

38
крыла, на рисунке 27 изображено крыло с минимальным значением коэффи-
циента силового фактора.

Рисунок 27 – Полученное крыло. Вид в плане

Таблица 1 – Полученные геометрические характеристики крыла


Площадь крыла 𝑆 , м2 553,80
Удельная нагрузка на крыло 𝑃0 , ДаН/м2 630
Размах крыла 𝑙/2, м 33,94
Удлинение крыла 𝜆 8,3202
Сужение крыла 𝜂 5,5
Стреловидность крыла по передней кромке 𝜒0 27∘
Относительная толщина профиля в корне крыла 𝑐¯0 0,12
Относительная толщина профиля в концевом сечении крыла 𝑐¯1 0,11
Положения переднего лонжерона 𝑥¯1 0,15
Положения среднего лонжерона 𝑥¯2 0,50
Положения заднего лонжерона 𝑥¯3 0,75

39
ЗАКЛЮЧЕНИЕ

Данная методика позволила автоматизирование определения и повыше-


ния точности распределения АХ при разных геометрических характеристи-
ках (На представленном примере: при изменении сужения и угла стрело-
видности), об этом свидетельствуют циркуляции по полуразмаху. В то же
время показывается, что зависимость значения критериев силового фактора
от сужения и угла стреловидности чувствительно к своим изменениям. К
примеру, было найдено что увеличение в два раза угла стреловидности крыла
представляет собой рост приблизительно на 50% веса конструкции крыла, в
то время, как увеличение в двойном сужение приводит к уменьшению веса
конструкции на 25%.
Было установлено, что увеличение количества лонжеронов, составляющих
крыло, не уменьшает теоретический вес крыла, а наоборот, наблюдается рост
веса конструкции на 2%. Увеличение количества лонжеронов в основном
связано с необходимостью повышения живучести и усталостно-прочных
характеристик.
Время выполнениярасчётов, около 25 секунд для каждого крыла с двумя
случаями нагрузки, довольно низкое по сравнению со способами, используе-
мыми до сих пор для прогнозирования веса конструкции крыла
Применение многокритериальной оптимизации для получения оптималь-
ного положения стрингеров показывает, что можно уменьшить интервал
выбора до двух или трёх вариантов.

Возможность для улучшения


В ходе разработки методики были обнаружены аспекты, которые могли
бы улучшить процесс проектирования, например, при моделировании крыла
с углом поперечного V необходимо учитывать подъёмную силу, вызванный
угол поперечного V; создание сетки, лонжеронов и нервюр с использованием
общей топологии намного превосходит метод совпадения узлов, потому что
зацепление программного обеспечения гарантирует, что создан набор общих
узлов. Таким образом, возможно избежать добавления дополнительных узлов
на обшивке; если учитывается деформация, вызванная воздушной нагрузкой
то циркуляция по размаху увеличивается на корневом сечение и уменьшается
на конце, что приводит к уменьшению массы конструкции; возможно также
проводить топологическую оптимизацию элементов; также было обнаружено,
что возможные оптимальные положения профилей реагируют на квадратную
функцию, которая может быть использована в искусственных нейронных
сетях.

40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1 Комаров, В.А. Многодисциплинарная оптимизация в концептуаль-


ном проектировании летательных аппаратов. Ч. 2 [Текст]: учеб. пособие /
В.А. Комаров. – М.: Изд-во Самарского университета, Самара, 2019. – 44с.
2 Егер, С.М. Проектирование самолётов [Текст]: Учебник для вузов /
С.М. Егер, В.Ф. Мишин, Н.К. Лисейцев, и др. Под. ред. С.М. Егера. - 3-е изд.,
перераб. и доп. – М.: Машиностроение, Москва, 1983. – 616с.
3 Raymer, D.P. Aircraft design: a conceptual approach [Текст]/ D.P.
Raymer. – 5th ed. - М.: American Institute of Aeronautics and Astronautics,
Inc., Reston, 2012. – 1045с.
4 Torenbeek, E. Synthesis of Subsonic Airplane Design [Текст] / E.
Torenbeek. – М.: Springer Science+Business Media, B.V., 1982. – 607с.
5 Nicolai, L.M. Fundamentals of aircraft and airship design Volume I —
Aircraft design [Текст] / L.M. Nicolai, G. Carichner. – М.: American Institute of
Aeronautics and Astronautics, Inc., Reston, 2010. – 932с.
6 Васильев, В.В. Расчёт аэродинамических характеристик дозвуковых
самолётов [Текст]: электрон, учеб. пособие / В.В. Васильев, А.Н. Никитин,
В.А. Фролов, В.Г. Шахов. – М.: Самар. гос. аэрокосм. ун-т, Самара, 2012. –
63с.
7 Головин, В.М. Расчёт поляр и подбор винта к самолёту [Текст]:
Учёб. пособие / В.М. Головин, Г.В. Филиппов, В.Г. Шахов. – М.: Самар. гос.
аэрокосм. ун-т, Самара, 1992. – 70с.
8 Anderson, J.D. Aircraft performance and design [Текст] / J.D. Anderson,
Jr. – М.: Tata McGraw-Hill, New Delhi, 2010. – 596с.
9 Тарасов, Ю. Л. Расчёт на прочность элементов конструкции
самолёта [Текст]: Учеб. пособие. / Ю.Л. Тарасов, Б.А. Лавров. – 3-е изд.,
перераб. – М.: Самар. гос. аэрокосм. ун-т., Самара, 2000. – 112с.
10 Майнсков, В.Н. Проектирование агрегатов самолёта [Текст]: метод.
указания / В.Н. Майнсков, С.А. Павлова. – М.: Издательство Самарского
университета, Самара, 2018. – 36с.
11 Ендогур, А.И. Конструкция самолётов. Конструирование агрегатов
планера [Текст]: Учебник / А.И. Ендогур. – М.: Изд-во МАИ-ПРИНТ, Москва,
2012. – 496с.
12 Войт, Е. С. Проектирование конструкций самолётов [Текст]: Учеб.
для студ. Вузов, обучающ. по спец. «Самолётостроение» / Е.С. Войт и др. –
М.: Машиностроение, Москва, 1987. – 416с.
13 Ciampa, P.D. Global Local Structural Optimization of
Transportation Aircraft Wings [Текст] / P.D. Ciampa, B. Nagely // 51st

41
AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics, and Materials
Conference. – 2010. – 15с.
14 Benaouali, A. An automated CAD/CAE integration system for the
parametric design of aircraft wing structures [Текст] / A. Benaouali, S. Kachel //
Journal of Theoretical and Applied Mechanics. – 2017. – Т.55, №2. – С.447-459.
15 Stamatelos, D. Towards the Design of a Multispar Composite Wing
[Текст] / D. Stamatelos, G. Labeas // Computation. – 2020, Т.8, №24. – 14с.
16 Matos Alves Ferreira, J.F. Structural Analysis and Optimization of a
UAV wing [Текст] Master’s thesis / João Francisco Matos Alves Ferreira. – М.
2018. – 81с.
17 Корольков, О.Н. Проектирование местных усилений каркасных
агрегатов самолёта [Текст]: Учеб. пособие / О.Н. Корольков. – М.: Самар.
гос. аэрокосм. ун-т., Самара, 1997. – 64с.
18 Козлов, Д.М. Проектирование детали [Текст]: учеб. пособие / Д.М.
Козлов, В.Н. Майнсков, Г.А. Резниченко: под. ред. д-ра техн. наук, проф. В.А.
Комарова. – М.: Изд-во Самарского университета, Самара, 2017. – 80с.
19 Болдырев, А.В. Автоматизированное проектирование силовых шпан-
гоутов [Текст]: метод. указания / сост.: А.В. Болдырев, В.А. Комаров. – М.:
Изд-во Самар. гос. аэрокосм. ун-та, Самара, 2007. – 40с.
20 Болдырев, А.В. Проектирование крыльев летательных аппаратов с
использованием ЗD-моделей переменной плотности [Текст]: электрон, учеб.
пособие / А.В. Болдырев, В.А. Комаров. – М.: Самар, гос. аэрокосм. ун-т.
С.П. Королева (нац. исслед. ун-т), Самара, 2011. – 175с.
21 Болдырев, А.В. Автоматизация конструирования летательных аппа-
ратов [Текст]: электрон, учеб. пособие / А.В. Болдырев, В.А. Комаров. – М.:
Самар, гос. аэрокосм. ун-т. С.П. Королева (нац. исслед. ун-т), Самара, 2012.
– 123с.
22 Комаров, В.А. Многодисциплинарная оптимизация параметров кры-
ла грузового самолёта / В.А. Комаров, О.Е. Лукьянов // Общероссийский
научно-технический журнал "Полет". – 2018. – № 3. – С.3-15.
23 Майнсков, В.Н. Основы конструирования в самолётостроении:
[Текст]: метод. указания / В.Н. Майнсков. – М.: Издательство Самарского
университета, Самара, 2018. – 49с.
24 Резниченко, Г.А. Конструирование самолётов [Текст]: метод. указа-
ния / сост. Г.А. Резниченко. – М.: Изд-во Самарского университета, Самара,
2017. – 44с.
25 Tornado: A Vortex Lattice Method Implemented in MATLAB [Элек-
тронный ресурс]. – URL: http://tornado.redhammer.se (дата обращения:
01.06.2020).

42
26 XFLR5 [Электронный ресурс]. – 2019. – URL:
http://www.xflr5.tech/ (дата обращения: 01.06.2020).
27 AVL [Электронный ресурс] / M. Drela // MIT - Massachusetts Institute
of Technology. – 2017. – URL: http://web.mit.edu/drela/Public/web/avl/
(дата обращения: 01.06.2020).
28 Heitzinger, C. An Extensible TCAD Optimization Framework
Combining Gradient Based and Genetic Optimizers [Текст] / C. Heitzinger,
S. Selberherr // Proceedings of SPIE - The International Society for Optical
Engineering. – 2000. – Т.4228. – С.279-289.
29 Авиационные правила Часть 25 Нормы лётной годности самолётов
транспортной категории [Текст] / Межгосударственный авиационный коми-
тет. – М.: АВИАИЗДАТ, 2015. – 288с.
30 Katz, J. Low-Speed Aerodynamics [Текст] / J. Katz, A. Plotkin. – М.:
McGraw-Hill, Inc., 2001. – 629с.
31 Abbott, I.H. Theory of Wing Sections. Including a Summary of Airfoil
Data [Текст] / I.H. Abbott, A.E. Von Doenhoff. – М.: Dover Publications Inc.,
New York, 1959. – 693с.
32 Белоцерковский, С.М. Тонкая несущая поверхность в дозвуковом
потоке газа [Текст] / С.М. Белоцерковский; под ред. Н.И. Розальской, И.Ш.
Аксельрод, Т.Д. Доверман. – М.: Наука, 1965. – 244 с.
33 Калинин, А.И. Интегральные и распределенные аэродинамические
свойства крыла на низких дозвуковых скоростях [Текст] / А.И. Калинин //
М.: ЦАГИ, вып.1503, 1973. – 354 с.
34 Zitzler, E. SPEA2: Improving the Strength Pareto Evolutionary
Algorithm [Текст] / E. Zitzler, M. Laumanns, L. Thiele. – М.: Computer
Engineering and Communication Networks Lab (TIK), 2001. – 19с.
35 Зайцев, В. Н. Конструкция и прочность самолётов [Текст] / В. Н.
Зайцев, В. Л. Рудаков. – 2-е изд. перераб. и доп. – М.: Вища школа, Киев,
1978. – 488с.
36 Denysiuk, R. Evolutionary Multiobjective Optimization: Review,
Algorithms, and Applications [Текст] Doctoral’s thesis / Roman Denysiuk. – М.
2013. – 320с.
37 Deb, K. A Fast Elitist Non-dominated Sorting Genetic Algorithm for
Multi-objective Optimization: NSGA-II [Текст] / K. Deb, S. Agrawal, A. Pratap,
T. Meyarivan // Lecture Notes in Computer Science. – 2000. – С.849-858.
38 Chase, N. A Benchmark Study of Multi-Objective Optimization Methods
[Текст] / N. Chase, M. Rademacher, E. Goodman, R. Averill, R. Sidhu. – М.: Red
Cedar Technology, East Lansing, 2009. – 24с.
39 Elements Reference [Текст]. – М.: SAS IP, Inc., 2007. – 1532 с.

43
40 ANSYS Mechanical APDL Command Reference [Текст]. – М.: SAS IP,
Inc., 2010. – 1934 с.
41 Programmer’s Manual for ANSYS [Текст]. – М.: SAS IP, Inc., 2007. –
312 с.
42 Guide to Interfacing with ANSYS [Текст]. – М.: SAS IP, Inc., 2005. –
107 с.
43 U.S. Standart Atmosphere [Электронный
ресурс] // Engineering ToolBox. –2009. – URL:
https://www.engineeringtoolbox.com/standard-atmosphere-d_604 (дата
обращения: 01.06.2020)
44 Elevation and speed of sound [Электронный
ресурс] // Engineering ToolBox. – 2003. – URL:
https://www.engineeringtoolbox.com/elevation-speed-sound-air-d_1534
(дата обращения: 01.06.2020)
45 Климов, В. Н. Современные авиационные конструкционные сплавы
[Текст]: учеб. пособие / В. Н. Климов, Д. М. Козлов. – М.: Изд-во Самарского
университета, Самара, 2017. – 40с.

44
ПРИЛОЖЕНИЕ А
Использованый аэродинамический профиль

Таблица 2 – Координаты профиля (в процентах толщины профиля)


𝑥¯ 0 10 20 30 40 50 60 70 80 90 100
𝑦¯𝐷 0 45,97 60,98 65,80 63,83 57,04 46,44 34,04 21,33 10,66 0
𝑦¯𝐻 0 -27,88 -32,86 -34,20 -34,20 -32,46 -29,15 -24,41 -18,17 -9,09 0

45
ПРИЛОЖЕНИЕ Б
Код автоматизации определения АХ крыла и весового
прогнозирования КСС крыла

MAIN.m

В этой функции находится принципиальный процесс методики определе-


ния весовых характеристик крыла с учётом его геометрических параметров.

1 function [GAMMA, G ] = MAIN

2 tic

3 %% VARIABLES

4 % GEOMETRICAL CHARACTERISTICS

5 TAPER = linspace (2 ,6 ,5) ;

6 LE_SWEPT = linspace (20 ,40 ,5) ;

7 % NUMBER OF DIVISIONS

8 NZ = 10;

9 %% PREALLOCATION FOR SPEED

10 GAMMA = z e r o s ( l e n g t h (TAPER) * l e n g t h (LE_SWEPT) ,NZ) ;

11 %% CALCULATION

12 L = 1;

13 for J = 1 : l e n g t h (LE_SWEPT)

14 for K = 1 : l e n g t h (TAPER)

15 [ G_STRING, CIRCULATION ] = CALC_G(LE_SWEPT( J ) ,TAPER(K) ,NZ) ;

16 G( L , 1 ) = {G_STRING } ;

17 GAMMA( L , : ) = CIRCULATION ;

18 L = L+ 1 ;

19 end

20 end

21 toc

22 end

CALC_G.m

В этой функции находится принципиальный процесс вычисления весовых


характеристик крыла.

1 function [ G_STRING, CIRCULATION ] = CALC_G(LE_SWEPT, TAPER, NZ)

2 %% INPUT DATA

3 % CONSTANT GEOMETRICAL CHARACTERISTICS

4 AR = 8 .3202 ;

5 C_ROOT = 0 .12 ;

6 C_TIP = 0 .11 ;

7 AREA = 553 . 7 9 8 5 4 8 ;

8 % STANDART ATMOSPHERE PARAMETERS

9 V_SOUND = 299 . 5 ;

10 RHO_0 = 0 .4135 ;

11 % FLIGHT CONDITIONS

12 V_MAX = 1 .1 *890/3 . 6 ;

13 Q_MAX = RHO_0 V_MAX^ 2 / 2 ;


*
14 G = 348800;

15
16 S = G/AREA ;

17 AREA = AREA *1000000;

46
18 M = V_MAX/V_SOUND;

19 %% LOADING CASES

20 % CALCULATION REQUIRED CY

21 LOAD = 'A''' ;
22 switch LOAD

23 case { 'A' , ' a ' }


24 disp (' Not a v a i l a b l e ' )
25 case { 'A''' , ' a ''' }

26 N_OPER = 2 .5 ;

27 CY = N_OPER 9 . 8 1
* *S /Q_MAX;
28 case { 'B' , 'b' }
29 d i s p ( ' Not a v a i l a b l e ' )

30 c a s e { 'C' , ' c ' }

31 d i s p ( ' Not a v a i l a b l e ' )

32 c a s e { 'D' , ' d ' }

33 d i s p ( ' Not a v a i l a b l e ' )

34 c a s e { 'D''' , ' d ''' }

35 N_OPER = -1 . 5 ;

36 CY = N_OPER 9 . 8 1 * *S /Q_MAX;
37 otherwise

38 disp ( 'Please , choose a design load. ')


39 end

40 % CALCULATION CY AT AOA 0 DEGREES

41 AOA_0 = 0;

42 [ CY_0, ¬ ,¬ ] = VLM(AR, TAPER, LE_SWEPT,C_ROOT, C_TIP , AREA, NZ , AOA_0,V_MAX, RHO_0) ;

43 CY_0 = CY_0/ s q r t ( 1 -M^ 2 ) ;

44 % CALCULATION CY AT AOA 1 0 DEGREES

45 AOA_10 = 10;

46 [ CY_10 , ¬ ,¬ ] = VLM(AR, TAPER, LE_SWEPT,C_ROOT, C_TIP , AREA, NZ , AOA_10,V_MAX, RHO_0) ;

47 CY_10 = CY_10/ s q r t ( 1 -M^ 2 ) ;

48 % CALCULATION REQUIRED AOA

49 AOA = INTERPOLATION(CY_0, CY_10 , AOA_0, AOA_10, CY) ;

50 % CALCULATION OF AERODYNAMIC CHARACTERISTICS

51 [ ¬ , ¬ ,CIRCULATION ] = ...

VLM(AR, TAPER, LE_SWEPT,C_ROOT, C_TIP , AREA, NZ , AOA,V_MAX, RHO_0) ;

52 '
%% MADPL S EXECUTION

53 dos ( 'SET KMP_STACKSIZE=4096 k & "C : \ Program F i l e s \ANSYS I n c \ANSYS ...

S t u d e n t \ v 1 9 4 \ANSYS\ b i n \ w i n x 6 4 \MAPDL.exe" -b - dir "C : \ U s e r s \ O s c a r ...

E s p i n o s a \ OneDrive - s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL" - i ...

"C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\COINNODE.mac" -o "C : \ U s e r s \ O s c a r ...

E s p i n o s a \ OneDrive - s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ r e s . o u t " ') ;


54 pause ( 1 ) ;

55 G_STRING = fileread ( ' \MAPDL\ g . t x t ' ) ;


56 dos ( 'C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ DEL.bat ') ;


57 end

VLM.m

В этой функции находится процесс вычисления АХ крыла по МДВ.

1 function [ CY, CX, CIRCULATION ] = ...

VLM(AR, TAPER, LE_SWEPT,C_ROOT, C_TIP , AREA, NZ , AOA,V_MAX, RHO_0)

2 %% MESH CREATION

3 [ SEMISPAN , MESH, MESH_APDL, MESH_EXT_INT, NX, NZ ] = ...

NODES(AR, TAPER, LE_SWEPT,C_ROOT, C_TIP , AREA, NZ) ;

47
4 [ ELEM, Y_ELEM_EXT_INT,N_ELEM] = ELEMENTS(MESH, MESH_APDL, MESH_EXT_INT, NX, NZ) ;

5 [ CONTROL_POINT,HS_VORTEX] = COORD_CP_VORTEX(ELEM, N_ELEM, NZ , NX) ;

6 %% PREALLOCATION FOR SPEED

7 A = o n e s (N_ELEM,N_ELEM) ;

8 B = o n e s (N_ELEM,N_ELEM) ;

9 U = o n e s (N_ELEM,N_ELEM) ;

10 V = o n e s (N_ELEM,N_ELEM) ;

11 W = o n e s (N_ELEM,N_ELEM) ;

12 U_MIRROR = o n e s (N_ELEM,N_ELEM) ;

13 V_MIRROR = o n e s (N_ELEM,N_ELEM) ;

14 W_MIRROR = o n e s (N_ELEM,N_ELEM) ;

15 CX_IND_U = o n e s (N_ELEM,N_ELEM) ;

16 CX_IND_V = o n e s (N_ELEM,N_ELEM) ;

17 CX_IND_W = o n e s (N_ELEM,N_ELEM) ;

18 CX_IND_U_MIRROR = o n e s (N_ELEM,N_ELEM) ;

19 CX_IND_V_MIRROR = o n e s (N_ELEM,N_ELEM) ;

20 CX_IND_W_MIRROR = o n e s (N_ELEM,N_ELEM) ;

21
22 V_INF = V_MAX; %M/C

23 V_INF = [ V_INF * c o s ( d e g t o r a d (AOA) ) V_INF * s i n ( d e g t o r a d (AOA) ) 0];

24
25 AIR_DENSITY = RHO_0 ; %KG/M^3

26 %% CALCULATION

27 [ VN,NORM_ELEM] = NORMAL_VEL(ELEM, V_INF ,N_ELEM) ;

28
29 for I = 1 :N_ELEM

30 for J = 1 :N_ELEM

31 [ U( I , J ) ,V( I , J ) ,W( I , J ) ,CX_IND_U( I , J ) ,CX_IND_V( I , J ) ,CX_IND_W( I , J ) ] = ...

. . .

32 ...

HSHOE(CONTROL_POINT( I , 1 ) ,CONTROL_POINT( I , 2 ) ,CONTROL_POINT( I , 3 ) , . . .

33 HS_VORTEX( J , 1 ) ,HS_VORTEX( J , 3 ) ,HS_VORTEX( J , 5 ) , . . .

34 HS_VORTEX( J , 2 ) ,HS_VORTEX( J , 4 ) ,HS_VORTEX( J , 6 ) , SEMISPAN ,AOA) ;

35
36 [U_MIRROR( I , J ) ,V_MIRROR( I , J ) ,W_MIRROR( I , J ) ,CX_IND_U_MIRROR( I , J ) , . . .

37 CX_IND_V_MIRROR( I , J ) ,CX_IND_W_MIRROR( I , J ) ] = . . .

38 ...

HSHOE(CONTROL_POINT( I , 1 ) ,CONTROL_POINT( I , 2 ) , -CONTROL_POINT( I , 3 ) , . . .

39 HS_VORTEX( J , 1 ) ,HS_VORTEX( J , 3 ) ,HS_VORTEX( J , 5 ) , . . .

40 HS_VORTEX( J , 2 ) ,HS_VORTEX( J , 4 ) ,HS_VORTEX( J , 6 ) , SEMISPAN ,AOA) ;

41
42 A( I , J ) = (U( I , J )+U_MIRROR( I , J ) ) *NORM_ELEM( I , 1 ) + . . .
43 (V( I , J )+V_MIRROR( I , J ) ) *NORM_ELEM( I , 2 ) + . . .
44 (W( I , J ) -W_MIRROR( I , J ) ) *NORM_ELEM( I , 3 ) ;

45
46 B( I , J ) = (CX_IND_U( I , J )+CX_IND_U_MIRROR( I , J ) ) *NORM_ELEM( I , 1 ) + . . .
47 (CX_IND_V( I , J )+CX_IND_V_MIRROR( I , J ) ) *NORM_ELEM( I , 2 ) + . . .
48 (CX_IND_W( I , J )+CX_IND_W_MIRROR( I , J ) ) *NORM_ELEM( I , 3 ) ;

49 end

50 end

51 %% POSTPROCESSING

52 CIRCULATION = A\VN ;

53 INDDOWNWASH = B CIRCULATION ;*
54
55 DELTA_Z = SEMISPAN/NZ / 1 0 0 0 ;

56
57 Y = AIR_DENSITY CIRCULATION V_MAX DELTA_Z ;
* * *
58 X = -AIR_DENSITY CIRCULATION. INDDOWNWASH DELTA_Z ;
* * *
59 LIFT = 2 * sum (Y) ;
60 DRAG = 2 * sum (X) ;

48
61
62 Y2APDL = 1 .5 * r e s h a p e ( Y , N_ELEM, 1 ) ; % SAFETY FACTOR F = 1 .5

63
64 CY = 2 * LIFT / (AIR_DENSITY*V_MAX^ 2 * (AREA/ 1 0 0 0 0 0 0 ) ) ;
65 CY = sum (CY) ;

66
67 CX = 2 DRAG/ (AIR_DENSITY V_MAX^ 2 ) ;
* *
68 CX = sum (CX) ;

69
70 CIRCULATION = r e s h a p e (CIRCULATION , NZ ,N_ELEM/NZ) ;

71 CIRCULATION = CIRCULATION. ';


72 CIRCULATION = sum (CIRCULATION) / ( sum ( sum (CIRCULATION) ) ) ;

73
74 [ CP , D ] = MESH2APDL(ELEM, Y_ELEM_EXT_INT, NZ , NX, Y2APDL) ;

75 end

NODES.m

В этой функции вычисляются координаты узлов аэродинамической моде-


ли.

1 function [ SEMISPAN , MESH, MESH_APDL, MESH_EXT_INT, NX, NZ ] = ...

NODES(AR, TAPER, LE_SWEPT,C_ROOT, C_TIP , AREA, NZ)

2 %% READ AIRFOIL

3 FILEID = fopen ( ' a i r f o i l _ 1 . t x t ' ,'r') ;


4 FORMATSPEC = '%f %f %f ' ; % %d t i m e s s h o u l d correspont to m

5 SIZEXY = [3 Inf ] ; % [ m, n ] n can be Inf , but m cannot.

6 XY = f s c a n f ( FILEID , FORMATSPEC, SIZEXY ) ;

7 f c l o s e ( FILEID ) ;

8 XY = XY ';
9 XP_AIRFOIL = XY ( : , 1 ) ;

10
11 Y_EXT = XY ( : , 2 ) ;

12 Y_INT = XY ( : , 3 ) ;

13 YP_AIRFOIL = (Y_EXT+Y_INT) / 2 ;

14 %% INTERMEDIATE CALCULATIONS

15 SEMISPAN = s q r t (AR AREA) / 2 ;


* %SEMIALA

16 CHORD_ROOT = AREA TAPER/ (TAPER+1) /SEMISPAN ;


*
17 %% WING DISCRETIZATION

18 NX = l e n g t h ( XP_AIRFOIL ) ;

19
20 Z = o n e s ( 1 , NZ+1) ;

21 CHORD = o n e s ( 1 , NZ+1) ;

22 Z_REL = o n e s ( 1 , NZ+1) ;

23 CAMBER = o n e s ( 1 , NZ+1) ;

24
25 XP_NODES = o n e s (NZ+1 ,NX) ;

26 YP_NODES = o n e s (NZ+1 ,NX) ;

27 ZP_NODES = z e r o s (NZ+1 ,NX) ;

28
29 Y_EXT_NODES = o n e s (NZ+1 ,NX) ;

30 Y_INT_NODES = o n e s (NZ+1 ,NX) ;

31
32 for I = 1 : ( NZ+1)

33 Z( I ) = SEMISPAN/NZ *( I -1) ;

34 CHORD( I ) = CHORD_ROOT+CHORD_ROOT * ( 1 -TAPER) / (TAPER*SEMISPAN ) *Z ( I ) ;


35

49
36 Z_REL( I ) = Z ( I ) /SEMISPAN ;

37 CAMBER( I ) = C_TIP * ( ( 1 -C_ROOT/C_TIP ) *Z_REL( I )+C_ROOT/C_TIP ) ;


38
39 ZP_NODES( I , : ) = Z( I ) ;

40 XP_NODES( I , : ) = ...

XP_AIRFOIL '*CHORD( I )+t a n ( d e g t o r a d (LE_SWEPT) ) *ZP_NODES( I ,:) ;

41 YP_NODES( I , : ) = CAMBER( I ) *CHORD( I ) *YP_AIRFOIL ' ;

42
43 Y_EXT_NODES( I , : ) = CAMBER( I ) *CHORD( I ) *Y_EXT' ;
44 Y_INT_NODES( I , : ) = CAMBER( I ) *CHORD( I ) *Y_INT' ;
45 end

46 MESH = [ XP_NODES ( : ) YP_NODES ( : ) ZP_NODES ( : ) ] ;

47 MESH_EXT_INT = [Y_EXT_NODES ( : ) Y_INT_NODES ( : ) ] ;

48 %% ADDED 0 1 . 0 5 FOR IMPORT TO APDL

49 ID_K = z e r o s ( 1 , l e n g t h (MESH) ) ;

50 for I = 1 : l e n g t h (MESH)

51 ID_K( I ) = I ;

52 end

53 MESH_APDL = [ ID_K ', MESH ] ;

54 end

ELEMENTS.m

В этой функции определяются узлы, принадлежащие элементу аэродина-


мической модели.

1 function [ ELEM, Y_ELEM_EXT_INT,N_ELEM] = ...

ELEMENTS(MESH, MESH_APDL, MESH_EXT_INT, NX, NZ)

2 N_ELEM = NZ * (NX- 1 ) ; % KATZ AND PLOTKIN

3 %% PREALLOCATION FOR SPEED

4 COORDNODX = o n e s (N_ELEM, 4 ) ;

5 COORDNODY = o n e s (N_ELEM, 4 ) ;

6 COORDNODZ = o n e s (N_ELEM, 4 ) ;

7
8 Y_ELEM_EXT = o n e s (N_ELEM, 4 ) ;

9 Y_ELEM_INT = o n e s (N_ELEM, 4 ) ;

10
11 ID_PANEL = o n e s (N_ELEM, 5 ) ;

12 %% CALCULATION COORDINATES ELEMENT ABCD

13 K = 1; L = 0;

14 for I = 1 : ( NX- 1 )

15 for J = 1 : NZ

16 L = L+ 1 ;

17 COORDNODX( L , : ) = ...

[ MESH(K, 1 ) ,MESH(K+ 1 , 1 ) ,MESH(K+NZ+ 1 , 1 ) ,MESH(K+NZ+ 2 , 1 ) ] ;

18 COORDNODY( L , : ) = ...

[ MESH(K, 2 ) ,MESH(K+ 1 , 2 ) ,MESH(K+NZ+ 1 , 2 ) ,MESH(K+NZ+ 2 , 2 ) ] ;

19 COORDNODZ( L , : ) = ...

[ MESH(K, 3 ) ,MESH(K+ 1 , 3 ) ,MESH(K+NZ+ 1 , 3 ) ,MESH(K+NZ+ 2 , 3 ) ] ;

20
21 Y_ELEM_EXT( L , : ) = [ MESH_EXT_INT(K, 1 ) ,MESH_EXT_INT(K+ 1 , 1 ) , . . .

22 MESH_EXT_INT(K+NZ+ 1 , 1 ) ,MESH_EXT_INT(K+NZ+ 2 , 1 ) ] ;

23 Y_ELEM_INT( L , : ) = [ MESH_EXT_INT(K, 2 ) ,MESH_EXT_INT(K+ 1 , 2 ) , . . .

24 MESH_EXT_INT(K+NZ+ 1 , 2 ) ,MESH_EXT_INT(K+NZ+ 2 , 2 ) ] ;

25
26 ID_PANEL( L , : ) = [ L ,MESH_APDL(K, 1 ) ,MESH_APDL(K+ 1 , 1 ) , . .

27 MESH_APDL(K+NZ+ 2 , 1 ) ,MESH_APDL(K+NZ+ 1 , 1 ) ] ;

50
28 K = K+ 1 ;

29 end

30 K = K+ 1 ;

31 end

32 ELEM = [COORDNODX COORDNODY COORDNODZ ] ;

33 Y_ELEM_EXT_INT = [Y_ELEM_EXT Y_ELEM_INT ] ;

34 end

COORD_CP_VORTEX.m

В этой функции вычисляется положение контрольной точки аэродинами-


ческой модели.

1 function [ CONTROL_POINT,HS_VORTEX] = COORD_CP_VORTEX(ELEM, N_ELEM, NZ , NX)

2 HS_VORTEX = o n e s (N_ELEM, 6 ) ;

3 %% PREALLOACTION FOR SPEED

4 CONTROL_POINT = o n e s (N_ELEM, 3 ) ;

5 X = o n e s (N_ELEM, 2 ) ;

6 Y = o n e s (N_ELEM, 2 ) ;

7 X_ELEM = o n e s (N_ELEM, 9 ) ;

8 Y_ELEM = o n e s (N_ELEM, 9 ) ;

9 Z_ELEM = o n e s (N_ELEM, 9 ) ;

10 ID = l i n s p a c e ( 1 , ( ( NX- 1 ) * 2+1) * (NZ* 2+1) , ( ( NX- 1 ) * 2+1) * (NZ* 2+1) ) ;


11 '
%% CONTROL POINT S COORDINATES CALCULATION

12 for I = 1 :N_ELEM

13 HS_VORTEX( I , 1 ) = (ELEM( I , 3 ) -ELEM( I , 1 ) ) /4+ELEM( I , 1 ) ; % XL_0, 2 5

14 HS_VORTEX( I , 2 ) = (ELEM( I , 4 ) -ELEM( I , 2 ) ) /4+ELEM( I , 2 ) ; % XR_0, 2 5

15 HS_VORTEX( I , 3 ) = (ELEM( I , 7 ) -ELEM( I , 5 ) ) /4+ELEM( I , 5 ) ; % YL_0, 2 5

16 HS_VORTEX( I , 4 ) = (ELEM( I , 8 ) -ELEM( I , 6 ) ) /4+ELEM( I , 6 ) ; % YR_0, 2 5

17 HS_VORTEX( I , 5 ) = ELEM( I , 9 ) ; % ZL_0 , 2 5

18 HS_VORTEX( I , 6 ) = ELEM( I , 1 0 ) ; % ZR_0 , 2 5

19
20 X_ELEM( I , 1 ) = ELEM( I , 1 ) ;

21 X_ELEM( I , 3 ) = ELEM( I , 2 ) ;

22 X_ELEM( I , 7 ) = ELEM( I , 3 ) ;

23 X_ELEM( I , 9 ) = ELEM( I , 4 ) ;

24 X_ELEM( I , 2 ) = (X_ELEM( I , 3 ) -X_ELEM( I , 1 ) ) /2+X_ELEM( I , 1 ) ;

25 X_ELEM( I , 4 ) = 3 * (X_ELEM( I , 7 ) -X_ELEM( I , 1 ) ) /4+X_ELEM( I , 1 ) ;

26 X_ELEM( I , 6 ) = 3 * (X_ELEM( I , 9 ) -X_ELEM( I , 3 ) ) /4+X_ELEM( I , 3 ) ;

27 X_ELEM( I , 8 ) = (X_ELEM( I , 9 ) -X_ELEM( I , 7 ) ) /2+X_ELEM( I , 7 ) ;

28 X_ELEM( I , 5 ) = (X_ELEM( I , 6 ) -X_ELEM( I , 4 ) ) /2+X_ELEM( I , 4 ) ;

29 %

30 Y_ELEM( I , 1 ) = ELEM( I , 5 ) ;

31 Y_ELEM( I , 3 ) = ELEM( I , 6 ) ;

32 Y_ELEM( I , 7 ) = ELEM( I , 7 ) ;

33 Y_ELEM( I , 9 ) = ELEM( I , 8 ) ;

34 Y_ELEM( I , 2 ) = (Y_ELEM( I , 3 ) -Y_ELEM( I , 1 ) ) /2+Y_ELEM( I , 1 ) ;

35 Y_ELEM( I , 4 ) = 3 * (Y_ELEM( I , 7 ) -Y_ELEM( I , 1 ) ) /4+Y_ELEM( I , 1 ) ;

36 Y_ELEM( I , 6 ) = 3 * (Y_ELEM( I , 9 ) -Y_ELEM( I , 3 ) ) /4+Y_ELEM( I , 3 ) ;

37 Y_ELEM( I , 8 ) = (Y_ELEM( I , 9 ) -Y_ELEM( I , 7 ) ) /2+Y_ELEM( I , 7 ) ;

38 Y_ELEM( I , 5 ) = (Y_ELEM( I , 6 ) -Y_ELEM( I , 4 ) ) /2+Y_ELEM( I , 4 ) ;

39
40 Z_ELEM( I , 1 ) = ELEM( I , 9 ) ;

41 Z_ELEM( I , 3 ) = ELEM( I , 1 0 ) ;

42 Z_ELEM( I , 7 ) = ELEM( I , 1 1 ) ;

43 Z_ELEM( I , 9 ) = ELEM( I , 1 2 ) ;

44 Z_ELEM( I , 2 ) = (Z_ELEM( I , 3 ) -Z_ELEM( I , 1 ) ) /2+Z_ELEM( I , 1 ) ;

51
45 Z_ELEM( I , 4 ) = 3 * (Z_ELEM( I , 7 ) -Z_ELEM( I , 1 ) ) /4+Z_ELEM( I , 1 ) ;

46 Z_ELEM( I , 6 ) = 3 * (Z_ELEM( I , 9 ) -Z_ELEM( I , 3 ) ) /4+Z_ELEM( I , 3 ) ;

47 Z_ELEM( I , 8 ) = (Z_ELEM( I , 9 ) -Z_ELEM( I , 7 ) ) /2+Z_ELEM( I , 7 ) ;

48 Z_ELEM( I , 5 ) = (Z_ELEM( I , 6 ) -Z_ELEM( I , 4 ) ) /2+Z_ELEM( I , 4 ) ;

49
50 X( I , 1 ) = 3 * (ELEM( I , 3 ) -ELEM( I , 1 ) ) /4+ELEM( I , 1 ) ;

51 X( I , 2 ) = 3 * (ELEM( I , 4 ) -ELEM( I , 2 ) ) /4+ELEM( I , 2 ) ;

52 Y( I , 1 ) = 3 * (ELEM( I , 7 ) -ELEM( I , 5 ) ) /4+ELEM( I , 5 ) ;

53 Y( I , 2 ) = 3 * (ELEM( I , 8 ) -ELEM( I , 6 ) ) /4+ELEM( I , 6 ) ;

54
55 CONTROL_POINT( I , 3 ) = (HS_VORTEX( I , 5 ) +HS_VORTEX( I , 6 ) ) / 2 ;

56 CONTROL_POINT( I , 1 ) = ...

X( I , 1 ) +(X( I , 2 ) -X( I , 1 ) ) / (HS_VORTEX( I , 6 ) -HS_VORTEX( I , 5 ) ) . . .

57 * (CONTROL_POINT( I , 3 ) -HS_VORTEX( I , 5 ) ) ;

58 CONTROL_POINT( I , 2 ) = ...

Y( I , 1 ) +(Y( I , 2 ) -Y( I , 1 ) ) / (HS_VORTEX( I , 6 ) -HS_VORTEX( I , 5 ) ) . . .

59 * (CONTROL_POINT( I , 3 ) -HS_VORTEX( I , 5 ) ) ;

60 end

61 end

NORMAL_VEL.m

В этой функции вычисляется вектор нормаль элемента аэродинамической


модели.

1 function [ VN,NORM_ELEM] = NORMAL_VEL(ELEM, V_INF ,N_ELEM)

2 %% PREALLOCATION FOR SPEED

3 R_LONG = o n e s (N_ELEM, 3 ) ;

4 R_CROSS = o n e s (N_ELEM, 3 ) ;

5 CROSSPROD_RCRL = o n e s (N_ELEM, 3 ) ;

6 NORM_ELEM = o n e s (N_ELEM, 3 ) ;

7 VN = o n e s (N_ELEM, 1 ) ;

8 %% VECTOR NORMAL CALCULATION

9 I = 1;

10 for I = 1 :N_ELEM

11 R_LONG( I , 1 ) = ELEM( I , 2 ) -ELEM( I , 1 ) ; % COMPONENTE X VECTOR NORMAL AL PLANO

12 R_LONG( I , 2 ) = ELEM( I , 6 ) -ELEM( I , 5 ) ; % COMPONENTE Y VECTOR NORMAL AL PLANO

13 R_LONG( I , 3 ) = ELEM( I , 1 0 ) -ELEM( I , 9 ) ; % COMPONENTE Z VECTOR NORMAL AL PLANO

14 R_CROSS( I , 1 ) = ELEM( I , 3 ) -ELEM( I , 1 ) ; % COMPONENTE X VECTOR NORMAL AL PLANO

15 R_CROSS( I , 2 ) = ELEM( I , 7 ) -ELEM( I , 5 ) ; % COMPONENTE Y VECTOR NORMAL AL PLANO

16 R_CROSS( I , 3 ) = ELEM( I , 1 1 ) -ELEM( I , 9 ) ; % COMPONENTE Z VECTOR NORMAL AL ...

PLANO

17
18 CROSSPROD_RCRL( I , 1 ) = ...

R_CROSS( I , 2 ) *R_LONG( I , 3 ) -R_LONG( I , 2 ) *R_CROSS( I ,3) ; % (RC X RL) x

19 CROSSPROD_RCRL( I , 2 ) = ...

-R_CROSS( I , 1 ) *R_LONG( I , 3 ) +R_LONG( I , 1 ) *R_CROSS( I ,3) ; % (RC X RL) y

20 CROSSPROD_RCRL( I , 3 ) = ...

R_CROSS( I , 1 ) *R_LONG( I , 2 ) -R_LONG( I , 1 ) *R_CROSS( I ,2) ; % (RC X RL) z

21 CROSSPROD_RCRL( I , 4 ) = ...

- s q r t (CROSSPROD_RCRL( I , 1 ) ^2+CROSSPROD_RCRL( I , 2 ) ^2+CROSSPROD_RCRL( I , 3 ) ^ 2 ) ; ...

% a b s (RC X RL)

22
23 NORM_ELEM( I , 1 ) = CROSSPROD_RCRL( I , 1 ) /CROSSPROD_RCRL( I , 4 ) ;

24 NORM_ELEM( I , 2 ) = CROSSPROD_RCRL( I , 2 ) /CROSSPROD_RCRL( I , 4 ) ;

25 NORM_ELEM( I , 3 ) = CROSSPROD_RCRL( I , 3 ) /CROSSPROD_RCRL( I , 4 ) ;

26

52
27 VN( I , 1 ) = V_INF ( 1 , 1 ) *NORM_ELEM( I , 1 ) +V_INF ( 1 , 2 ) *NORM_ELEM( I , 2 )+ . . .

28 V_INF ( 1 , 3 ) NORM_ELEM( I , 3 ) ;
*
29 end

30 end

HSHOE.m

В этой функции вычисляется индуцируемая скорость вихревой рамкой.

1 function [ U , V ,W,INDDOWNWASH_U,INDDOWNWASH_V,INDDOWNWASH_W] = ...

HSHOE( X , Y , Z , X1 , Y1 , Z1 , X2 , Y2 , Z2 , SEMISPAN ,AOA)

2 X3 = 200 *SEMISPAN ;
3 X4 = 200 *SEMISPAN ;
4 Z3 = Z1 ;

5 Z4 = Z2 ;

6 Y3 = X3 * s i n ( d e g t o r a d (AOA) ) ;
7 Y4 = X4 * s i n ( d e g t o r a d (AOA) ) ;
8
9 [ U1 , V1 ,W1] = VORTXL( X , Y , Z , X3 , Y3 , Z3 , X1 , Y1 , Z1 ) ; % VORTEX L

10 [ U2 , V2 ,W2] = VORTXL( X , Y , Z , X1 , Y1 , Z1 , X2 , Y2 , Z2 ) ; % VORTEX C

11 [ U3 , V3 ,W3] = VORTXL( X , Y , Z , X2 , Y2 , Z2 , X4 , Y4 , Z4 ) ; % VORTEX R

12 U = ( U1+U2+U3 ) *1000; % *1000?


13 V = ( V1+V2+V3 ) * 1 0 0 0 ;

14 W = (W1+W2+W3) * 1 0 0 0 ;

15
16 INDDOWNWASH_U = ( U1+U3 )
*1000;
17 INDDOWNWASH_V = ( V1+V3 )
*1000;
18 INDDOWNWASH_W = (W1+W3) * 1 0 0 0 ;

19 end

VORTXL.m

В этой функции вычисляется индуцируемая скорость вихрей.

1 function [ U , V ,W] = VORTXL(X , Y , Z , X1 , Y1 , Z1 , X2 , Y2 , Z2 )

2 %%

3 CROSS_PROD = ones ( 1 , 3 ) ; % X, Y, Z

4 CROSS_PROD( 1 , 1 ) = (Y- Y1 ) * ( Z - Z2 ) - ( Z - Z1 ) * (Y- Y2 ) ; % ( R1 X R2 ) x


5 CROSS_PROD( 1 , 2 ) = - ( X- X1 ) * ( Z - Z2 ) +(Z - Z1 ) * (X- X2 ) ; % ( R1 X R2 ) y

6 CROSS_PROD( 1 , 3 ) = (X- X1 ) * (Y- Y2 ) - ( Y- Y1 ) * (X- X2 ) ; % ( R1 X R2 ) z

7
8 ABS_CROSS_PROD = CROSS_PROD( 1 , 1 ) ^2+CROSS_PROD( 1 , 2 ) ^2+CROSS_PROD( 1 , 3 ) ^ 2 ;

9 %%

10 R0 = s q r t ( ( X2 - X1 ) ^2+(Y2 - Y1 ) ^2+(Z2 - Z1 ) ^ 2 ) ;

11 R1 = s q r t ( ( X- X1 ) ^2+(Y- Y1 ) ^2+(Z - Z1 ) ^ 2 ) ;

12 R2 = s q r t ( ( X- X2 ) ^2+(Y- Y2 ) ^2+(Z - Z2 ) ^ 2 ) ;

13 %% CHECK FOR SINGULAR CONDITIONS

14 TRUNC_ERROR = 0 .000001 ;

15
16 if R1 < TRUNC_ERROR || R2 < TRUNC_ERROR || ABS_CROSS_PROD < TRUNC_ERROR

17 U = 0;

18 V = 0;

19 W = 0;

20 else

53
21 %%

22 DOT_PROD_1 = ( X2 - X1 ) * (X- X1 ) +(Y2 - Y1 ) * (Y- Y1 ) +(Z2 - Z1 ) * ( Z - Z1 ) ; % R0 . R1

23 DOT_PROD_2 = ( X2 - X1 ) * (X- X2 ) +(Y2 - Y1 ) * (Y- Y2 ) +(Z2 - Z1 ) * ( Z - Z2 ) ; % R0 . R2

24 %%

25 K = 1 / 4 / p i /ABS_CROSS_PROD * (DOT_PROD_1/R1 -DOT_PROD_2/R2 ) ;


26
27 U = K CROSS_PROD( 1 , 1 ) ;
*
28 V = K CROSS_PROD( 1 , 2 ) ;
*
29 W = K*CROSS_PROD( 1 , 3 ) ;

30 end

31 end

INTERPOLATION.m

В этой функции проводится линейная интерполяция.

1 function Y = INTERPOLATION( X0 , X1 , Y0 , Y1 , X)

2 Y = Y0+ ( (X- X0 ) / ( X1 - X0 ) ) * ( Y1 - Y0 ) ;
3 end

54
ПРИЛОЖЕНИЕ В
Код построения сетки КЭМ

MESH2APDL.m

В этой функции запускается процесс создания сетки КЭМ и запись сетки


в файл .cdb.

1 function [ CP , D ] = MESH2APDL(ELEM, Y_ELEM_EXT_INT, NZ , NX, Y2APDL)

2 NY_ELEM = 4;

3 %% GENERATION OF THE MESH

4 % GENERATION OF SKIN 'S MESH

5 [ NSKIN , NSKIN_EXT, NSKIN_INT , ESKIN_EXT, ESKIN_INT , DSKIN ] = ...

SKIN_MESH(ELEM, Y_ELEM_EXT_INT, NZ , NX) ;

6 % GENERATION OF BEAMS S MESH '


7 [ EBEAM,NBEAM,DBEAM, POS ] = BEAMS_MESH(NX, NZ , NSKIN_EXT, NSKIN_INT ,NY_ELEM) ;

8 % GENERATION OF RIBS 'S MESH

9 [ NRIB , ERIB ] = RIBS_MESH( NZ , NX,NY_ELEM, NSKIN_EXT, NSKIN_INT , POS) ;

10 %% GENERATION OF NBLOCK AND EBLOCK

11 NBLOCK = [ NSKIN ; NBEAM; NRIB ] ;

12 EBLOCK = [ ESKIN_EXT ; ESKIN_INT ;EBEAM; ERIB ] ;

13 %% DOF

14 D = [ DSKIN ; DBEAM ] ;

15 CP = CONPOIN2APDL(NX, NZ) ;

16 CP = [ CP , Y2APDL ] ;

17 %% GENERATION FILE .CDB

18 fileID = fopen ( 'MAPDL\MATLAB2APDL.cdb' , 'w' ) ;


19
20 fprintf ( fileID , ' /PREP7\ r \ n' ) ;
21 fprintf ( fileID , ' /NOPR\ r \ n' ) ;
22 f p r i n t f ( f i l e I D , ' /TITLE , TEST_0516\ r \ n ' ) ;

23 f p r i n t f ( f i l e I D , 'ANTYPE, 0 \ r \ n ' ) ;

24 f p r i n t f ( f i l e I D , '* IF , _CDRDOFF, EQ, 1 ,THEN ! if s o l i d m o d e l was r e a d i n \ r \ n ' ) ;

25 f p r i n t f ( f i l e I D , '_CDRDOFF= ! reset flag , n u m o f f s a l r e a d y ...

p e r f o r m e d \ r \ n' ) ;

26 f p r i n t f ( f i l e I D , '*ELSE ! offset database for the f o l l o w i n g FE ...

m o d e l \ r \ n' ) ;

27 f p r i n t f ( f i l e I D , 'NUMOFF, NODE, %i \ r \ n ' , l e n g t h (NBLOCK) ) ;

28 f p r i n t f ( f i l e I D , 'NUMOFF, ELEM, ...

%i \ r \ n ' , l e n g t h (EBLOCK) ) ;%+l e n g t h (ECONTA)+l e n g t h (ETARGE) ) ;

29 f p r i n t f ( f i l e I D , 'NUMOFF,MAT , 1 \ r \ n' ) ;

30 f p r i n t f ( f i l e I D , 'NUMOFF, SECN , 2 \ r \ n' ) ;

31 f p r i n t f ( f i l e I D , 'NUMOFF, TYPE, 3 \ r \ n' ) ;

32 f p r i n t f ( f i l e I D , '*ENDIF\ r \ n ' ) ;

33 f p r i n t f ( f i l e I D , '*SET ,_BUTTON , 0 . 0 0 0 0 0 0 0 0 0 0 0 0 \ r \ n' ) ;

34 f p r i n t f ( f i l e I D , '*SET ,_RETURN , 0 . 0 0 0 0 0 0 0 0 0 0 0 0 \ r \ n' ) ;

35 f p r i n t f ( f i l e I D , '*SET , _STATUS , 1 . 0 0 0 0 0 0 0 0 0 0 0 0 \ r \ n' ) ;

36 f p r i n t f ( f i l e I D , '*SET , _UIQR , 1 . 0 0 0 0 0 0 0 0 0 0 0 0 \ r \ n' ) ;

37 f p r i n t f ( f i l e I D , 'DOF, DELETE\ r \ n ' ) ;

38 f p r i n t f ( f i l e I D , 'ET , 1 , 1 8 1 \ r \ n' ) ;

39 f p r i n t f ( f i l e I D , 'KEYOP, 1, 3, 2 \ r \ n' ) ;

40 f p r i n t f ( f i l e I D , 'ET , 2 , 1 8 1 \ r \ n' ) ;

41 f p r i n t f ( f i l e I D , 'KEYOP, 2, 3, 2 \ r \ n' ) ;

42 f p r i n t f ( f i l e I D , 'ET , 3 , 1 8 1 \ r \ n' ) ;

43 f p r i n t f ( f i l e I D , 'KEYOP, 3, 3, 2 \ r \ n' ) ;

44
45 fprintf ( fileID , 'NBLOCK, 6 , SOLID, % 1 0 i , % 1 0 i \ r \ n' , l e n g t h (NBLOCK) , l e n g t h (NBLOCK) ) ;

55
46 fprintf ( fileID , '(3 i9 , 6 e 2 1 . 1 4 e 2 ) \ r \n ') ;
47 formatSpec = '%9 i 0 0%21 . 1 4 e %21 . 1 4 e %21 . 1 4 e \ r \ n ';
48 f p r i n t f ( f i l e I D , f o r m a t S p e c , NBLOCK ) ; '
49 fprintf ( fileID , 'N , R 5 . 3 , LOC, - 1 , \ r \ n' ) ;

50 fprintf ( fileID , 'EBLOCK, 1 9 , SOLID, % 1 0 i , % 1 0 i \ r \ n' , l e n g t h (EBLOCK) , l e n g t h (EBLOCK) ) ;

51 fprintf ( fileID , ' ( 1 9 i 1 0 ) \ r \ n' ) ;

52 % SKIN

53 formatSpec = ' 1 1 1 1 0 0 ...

0 0 4 0%10 i %10 i %10 i %10 i %10 i \ r \ n ';


54 f p r i n t f ( f i l e I D , f o r m a t S p e c , ESKIN_EXT ') ;
55 formatSpec = ' 1 1 1 1 0 0 ...

0 0 4 0%10 i %10 i %10 i %10 i %10 i \ r \ n ';


56 f p r i n t f ( f i l e I D , f o r m a t S p e c , ESKIN_INT ') ;
57 % SPARS

58 formatSpec = ' 1 2 1 2 0 0 ...

0 0 4 0%10 i %10 i %10 i %10 i %10 i \ r \ n ';


59 f p r i n t f ( f i l e I D , f o r m a t S p e c , EBEAM ) ; '
60 % RIBS

61 formatSpec = ' 1 3 1 3 0 0 ...

0 0 4 0%10 i %10 i %10 i %10 i %10 i \ r \ n ';


62 f p r i n t f ( f i l e I D , f o r m a t S p e c , ERIB ') ;
63
64 fprintf ( fileID , ' -1 \ r \n ') ;
65 % B95

66 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 1, 1, 0 .00000000 , \ r \n ') ;


67 fprintf ( fileID , 'MPDATA, R 5 . 0 , 1 ,EX , 1, 1, 72000 . 0 0 0 0 , \ r \n ') ;
68 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 1, 1, 0 .00000000 , \ r \n ') ;
69 fprintf ( fileID , 'MPDATA, R 5 . 0 , 1 ,NUXY, 1, 1, 0 .300000000 , \ r \n ') ;
70 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 1, 1, 0 .00000000 , \ r \n ') ;
71 fprintf ( fileID , 'MPDATA, R 5 . 0 , 1 ,DENS, 1, 1, 2 .780000000E - 0 3 , \ r \n ') ;
72 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 1, 1, 0 .00000000 , \ r \n ') ;
73 fprintf ( fileID , 'MPDATA, R 5 . 0 , 1 ,PRXY, 1, 1, 0 .300000000 , \ r \n ') ;
74 %{

75 % 1163

76 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 2, 1, 0 .00000000 , \ r \n ') ;


77 fprintf ( fileID , 'MPDATA, R 5 . 0 , 2 ,EX , 1, 1, 72000 . 0 0 0 0 , \ r \n ') ;
78 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 2, 1, 0 .00000000 , \ r \n ') ;
79 fprintf ( fileID , 'MPDATA, R 5 . 0 , 2 ,NUXY, 1, 1, 0 .300000000 , \ r \n ') ;
80 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 2, 1, 0 .00000000 , \ r \n ') ;
81 fprintf ( fileID , 'MPDATA, R 5 . 0 , 2 ,DENS, 1, 1, 2 . 7 8 0 0 0 0 0 0 0 E - 0 3 , \ r \n ') ;
82 fprintf ( fileID , 'MPTEMP, R 5 . 0 , 2, 1, 0 .00000000 , \ r \n ') ;
83 fprintf ( fileID , 'MPDATA, R 5 . 0 , 2 ,PRXY, 1, 1, 0 .300000000 , \ r \n ') ;
84 %}

85 % SKIN 'S THICKNESS

86 fprintf ( fileID , 'SECTYPE, 1 , SHELL , , SKIN \ r \n ') ;


87 fprintf ( fileID , 'SECOFFSET, MID\ r \ n' ) ;
88 fprintf ( fileID , 'SECBLOCK, 1 \ r \ n' ) ;

89 fprintf ( fileID ,' 3 .000000 , 1, 0 .000000 , 3\ r \n ') ;


90 fprintf ( fileID , 'SECCONTROL, 0 .0000 , 0 .0000 , 0 .0000 , 0 .0000 ...

, 1 .0000 , 1 .0000 , 1 .0000 , 1 .0000 , , , , 0 .0000 ...

\ r \n ') ;
91 % SPAR S ' THICKNESS

92 fprintf ( fileID , 'SECTYPE, 2 , SHELL , ,BEAM \ r \n ') ;


93 fprintf ( fileID , 'SECOFFSET, MID\ r \ n' ) ;
94 fprintf ( fileID , 'SECBLOCK, 1 \ r \ n' ) ;

95 fprintf ( fileID ,' 10 . 0 0 0 0 0 0 , 1, 0 .000000 , 3\ r \n ') ;


96 fprintf ( fileID , 'SECCONTROL, 0 .0000 , 0 .0000 , 0 .0000 , 0 .0000 ...

, 1 .0000 , 1 .0000 , 1 .0000 , 1 .0000 , , , , 0 .0000 ...

\ r \n ') ;
97 % RIB 'S THICKNESS

56
98 fprintf ( fileID , 'SECTYPE, 3 , SHELL , ,BEAM \ r \n ') ;
99 fprintf ( fileID , 'SECOFFSET, MID\ r \ n' ) ;
100 fprintf ( fileID , 'SECBLOCK, 1 \ r \ n' ) ;

101 fprintf ( fileID ,' 0 .500000 , 1, 0 .000000 , 3\ r \n ') ;


102 fprintf ( fileID , 'SECCONTROL, 0 .0000 , 0 .0000 , 0 .0000 , 0 .0000 ...

, 1 .0000 , 1 .0000 , 1 .0000 , 1 .0000 , , , , 0 .0000 ...

\ r \n ') ;
103
104
105 fprintf ( fileID , 'EXTOPT, ATTR, 0, 0, 0 \ r \ n' ) ;

106 fprintf ( fileID , 'EXTOPT, ESIZE , 0 , 0 . 0 0 0 0 \ r \ n' ) ;

107 f p r i n t f ( f i l e I D , 'EXTOPT, ACLEAR, 0 \ r \ n' ) ;

108 f p r i n t f ( f i l e I D , 'TREF, 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

109 f p r i n t f ( f i l e I D , 'IRLF , 0 \ r \ n' ) ;

110 f p r i n t f ( f i l e I D , 'BFUNIF , TEMP, _TINY\ r \ n ' ) ;

111 f p r i n t f ( f i l e I D , 'ACEL, 0 .00000000 , 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

112 f p r i n t f ( f i l e I D , 'OMEGA, 0 .00000000 , 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

113 f p r i n t f ( f i l e I D , 'DOMEGA, 0 .00000000 , 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

114 f p r i n t f ( f i l e I D , 'CGLOC, 0 .00000000 , 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

115 f p r i n t f ( f i l e I D , 'CGOMEGA, 0 .00000000 , 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

116 f p r i n t f ( f i l e I D , 'DCGOMG, 0 .00000000 , 0 .00000000 , ...

0 . 0 0 0 0 0 0 0 0 \ r \ n \ r \ n' ) ;

117
118 fprintf ( fileID , 'KUSE, 0 \ r \ n' ) ;

119 fprintf ( fileID , 'TIME , 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;


120 fprintf ( fileID , 'ALPHAD, 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

121 fprintf ( fileID , 'BETAD, 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

122 fprintf ( fileID , 'DMPRAT, 0 . 0 0 0 0 0 0 0 0 \ r \ n' ) ;

123 fprintf ( fileID , 'DMPSTR, 0 . 0 0 0 0 0 0 0 0 \ r \ n \ r \ n' ) ;

124
125 fprintf ( fileID , 'CRPLIM, 0 . 1 0 0 0 0 0 0 0 0 , 0\ r \n ') ;
126 fprintf ( fileID , 'CRPLIM, 0 . 0 0 0 0 0 0 0 0 , 1\ r \n ') ;
127 f p r i n t f ( f i l e I D , 'NCNV, 1, 0 .00000000 , 0, 0 .00000000 , ...

0 . 0 0 0 0 0 0 0 0 \ r \ n \ r \ n' ) ;

128
129 fprintf ( fileID , 'NEQIT , 0\ r \n\ r \n ') ;
130
131 fprintf ( fileID , 'ERESX, DEFA\ r \ n' ) ;
132 fprintf ( fileID , 'D,%7 i , UX , 0 . 0 0 0 0 0 0 0 0 , 0 . 0 0 0 0 0 0 0 0 \ r \n' ,D' ) ;
133 fprintf ( fileID , 'D,%7 i , UY , 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \n' ,D' ) ;
134 fprintf ( fileID , 'D,%7 i , UZ , 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n ' ,D' ) ;

135 fprintf ( fileID , 'D,%7 i , ROTX, 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n ' ,D' ) ;

136 fprintf ( fileID , 'D,%7 i , ROTY, 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n ' ,D' ) ;

137 fprintf ( fileID , 'D,%7 i , ROTZ, 0 .00000000 , 0 . 0 0 0 0 0 0 0 0 \ r \ n ' ,D' ) ;

138 formatSpec = 'F,%7 i , FY , %10d , 0 . 0 0 0 0 0 0 0 0 \ r \ n' ;

139 ') ;
f p r i n t f ( f i l e I D , f o r m a t S p e c , CP

140 fprintf ( fileID , ' /GO\ r \ n' ) ;


141 fprintf ( fileID , 'FINISH \ r \ n' ) ;
142 fclose ( fileID ) ;

143 end

57
SKIN_MESH.m

В этой функции строится сетка обшивки.

1 function [ NSKIN , NSKIN_EXT, NSKIN_INT , ESKIN_EXT, ESKIN_INT , DSKIN ] = ...

SKIN_MESH(ELEM, Y_ELEM_EXT_INT, NZ , NX)

2 N_ELEM = NZ * (NX- 1 ) ;

3 %% GENERATION OF THE NODES

4 % PREALLOCATION FOR SPEED

5 X_ELEM = o n e s (N_ELEM, 9 ) ;

6 Z_ELEM = o n e s (N_ELEM, 9 ) ;

7
8 Y_ELEM_EXT = o n e s (N_ELEM, 9 ) ;

9 Y_ELEM_INT = o n e s (N_ELEM, 9 ) ;

10 % GENERATION OF CENTER AND EDGE ELEMENTS NODES

11 for I = 1 :N_ELEM

12 X_ELEM( I , 1 ) = ELEM( I , 1 ) ;

13 X_ELEM( I , 5 ) = ELEM( I , 2 ) ;

14 X_ELEM( I , 2 1 ) = ELEM( I , 3 ) ;

15 X_ELEM( I , 2 5 ) = ELEM( I , 4 ) ;

16 X_ELEM( I , 2 ) = (X_ELEM( I , 5 ) -X_ELEM( I , 1 ) ) /4+X_ELEM( I , 1 ) ;

17 X_ELEM( I , 3 ) = (X_ELEM( I , 5 ) -X_ELEM( I , 1 ) ) /2+X_ELEM( I , 1 ) ;

18 X_ELEM( I , 4 ) = 3 * (X_ELEM( I , 5 ) -X_ELEM( I , 1 ) ) /4+X_ELEM( I , 1 ) ;

19 X_ELEM( I , 2 2 ) = (X_ELEM( I , 2 5 ) -X_ELEM( I , 2 1 ) ) /4+X_ELEM( I , 2 1 ) ;

20 X_ELEM( I , 2 3 ) = (X_ELEM( I , 2 5 ) -X_ELEM( I , 2 1 ) ) /2+X_ELEM( I , 2 1 ) ;

21 X_ELEM( I , 2 4 ) = 3 * (X_ELEM( I , 2 5 ) -X_ELEM( I , 2 1 ) ) /4+X_ELEM( I , 2 1 ) ;

22 X_ELEM( I , 6 ) = (X_ELEM( I , 2 1 ) -X_ELEM( I , 1 ) ) /4+X_ELEM( I , 1 ) ;

23 X_ELEM( I , 1 1 ) = (X_ELEM( I , 2 1 ) -X_ELEM( I , 1 ) ) /2+X_ELEM( I , 1 ) ;

24 X_ELEM( I , 1 6 ) = 3 * (X_ELEM( I , 2 1 ) -X_ELEM( I , 1 ) ) /4+X_ELEM( I , 1 ) ;

25 X_ELEM( I , 1 0 ) = (X_ELEM( I , 2 5 ) -X_ELEM( I , 5 ) ) /4+X_ELEM( I , 5 ) ;

26 X_ELEM( I , 1 5 ) = (X_ELEM( I , 2 5 ) -X_ELEM( I , 5 ) ) /2+X_ELEM( I , 5 ) ;

27 X_ELEM( I , 2 0 ) = 3 * (X_ELEM( I , 2 5 ) -X_ELEM( I , 5 ) ) /4+X_ELEM( I , 5 ) ;

28 X_ELEM( I , 7 ) = (X_ELEM( I , 1 0 ) -X_ELEM( I , 6 ) ) /4+X_ELEM( I , 6 ) ;

29 X_ELEM( I , 8 ) = (X_ELEM( I , 1 0 ) -X_ELEM( I , 6 ) ) /2+X_ELEM( I , 6 ) ;

30 X_ELEM( I , 9 ) = 3 * (X_ELEM( I , 1 0 ) -X_ELEM( I , 6 ) ) /4+X_ELEM( I , 6 ) ;

31 X_ELEM( I , 1 2 ) = (X_ELEM( I , 1 5 ) -X_ELEM( I , 1 1 ) ) /4+X_ELEM( I , 1 1 ) ;

32 X_ELEM( I , 1 3 ) = (X_ELEM( I , 1 5 ) -X_ELEM( I , 1 1 ) ) /2+X_ELEM( I , 1 1 ) ;

33 X_ELEM( I , 1 4 ) = 3 * (X_ELEM( I , 1 5 ) -X_ELEM( I , 1 1 ) ) /4+X_ELEM( I , 1 1 ) ;

34 X_ELEM( I , 1 7 ) = (X_ELEM( I , 2 0 ) -X_ELEM( I , 1 6 ) ) /4+X_ELEM( I , 1 6 ) ;

35 X_ELEM( I , 1 8 ) = (X_ELEM( I , 2 0 ) -X_ELEM( I , 1 6 ) ) /2+X_ELEM( I , 1 6 ) ;

36 X_ELEM( I , 1 9 ) = 3 * (X_ELEM( I , 2 0 ) -X_ELEM( I , 1 6 ) ) /4+X_ELEM( I , 1 6 ) ;

37
38 Z_ELEM( I , 1 ) = ELEM( I , 9 ) ;

39 Z_ELEM( I , 5 ) = ELEM( I , 1 0 ) ;

40 Z_ELEM( I , 2 1 ) = ELEM( I , 1 1 ) ;

41 Z_ELEM( I , 2 5 ) = ELEM( I , 1 2 ) ;

42 Z_ELEM( I , 2 ) = (Z_ELEM( I , 5 ) -Z_ELEM( I , 1 ) ) /4+Z_ELEM( I , 1 ) ;

43 Z_ELEM( I , 3 ) = (Z_ELEM( I , 5 ) -Z_ELEM( I , 1 ) ) /2+Z_ELEM( I , 1 ) ;

44 Z_ELEM( I , 4 ) = 3 * (Z_ELEM( I , 5 ) -Z_ELEM( I , 1 ) ) /4+Z_ELEM( I , 1 ) ;

45 Z_ELEM( I , 2 2 ) = (Z_ELEM( I , 2 5 ) -Z_ELEM( I , 2 1 ) ) /4+Z_ELEM( I , 2 1 ) ;

46 Z_ELEM( I , 2 3 ) = (Z_ELEM( I , 2 5 ) -Z_ELEM( I , 2 1 ) ) /2+Z_ELEM( I , 2 1 ) ;

47 Z_ELEM( I , 2 4 ) = 3 * (Z_ELEM( I , 2 5 ) -Z_ELEM( I , 2 1 ) ) /4+Z_ELEM( I , 2 1 ) ;

48 Z_ELEM( I , 6 ) = (Z_ELEM( I , 2 1 ) -Z_ELEM( I , 1 ) ) /4+Z_ELEM( I , 1 ) ;

49 Z_ELEM( I , 1 1 ) = (Z_ELEM( I , 2 1 ) -Z_ELEM( I , 1 ) ) /2+Z_ELEM( I , 1 ) ;

50 Z_ELEM( I , 1 6 ) = 3 * (Z_ELEM( I , 2 1 ) -Z_ELEM( I , 1 ) ) /4+Z_ELEM( I , 1 ) ;

51 Z_ELEM( I , 1 0 ) = (Z_ELEM( I , 2 5 ) -Z_ELEM( I , 5 ) ) /4+Z_ELEM( I , 5 ) ;

52 Z_ELEM( I , 1 5 ) = (Z_ELEM( I , 2 5 ) -Z_ELEM( I , 5 ) ) /2+Z_ELEM( I , 5 ) ;

53 Z_ELEM( I , 2 0 ) = 3 * (Z_ELEM( I , 2 5 ) -Z_ELEM( I , 5 ) ) /4+Z_ELEM( I , 5 ) ;

54 Z_ELEM( I , 7 ) = (Z_ELEM( I , 1 0 ) -Z_ELEM( I , 6 ) ) /4+Z_ELEM( I , 6 ) ;

58
55 Z_ELEM( I , 8 ) = (Z_ELEM( I , 1 0 ) -Z_ELEM( I , 6 ) ) /2+Z_ELEM( I , 6 ) ;

56 Z_ELEM( I , 9 ) = 3 * (Z_ELEM( I , 1 0 ) -Z_ELEM( I , 6 ) ) /4+Z_ELEM( I , 6 ) ;

57 Z_ELEM( I , 1 2 ) = (Z_ELEM( I , 1 5 ) -Z_ELEM( I , 1 1 ) ) /4+Z_ELEM( I , 1 1 ) ;

58 Z_ELEM( I , 1 3 ) = (Z_ELEM( I , 1 5 ) -Z_ELEM( I , 1 1 ) ) /2+Z_ELEM( I , 1 1 ) ;

59 Z_ELEM( I , 1 4 ) = 3 * (Z_ELEM( I , 1 5 ) -Z_ELEM( I , 1 1 ) ) /4+Z_ELEM( I , 1 1 ) ;

60 Z_ELEM( I , 1 7 ) = (Z_ELEM( I , 2 0 ) -Z_ELEM( I , 1 6 ) ) /4+Z_ELEM( I , 1 6 ) ;

61 Z_ELEM( I , 1 8 ) = (Z_ELEM( I , 2 0 ) -Z_ELEM( I , 1 6 ) ) /2+Z_ELEM( I , 1 6 ) ;

62 Z_ELEM( I , 1 9 ) = 3 * (Z_ELEM( I , 2 0 ) -Z_ELEM( I , 1 6 ) ) /4+Z_ELEM( I , 1 6 ) ;

63
64 % EXTRADOS AND INTRADOS

65 %

66 Y_ELEM_EXT( I , 1 ) = Y_ELEM_EXT_INT( I , 1 ) ;

67 Y_ELEM_EXT( I , 5 ) = Y_ELEM_EXT_INT( I , 2 ) ;

68 Y_ELEM_EXT( I , 2 1 ) = Y_ELEM_EXT_INT( I , 3 ) ;

69 Y_ELEM_EXT( I , 2 5 ) = Y_ELEM_EXT_INT( I , 4 ) ;

70 Y_ELEM_EXT( I , 2 ) = (Y_ELEM_EXT( I , 5 ) -Y_ELEM_EXT( I , 1 ) ) ...

/4+Y_ELEM_EXT( I , 1 ) ;

71 Y_ELEM_EXT( I , 3 ) = (Y_ELEM_EXT( I , 5 ) -Y_ELEM_EXT( I , 1 ) ) ...

/2+Y_ELEM_EXT( I , 1 ) ;

72 Y_ELEM_EXT( I , 4 ) = 3 * (Y_ELEM_EXT( I , 5 ) -Y_ELEM_EXT( I , 1 ) ) ...

/4+Y_ELEM_EXT( I , 1 ) ;

73 Y_ELEM_EXT( I , 2 2 ) = ...

(Y_ELEM_EXT( I , 2 5 ) -Y_ELEM_EXT( I , 2 1 ) ) /4+Y_ELEM_EXT( I , 2 1 ) ;

74 Y_ELEM_EXT( I , 2 3 ) = ...

(Y_ELEM_EXT( I , 2 5 ) -Y_ELEM_EXT( I , 2 1 ) ) /2+Y_ELEM_EXT( I , 2 1 ) ;

75 Y_ELEM_EXT( I , 2 4 ) = ...

3 * (Y_ELEM_EXT( I , 2 5 ) -Y_ELEM_EXT( I , 2 1 ) ) /4+Y_ELEM_EXT( I , 2 1 ) ;

76 Y_ELEM_EXT( I , 6 ) = (Y_ELEM_EXT( I , 2 1 ) -Y_ELEM_EXT( I , 1 ) ) ...

/4+Y_ELEM_EXT( I , 1 ) ;

77 Y_ELEM_EXT( I , 1 1 ) = (Y_ELEM_EXT( I , 2 1 ) -Y_ELEM_EXT( I , 1 ) ) ...

/2+Y_ELEM_EXT( I , 1 ) ;

78 Y_ELEM_EXT( I , 1 6 ) = 3 * (Y_ELEM_EXT( I , 2 1 ) -Y_ELEM_EXT( I , 1 ) ) ...

/4+Y_ELEM_EXT( I , 1 ) ;

79 Y_ELEM_EXT( I , 1 0 ) = (Y_ELEM_EXT( I , 2 5 ) -Y_ELEM_EXT( I , 5 ) ) ...

/4+Y_ELEM_EXT( I , 5 ) ;

80 Y_ELEM_EXT( I , 1 5 ) = (Y_ELEM_EXT( I , 2 5 ) -Y_ELEM_EXT( I , 5 ) ) ...

/2+Y_ELEM_EXT( I , 5 ) ;

81 Y_ELEM_EXT( I , 2 0 ) = 3 * (Y_ELEM_EXT( I , 2 5 ) -Y_ELEM_EXT( I , 5 ) ) ...

/4+Y_ELEM_EXT( I , 5 ) ;

82 Y_ELEM_EXT( I , 7 ) = (Y_ELEM_EXT( I , 1 0 ) -Y_ELEM_EXT( I , 6 ) ) ...

/4+Y_ELEM_EXT( I , 6 ) ;

83 Y_ELEM_EXT( I , 8 ) = (Y_ELEM_EXT( I , 1 0 ) -Y_ELEM_EXT( I , 6 ) ) ...

/2+Y_ELEM_EXT( I , 6 ) ;

84 Y_ELEM_EXT( I , 9 ) = 3 * (Y_ELEM_EXT( I , 1 0 ) -Y_ELEM_EXT( I , 6 ) ) ...

/4+Y_ELEM_EXT( I , 6 ) ;

85 Y_ELEM_EXT( I , 1 2 ) = ...

(Y_ELEM_EXT( I , 1 5 ) -Y_ELEM_EXT( I , 1 1 ) ) /4+Y_ELEM_EXT( I , 1 1 ) ;

86 Y_ELEM_EXT( I , 1 3 ) = ...

(Y_ELEM_EXT( I , 1 5 ) -Y_ELEM_EXT( I , 1 1 ) ) /2+Y_ELEM_EXT( I , 1 1 ) ;

87 Y_ELEM_EXT( I , 1 4 ) = ...

3 * (Y_ELEM_EXT( I , 1 5 ) -Y_ELEM_EXT( I , 1 1 ) ) /4+Y_ELEM_EXT( I , 1 1 ) ;

88 Y_ELEM_EXT( I , 1 7 ) = ...

(Y_ELEM_EXT( I , 2 0 ) -Y_ELEM_EXT( I , 1 6 ) ) /4+Y_ELEM_EXT( I , 1 6 ) ;

89 Y_ELEM_EXT( I , 1 8 ) = ...

(Y_ELEM_EXT( I , 2 0 ) -Y_ELEM_EXT( I , 1 6 ) ) /2+Y_ELEM_EXT( I , 1 6 ) ;

90 Y_ELEM_EXT( I , 1 9 ) = ...

3 * (Y_ELEM_EXT( I , 2 0 ) -Y_ELEM_EXT( I , 1 6 ) ) /4+Y_ELEM_EXT( I , 1 6 ) ;

91 %

92 Y_ELEM_INT( I , 1 ) = Y_ELEM_EXT_INT( I , 5 ) ;

93 Y_ELEM_INT( I , 5 ) = Y_ELEM_EXT_INT( I , 6 ) ;

59
94 Y_ELEM_INT( I , 2 1 ) = Y_ELEM_EXT_INT( I , 7 ) ;

95 Y_ELEM_INT( I , 2 5 ) = Y_ELEM_EXT_INT( I , 8 ) ;

96 Y_ELEM_INT( I , 2 ) = (Y_ELEM_INT( I , 5 ) -Y_ELEM_INT( I , 1 ) ) ...

/4+Y_ELEM_INT( I , 1 ) ;

97 Y_ELEM_INT( I , 3 ) = (Y_ELEM_INT( I , 5 ) -Y_ELEM_INT( I , 1 ) ) ...

/2+Y_ELEM_INT( I , 1 ) ;

98 Y_ELEM_INT( I , 4 ) = 3 * (Y_ELEM_INT( I , 5 ) -Y_ELEM_INT( I , 1 ) ) ...

/4+Y_ELEM_INT( I , 1 ) ;

99 Y_ELEM_INT( I , 2 2 ) = ...

(Y_ELEM_INT( I , 2 5 ) -Y_ELEM_INT( I , 2 1 ) ) /4+Y_ELEM_INT( I , 2 1 ) ;

100 Y_ELEM_INT( I , 2 3 ) = ...

(Y_ELEM_INT( I , 2 5 ) -Y_ELEM_INT( I , 2 1 ) ) /2+Y_ELEM_INT( I , 2 1 ) ;

101 Y_ELEM_INT( I , 2 4 ) = ...

3 * (Y_ELEM_INT( I , 2 5 ) -Y_ELEM_INT( I , 2 1 ) ) /4+Y_ELEM_INT( I , 2 1 ) ;

102 Y_ELEM_INT( I , 6 ) = (Y_ELEM_INT( I , 2 1 ) -Y_ELEM_INT( I , 1 ) ) ...

/4+Y_ELEM_INT( I , 1 ) ;

103 Y_ELEM_INT( I , 1 1 ) = (Y_ELEM_INT( I , 2 1 ) -Y_ELEM_INT( I , 1 ) ) ...

/2+Y_ELEM_INT( I , 1 ) ;

104 Y_ELEM_INT( I , 1 6 ) = 3 * (Y_ELEM_INT( I , 2 1 ) -Y_ELEM_INT( I , 1 ) ) ...

/4+Y_ELEM_INT( I , 1 ) ;

105 Y_ELEM_INT( I , 1 0 ) = (Y_ELEM_INT( I , 2 5 ) -Y_ELEM_INT( I , 5 ) ) ...

/4+Y_ELEM_INT( I , 5 ) ;

106 Y_ELEM_INT( I , 1 5 ) = (Y_ELEM_INT( I , 2 5 ) -Y_ELEM_INT( I , 5 ) ) ...

/2+Y_ELEM_INT( I , 5 ) ;

107 Y_ELEM_INT( I , 2 0 ) = 3 * (Y_ELEM_INT( I , 2 5 ) -Y_ELEM_INT( I , 5 ) ) ...

/4+Y_ELEM_INT( I , 5 ) ;

108 Y_ELEM_INT( I , 7 ) = (Y_ELEM_INT( I , 1 0 ) -Y_ELEM_INT( I , 6 ) ) ...

/4+Y_ELEM_INT( I , 6 ) ;

109 Y_ELEM_INT( I , 8 ) = (Y_ELEM_INT( I , 1 0 ) -Y_ELEM_INT( I , 6 ) ) ...

/2+Y_ELEM_INT( I , 6 ) ;

110 Y_ELEM_INT( I , 9 ) = 3 * (Y_ELEM_INT( I , 1 0 ) -Y_ELEM_INT( I , 6 ) ) ...

/4+Y_ELEM_INT( I , 6 ) ;

111 Y_ELEM_INT( I , 1 2 ) = ...

(Y_ELEM_INT( I , 1 5 ) -Y_ELEM_INT( I , 1 1 ) ) /4+Y_ELEM_INT( I , 1 1 ) ;

112 Y_ELEM_INT( I , 1 3 ) = ...

(Y_ELEM_INT( I , 1 5 ) -Y_ELEM_INT( I , 1 1 ) ) /2+Y_ELEM_INT( I , 1 1 ) ;

113 Y_ELEM_INT( I , 1 4 ) = ...

3 * (Y_ELEM_INT( I , 1 5 ) -Y_ELEM_INT( I , 1 1 ) ) /4+Y_ELEM_INT( I , 1 1 ) ;

114 Y_ELEM_INT( I , 1 7 ) = ...

(Y_ELEM_INT( I , 2 0 ) -Y_ELEM_INT( I , 1 6 ) ) /4+Y_ELEM_INT( I , 1 6 ) ;

115 Y_ELEM_INT( I , 1 8 ) = ...

(Y_ELEM_INT( I , 2 0 ) -Y_ELEM_INT( I , 1 6 ) ) /2+Y_ELEM_INT( I , 1 6 ) ;

116 Y_ELEM_INT( I , 1 9 ) = ...

3 * (Y_ELEM_INT( I , 2 0 ) -Y_ELEM_INT( I , 1 6 ) ) /4+Y_ELEM_INT( I , 1 6 ) ;

117 end

118 % REORDERING OF SKIN NODES

119 K = 0;

120 for J = 1 : NZ

121 for I = 1 : NX- 1

122 for ROW = 1:5

123 % MIDDLE PLAIN

124 K = K+ 1 ;

125 CUR_NZ = NZ *( I -1) ;

126 CUR_ROW = 5 ROW; *


127
128 NODE_X_TRANS = X_ELEM(1+CUR_NZ: NZ+CUR_NZ, - 4 +CUR_ROW:CUR_ROW) ;

129 NODE_X_TRANS = NODE_X_TRANS ';


130 NODES_X(K , : ) = r e s h a p e (NODE_X_TRANS, 1 , NZ *5) ;
131
132 NODE_Z_TRANS = Z_ELEM(1+CUR_NZ: NZ+CUR_NZ, - 4 +CUR_ROW:CUR_ROW) ;

60
133 NODE_Z_TRANS = NODE_Z_TRANS ';
134 NODES_Z(K , : ) = r e s h a p e (NODE_Z_TRANS, 1 , NZ *5) ;
135 % INTRADOS AND EXTRADOS

136 NODE_Y_EXT_TRANS = ...

Y_ELEM_EXT(1+CUR_NZ: NZ+CUR_NZ, - 4 +CUR_ROW:CUR_ROW) ;

137 NODE_Y_EXT_TRANS = NODE_Y_EXT_TRANS ';


138 NODES_Y_EXT(K , : ) = r e s h a p e (NODE_Y_EXT_TRANS, 1 , NZ *5) ;
139
140 NODE_Y_INT_TRANS = ...

Y_ELEM_INT(1+CUR_NZ: NZ+CUR_NZ, - 4 +CUR_ROW:CUR_ROW) ;

141 NODE_Y_INT_TRANS = NODE_Y_INT_TRANS ';


142 NODES_Y_INT(K , : ) = r e s h a p e (NODE_Y_INT_TRANS, 1 , NZ *5) ;
143 %}

144 end

145 end

146 end

147 % MIDDLE PLAIN

148 NODES_X = NODES_X ';


149 NODES_X = r e s h a p e (NODES_X, 1 ,N_ELEM NZ * *25) ;
150 NODES_Z = NODES_Z ';
151 NODES_Z = r e s h a p e (NODES_Z, 1 ,N_ELEM NZ * *25) ;
152
153 % EXTRADOS AND INTRADOS

154 NODES_Y_EXT = NODES_Y_EXT ';


155 NODES_Y_EXT = r e s h a p e (NODES_Y_EXT, 1 ,N_ELEM NZ * *25) ;
156 NSKIN_EXT = [ NODES_X ' NODES_Y_EXT ' NODES_Z '];
157
158 NODES_Y_INT = NODES_Y_INT ';
159 NODES_Y_INT = r e s h a p e (NODES_Y_INT, 1 ,N_ELEM NZ * *25) ;
160 NSKIN_INT = [ NODES_X ' NODES_Y_INT ' NODES_Z '];
161
162 % ELIMINATION OF REPETITIVE NODES

163 NSKIN_EXT = u n i q u e (NSKIN_EXT, ' s t a b l e ' , 'rows' ) ;


164 NSKIN_INT = u n i q u e ( NSKIN_INT , ' s t a b l e ' , 'rows' ) ;
165 NSKIN = [ NSKIN_EXT ; NSKIN_INT ] ;

166 %}

167 ID = l i n s p a c e ( 1 , l e n g t h ( NSKIN ) , l e n g t h ( NSKIN ) ) ;

168 NSKIN = [ ID ' NSKIN ] ;

169 NZ_AMP = (NZ*4) +1;


170 NX_AMP = (NX* 4 ) - 3 ;

171 %% CONSTRAINTS

172 DSKIN = z e r o s (NX_AMP *2 ,1) ;


173
174 K = 1;

175 for I = 1 :NX_AMP

176 for J = 1:1

177 DSKIN (K, 1 ) = NSKIN(1+NZ_AMP *( I -1) ,1) ;

178 DSKIN (K+NX_AMP, 1 ) = NSKIN(1+NZ_AMP *( I - 1 ) +NZ_AMP NX_AMP, 1 ) ;


*
179 K = K+ 1 ;

180 end

181 end

182 N_AMP = NZ_AMP NX_AMP; *


183 E_AMP = N_ELEM *16;
184 %% GENERATION OF THE ELEMENTS

185 ESKIN_EXT = z e r o s (E_AMP, 5 ) ;

186 ESKIN_INT = z e r o s (E_AMP, 5 ) ;

187
188 K = 1; L = 0; % K REUSED

189 for I = 1 : ( NX- 1 ) *4


190 for J = 1 : NZ*4

61
191 A = K;

192 B = K+ 1 ;

193 C = K+NZ *4+2;


194 D = K+NZ *4+1;
195
196 L = L+ 1 ;

197 ESKIN_EXT( L , : ) = [ L , NSKIN (A , 1 ) , NSKIN ( B , 1 ) , NSKIN ( C , 1 ) , NSKIN (D, 1 ) ] ;

198 ESKIN_INT ( L , : ) = ...

[ L+E_AMP, NSKIN (A+N_AMP, 1 ) , NSKIN (B+N_AMP, 1 ) , NSKIN (C+N_AMP, 1 ) . . .

199 , NSKIN (D+N_AMP, 1 ) ] ;

200
201 K = K+ 1 ;

202 end

203 K = K+ 1 ;

204 end

205 end

BEAMS_MESH.m

В этой функции строится сетка лонжеронов.

1 function [ EBEAM,NBEAM,DBEAM, POS ] = ...

BEAMS_MESH(NX, NZ , NSKIN_EXT, NSKIN_INT ,NY_ELEM)

2 N_ELEM = NZ * (NX- 1 ) ;

3
4 NZ_AMP = NZ *4+1;
5 NY = NY_ELEM+ 1 ;

6
7 %POS = [3 5 9 13];

8 %POS = [3 8 13];

9 %POS = [5 11];

10 %POS = 6;

11 POS = [3 8];

12
13 ID_BEAM = z e r o s ( l e n g t h (POS) ,NZ_AMP) ;

14
15 for I = 1 : l e n g t h (POS)

16 ID_BEAM( I , : ) = 1+NZ_AMP* (POS ( 1 , I ) * 4 - 2 ) :NZ_AMP* (POS ( 1 , I ) * 4 - 1 ) ;

17 NROD_EXT( : , 3 * I - 2 : 3 * I ) = NSKIN_EXT(ID_BEAM( I , : ) , : ) ;
18 NROD_INT( : , 3 * I - 2 : 3 * I ) = NSKIN_INT (ID_BEAM( I , : ) , : ) ;

19 NBEAM( 1 :NZ_AMP, 3 * I - 2 : 3 * I ) = NROD_EXT( : , 3 * I - 2 : 3 * I ) ;

20 NBEAM(1+NZ_AMP* (NY- 1 ) :NZ_AMP*NY, 3 * I - 2 : 3 * I ) = NROD_INT( : , 3 * I - 2 : 3 * I ) ;

21 H_BEAM( : , 3 * I - 2 : 3 * I ) = (NBEAM(1+NZ_AMP* ( 1 - 1 ) :NZ_AMP* 1 , 3 * I - 2 : 3 * I ) - . . .

22 NBEAM(1+NZ_AMP* (NY- 1 ) :NZ_AMP*NY, 3 * I - 2 : 3 * I ) ) /NY_ELEM;

23 for J = 2 : NY- 1

24 NBEAM(1+NZ_AMP * ( J - 1 ) :NZ_AMP*J , 3 * I - 2 : 3 * I ) = ...

NBEAM( 1 :NZ_AMP, 3 * I -2:3* I ) - . . .


25 H_BEAM( : , 3 * I - 2 : 3 * I ) * ( J - 1 ) ;

26 end

27 end

28 for I = 1 : l e n g t h (POS)

29 NBEAMN(1+NZ_AMP NY * *( I - 1 ) :NZ_AMP NY
* *I ,:) = NBEAM( : , 3 * I -2:3* I ) ;
30 end

31 NBEAM = NBEAMN;

32
33 ID = l i n s p a c e ( 1 , l e n g t h (NBEAM) , l e n g t h (NBEAM) ) ;

34 NODSKIN = l e n g t h (NSKIN_EXT) *2;

62
35 NBEAM = '
[ ID +NODSKIN NBEAM ] ;

36 %% CONSTRAINTS

37 DBEAM = z e r o s ( l e n g t h (POS) *NY, 1 ) ;

38
39 NWEB = NY NZ_AMP; *
40 L = 1;

41 for I = 1 : l e n g t h (POS)

42 for J = 1 :NY

43 for K = 1:1

44 DBEAM( L , 1 ) = NBEAM(K+NZ_AMP * ( J - 1 )+NWEB* ( I -1) ,1) ;

45 L = L+ 1 ;

46 end

47 end

48 end

49 %% GENERATION OF THE ELEMENTS

50 EWEB = (NZ_AMP- 1 ) *NY_ELEM;


51 N_ELEM_AMP = N_ELEM *16; % BUSCAR USO ! ! !

52
53 EBEAM = z e r o s (EWEB * l e n g t h (POS) ,5) ;

54
55 M = 0;

56 for I = 1 : l e n g t h (POS)

57 L = 1;

58 for J = 1 :NY_ELEM

59 for K = 1 : NZ*4
60 A = L;

61 B = L+ 1 ;

62 C = L+NZ *4+2;
63 D = L+NZ *4+1;
64 M = M+ 1 ;

65
66 EBEAM(M, : ) = [N_ELEM_AMP 2+M,NBEAM(A+NWEB
* *( I -1) ,1) , . . .

67 ...

NBEAM(B+NWEB *( I - 1 ) , 1 ) ,NBEAM(C+NWEB *( I - 1 ) , 1 ) ,NBEAM(D+NWEB *( I -1) ,1) ] ;

68 L = L+ 1 ;

69 end

70 L = L+ 1 ;

71 end

72 end

73 end

RIBS_MESH.m

В этой функции строится сетка нервюр.

1 function [ NRIB , ERIB ] = RIBS_MESH( NZ , NX, EY, NSKIN_EXT, NSKIN_INT , POS)

2 %% GENEARATION OF NODES

3 NZ_AMP = (NZ *4) +1;


4 NX_AMP = (NX *4) - 3 ;
5 NY = EY+ 1 ;

6
7 NRIB = z e r o s (NX_AMP NZ_AMP NY, 3 ) ;
* *
8 HRIB = z e r o s (NX_AMP NZ_AMP, 3 ) ;
*
9
10 K = 0;

11 for I = 1 :NZ_AMP

12 for J = 1 :NX_AMP

63
13 K = K+ 1 ;

14 NRIB ( J+NX_AMP NY
* * ( I - 1 ) , : ) = NSKIN_EXT( I+NZ_AMP* ( J - 1 ) ,:) ;

15 NRIB ( J+NX_AMP NY
* * ( I - 1 ) +NX_AMP* (NY- 1 ) , : ) = ...
NSKIN_INT ( I+NZ_AMP* ( J - 1 ) , : ) ;

16 HRIB (K , : ) = ...

NRIB ( J+NX_AMP NY * *( I - 1 ) , : ) - NRIB ( J+NX_AMP NY * *( I - 1 ) +NX_AMP* (NY- 1 ) ,:) ;

17 end

18 end

19 M = 0;

20 for I = 1 :NZ_AMP

21 for K = 2 : NY- 1

22 for J = 1 :NX_AMP

23 M = M+ 1 ;

24 NRIB ( J+NX_AMP NY * *( I - 1 ) +NX_AMP * (K- 1 ) , : ) = ...


NRIB ( J+NX_AMP NY * *( I - 1 ) , : ) - HRIB ( J+NX_AMP * ( I - 1 ) , : ) /EY* (K- 1 ) ;

25 end

26 end

27 end

28 ID = l i n s p a c e ( 1 , l e n g t h ( NRIB ) , l e n g t h ( NRIB ) ) ;

29 NODSKINNBEAM = l e n g t h (NSKIN_EXT) *2+NZ_AMP* (EY+1) * l e n g t h (POS) ;


30 NRIB = '
[ ID +NODSKINNBEAM NRIB ] ;

31
32 N_ELEM_AMP = (NZ * 4 ) * ( (NX- 1 ) * 4 ) ;
33 NUMNINRIB = (NZ_AMP- 1 ) *EY* l e n g t h (POS) ; % 2 = NUMERO DE VIGAS

34 %% GENERATION OF ELEMENTS

35 K = 1; L = 0;

36 for H = 1 :NZ_AMP

37 for I = 1 : EY

38 for J = 1 :NX_AMP- 1

39 if J == 1

40
41 elseif J == NX_AMP- 1

42
43 else

44 A = K+(NX_AMP- 1 ) * (H- 1 ) ;
45 B = K+1+(NX_AMP- 1 ) * (H- 1 ) ;

46 C = K+(NX_AMP- 1 ) +2+(NX_AMP- 1 ) * (H- 1 ) ;

47 D = K+(NX_AMP- 1 ) +1+(NX_AMP- 1 ) * (H- 1 ) ;

48
49 L = L+ 1 ;

50 ERIB ( L , : ) = ...

[N_ELEM_AMP 2+NUMNINRIB+L , NRIB ( A , 1 ) , NRIB ( B , 1 ) , NRIB ( C , 1 ) , NRIB (D, 1 ) ] ;


*
51 end

52 K = K+ 1 ;

53 end

54 K = K+ 1 ;

55 end

56 K = K+ 1 ;

57 end

58 end

64
CONPOIN2APDL.m

В этой функции прикладывается воздушная нагрузка на соответствую-


щий узел КЭМ.

1 function CP = CONPOIN2APDL(NX, NZ)

2 NX_AMP = (NX- 1 ) *4+1;


3 NZ_AMP = NZ * 4+1;

4 K = 0;

5
6 CP = z e r o s ( ( NX- 1 ) *NZ , 1 ) ;

7 for I = 4 : 4 :NX_AMP

8 for J = 3 : 4 :NZ_AMP

9 K = K+ 1 ;

10 CP(K, 1 ) = NZ_AMP *( I - 1 ) +J ;

11 end

12 end

13 end

65
ПРИЛОЖЕНИЕ Г
Код запуска решения и удаления файлов в MAPDL

COINNODE.bat

В этом файле написаны команды для объединения совпадающих узлов,


запуск решения и вычисление критерия силового фактора.

1 /NERR, , , - 1

2 /PREP7

3 CDREAD, DB, 'C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\MATLAB2APDL ' , ' c d b ' , , '' , ''


4 CPINTF , ALL , 0 . 0 0 0 1 ,

5 /SOLU

6 SOLVE

7
8 /POST1

9 SET , LAST

10
11 ETABLE, SEQV, S , EQV

12 ETABLE, VOL, VOLU,

13 SMULT, G, SEQV, VOL

14 SSUM

15
16 /OUTPUT, g , t x t

17 *GET, G, SSUM, 0 , ITEM , G


18 /OUTPUT

66
DEL.bat

Эта функция очищает все файлы, созданные MAPDL.

1 cd "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL"

2 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e . D S P "

3 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 0 . e r r "

4 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 1 . e r r "

5 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e . e s a v "

6 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 0 . e s a v "

7 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 1 . e s a v "

8 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 0 . f u l l "

9 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 1 . f u l l "

10 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e . m n t r "

11 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 1 . m n t r "

12 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 1 . o u t "

13 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e . r s t "

14 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 0 . r s t "

15 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 1 . r s t "

16 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 0 . s t a t "

17 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ f i l e 0 . t x t "

18 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ r e s . o u t "

19 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ d e f o r m a t i o n . t x t "

20 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ s t r e s s . t x t "

21 del "C : \ U s e r s \ O s c a r E s p i n o s a \ OneDrive - ...

s s a u . r u \ U n i v e r s i t y \ T e s i s \MATLAB\MAPDL\ g . t x t "

67

Вам также может понравиться