- •Содержание
- •Список сокращений.
- •Раздел 1. Алгоритмы моделирования элементов ла.
- •Тема 1.1.
- •Структуры данных конечно–элементных моделей и методы их описания с помощью объектно–ориентированных средств. Лекция 1. Особенности программирования в объектно–ориентированной системе "space".
- •Лекция 2. Описание структуры данных конечно–элементной модели.
- •Лекция 3. Методы создания структуры базы данных для анализа прочности конструкции самолета.
- •Лекция 4. Специальные алгоритмы формирования структур конечно–элементных моделей.
- •Тема 1.2. Алгоритмы формирования топологий конечно–элементных моделей элементов поперечного набора планера. Лекция 5. Особенности взаимодействия с сервером геометрии.
- •Лекции 6, 7. Формирование конечно–элементных моделей нервюр.
- •Тема 1.3. Алгоритмы формирования топологий конечно–элементных моделей элементов продольного набора планера самолета. Лекция 8. Особенности формирования локального массива координат.
- •Лекция 9. Формирование конечно–элементных моделей обшивок.
- •Литература.
- •Учебнометодические материалы
- •1. Основная литература
- •2. Дополнительная литература
Тема 1.2. Алгоритмы формирования топологий конечно–элементных моделей элементов поперечного набора планера. Лекция 5. Особенности взаимодействия с сервером геометрии.
Формирование КЭМ кессона крыла начинается с формирования КЭМ силовых элементов, относящиеся к классу элементов поперечного набора отсека кессона крыла ( регулярные нервюры и регулярные сечения ). Для генерации субобъектов используется функция ядра $_cre_object (). После генерации каждого объекта производится его первичный запуск, в процессе которого происходит генерация ОКЭМ соответствующего конструктивного элемента. Активизация субобъектов производится с помощью функции ядра $_call_sub_objec (). При этом, в качестве исходных данных, в указанные субобъекты передаются следующие параметры:
обозначение конструктивного элемента;
параметры, характеризующие положение конструктивного элемента относительно элементов продольного набора отсека кессона;
количество узлов, уже зарегистрированных в ОКЭМ отсека кессона, необходимое для корректировки номеров узлов в топологии копии ОКЭМ элемента, передаваемой для присоединения к ОКЭМ отсека.
Передача указанных параметров осуществляется с использованием виртуальных структур данных, содержащихся в генерируемых субобъектах, чей формат предварительно согласовывается с соответствующей реальной структурой, входящей в состав объекта класса "Отсек кессона крыла". Кроме исходных данных описываемые структуры содержат массивы, в которые записывается топология сгенерированной ОКЭМ конструктивного элемента:
struct _Rib_Box_Connect
{ // Структура для обмена данными между нервюрой и кессоном
// Исходные данные:
char RibName[25]; //−−> Обозначение элемента
double Z[2]; //−−> Положение элемента относительно ПСС
int N0; //−−> Корректировка номера узла
// Топология копии ОКЭМ, передаваемой в отсек:
int NodeCount; //−−> Количество узлов
double NodeCoord[…][3]; //−−> Координаты узлов
int ElCount; //−−> Количество КЭ
int Element[…][6]; //−−> Параметры КЭ
}
Процесс формирования ОКЭМ типовой и дополнительной нервюры начинается с обращения объекту класса "Сервер геометрии". Для обмена данными используется структура данных, через которую серверный объект передается информация о положении носика и хвостика нервюры относительно ПСС в плоскости XOZ. Кроме того, указанная структура содержит массивы и переменные, необходимые для передачи координат узлов. При этом значения координат должны быть структурированы по верхним и нижним, а также внешним и внутренним "дужкам" соответствующего сечения:
struct _Rib_Geom_Connect
{
// Исходные данные:
double Z[2]; //−−> Положение элемента относительно ПСС
// Координаты узлов:
int NodeCount[2]; //−−> Количество узлов в верхней и нижней "дужках"
double NodeCoord[2][2][…][3]; //−−> Координаты узлов
}
Структура данных, используемая объектом класса "Дополнительная нервюра", содержит, кроме координат носика и хвостика относительно ПСС, номера стрингеров, являющихся базовыми для данной нервюры:
struct _SupRib_Geom_Connect
{
// Исходные данные:
double Z[2]; //−−> Положение относительно начала базового элемента
int BaseStrNumber[2]; //−−> Номера базовых стрингеров
// Координаты узлов:
int NodeCount[2]; //−−> Количество узлов в верхней и нижней "дужках"
double NodeCoord[2][2][…][3]; //−−> Координаты узлов
}
После получения координат узлов производится их копирование в локальный массив координат объекта при одновременном заполнении структуры данных, описывающей распределение номеров узлов по "дужкам" сечения:
int ProfileNodeCount[2]; //−−> К−во узлов сверху и снизу
double ProfileNodeNumber[2][2][…];
После формирования топологии ОКЭМ нервюры, производится формирование копии ОКЭМ, передаваемой в родительский объект для присоединения к общей модели отсека кессона. Алгоритм формирования указанной копии сводится к корректировке номеров узлов в КЭ на величину N0. Блок−схема алгоритма формирования ОКЭМ типовой нервюры приведена на рис. 35.
Рис. 33. Блоксхема
алгоритма формирования ОКЭМ регулярных
нервюр
Для расчета координат узлов КЭМ нервюры крыла используется ГМ крыла, представленная в виде таблиц координат точек двух базовых сечений (рис.36): корневого, расположенного в плоскости стыка ОЧК с центропланом, и концевого, расположенного в плоскости концевой нервюры ОЧК.
Рис. 36. Таблица координат базового
сечения геометрической модели крыла.
Координаты базовых узлов определяются в точках пересечения плоскости нервюры и осей стрингеров (осей поясов лонжеронов). Под понятием "ось стрингера" понимается линия пересечения срединной поверхности стенки стрингера с внешней поверхностью обшивки, к которой он примыкает (рис. 37):
Рис. 37. Схема определения оси стрингера.
Под понятием "ось пояса лонжерона" понимается линия пересечения внешней поверхности стенки лонжерона с внешней поверхностью обшивки, к которой он примыкает (рис. 38):
Рис. 38. Схема определения оси пояса
лонжерона.
Шаг 1. Определение координат узла в плоскости XOZ. Координаты X и Z узла в плоскости XOZ определяются как координаты точки пересечения двух линий:
;
;
где
,
,
,
,
,
,
,
– координаты концевых точек пересекающихся
линий. Схема расположения концевых
точек для определения координат узлов
показана на рис. 39.
Шаг 2. Определение размера хорды профиля крыла в точке пересечения. Размер хорды профиля в точке пересечения определяется по следующей формуле (рис. 37):
Шаг 3. Определение порядковых номеров точек профиля крыла, ближайших к точке пересечения.
Сначала определяется относительная координата точки пересечения:
где
–
расстояние точки пересечения относительно
начала хорды профиля.
Затем определяются порядковые номера
двух точек в корневом сечении ГМ, чьи
относительные координаты наиболее
близки к координате
.
Шаг 4. Определение координат точек профиля крыла, ближайших к точке пересечения. Координаты точек определяются по следующей формуле:
-
где:
– координаты i–й ближайшей точки профиля крыла для
;
– координаты i–й точки профиля крыла в корневом сечении;
– координаты i–й точки профиля крыла в концевом сечении.
Рис. 39. Схема расположения концевых
точек и местной хорды.
Шаг 5. Определение координаты Y узла. Координата Y узла определяется по следующей формуле:
-
где:
– координаты первой ближайшей точки профиля крыла (
);
– координаты первой ближайшей точки профиля крыла (
);
– координата X узла.
