Jump to content

Какие алгоритмы построения крыла + оптимизация CFD наиболее востребованы?


Recommended Posts

zerganalizer

Всем привет!

 

Мне предлагают заняться построениями крыла, профилями с возможностью оптимизации построений по результатам CFD-анализов. Отсюда возникает задача создать методику (алгоритм) проектирования крыла, профилей и связь всей этой параметрики с CFD-анализами.

 

Однако я увидел немало специального ПО, которое давно это делает, разными способами. Из недавних - LS-TECHNOLOGIES - сделала всё, что нужно, но в среде Flypoint Parametrica. Наверное, в каждой CFD есть ядро для построения геометрии, CFD-модуль и оптимизаторы, с возможностью деформации построенной геометрии для улучшения обтекания. Также есть возможности при моделировании параметров потока подгонять "болванку" кривой профиля под параметры потока, получая геометрию профиля "генеративно", под поток.

 

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

 

Меня всё ещё гложет идея, что крыло с его профилями можно описать единым математико-поисковым алгоритмом, наподобие моего конфигуратора крыла (нуждается в создании нескольких версий под другие условия задачи) + конфигуратор профиля.

 

Отсюда я хочу снова обсудить тему создания наиболее оптимальных алгоритмов и методик построения крыла, как обсуждал это с аэродинамиками в ЦАГИ лет 15 назад для создания чего-то вроде приложения, решающего эту задачу. Тогда я в-целом ухватил их пожелания, и алгоритм в-целом выглядел так:

 

1. Аэродинамик выбирает компоновку крыла, "рисуя" образующие крыла в плане, галку поперечного "V" и набор специально подобранных профилей (из альманахов с точками), которые надо расставить по размаху где-то по характерным местам на образующих в плане, например, на изломе крыла и т.п. На основе этих данных уже понятно общее назначение ЛА и его характеристик.

2. В ЦАГИ расставленные профили поворачивали в каждой позиции по размаху на углы крутки каждого и двигали вверх-вниз, оптимизируя проложенные по носикам/хвостикам соединяющие сплайны для получения передней/задней образующих крыла. У меня своё решение на этот счёт, которое создаёт образующие однозначно на базе описанных выше исходных данных.

 

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

 

А ещё - так как скорость потока воздуха вдоль крыла примерно постоянная, а хорда всё меньше по размаху - число Re растёт для профилей с мЕньшей хордой, откуда профили надо подбирать под вычисленное Re каждого профиля. Плюс к этому - профиль крыла под такой увеличенный Re имеет свои особенности, например, у более "скоростных" профилей обычно camber position больше. Отсюда если аэродинамик хочет, чтобы ПРЯМОЙ лонжерон прошёл через camber positions, или максимальные строительные высоты всех профилей, кривые в плане нужно подгонять под выбранные профили, и положение лонжерона тоже. А, ЕМНИП, лонжерон должен пройти через центр масс ЛА, откуда возникает задача многокритериальной оптимизации крыла, профилей и геометрии ЛА в-целом.

 

Отсюда возникает идея не ставить готовые профили по размаху из альбомов с точками, а генерировать по месту, под заказ. А чтобы сгенерированный профиль отвечал всем требованиям, нужна оптимизация каждого под рассчитанный Re для "попадания его максимального аэродинамического качества в требуемый диапазон Re при выбранном camber position". А этот самый camber position будет не произвольный, а диктоваться прохождением лонжерона по размаху крыла и его прямолинейностью.

 

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

 

3. Полученное крыло продувается CFD и оптимизируется методами деформации в конкретной CFD.

4. Полученная после оптимизации полигональная модель "заставляет" конфигуратор крыла и все профили перестроить для достижения той геометрии, что рекомендует CFD. Этот цикл п.п.2-4 может быть многократным, уточняющим геометрию. Сюда, возможно  войдёт и создание геометрии механизации крыла (закрылки, законфовки), которые будут участвовать в циклах оптимизации крыла.

 

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

 

5. Возможно - создание геометрии механизации крыла (закрылки, законфовки), которые будут участвовать в циклах оптимизации крыла, можно вынести за скобки первых циклов оптимизации системы "образующие-лонжерон-профили-крыло" (п.п.2-4). Этот вопрос - к обсуждению.

 

Вообще мой конфигуратор крыла хотят прикрутить к оптимизатору (или оптимизатор - к конфигуратору) и заставить всю геометрию крайне гладко строить на движке CATIA, а помня о том, что мой конфигуратор написан сплошь на функционале ISD/ICEM в CATIA, то перенос построения куда-то ещё - не вариант.

 

А теперь - о главном. Каков же наиболее правильный алгоритм (их может быть несколько, судя по беседам с ЦАГовцами 15 лет назад), который нужно реализовать при создании конфигуратора (или, если хотите - приложения) для построения крыла, и какими параметрами он должен управляться?

 

Подобное задание я получил от аэродинамика в ЦАГИ, которое частично реализовал в разработках, проданных "Аэрокону" (г.Жуковский) 15 лет назад. Но интересно запрограммировать решение не только для беспилотников органических форм компоновки "летающее крыло". Нужен универсальный решатель, под современные реалии и возможности CFD. Что думаете?

 

И последнее. Я бы не стал думать в этом направлении при всём разнообразии существующего ПО, умеющего всё это так или иначе, и спроектированные им ЛА вполне себе летают. Но на мой взгляд - сама геометрия в существующих решениях строится "слишком грубо", откуда она не в состоянии описать собой всё возможное многообразие даже профилей. По моим изысканиям в построении "другой" геометрии профиля оказалось на практике, что построенная "кривулина" не может быть описана сплайнами/NURBS столь низких степеней полинома, лежащего в основе. Даже 100 точек в сплайне не способны помочь корректно повторить построенную мной кривую по уравнению 20+ степеней - кривулина гнётся во все стороны между точками, но только не туда. 300 точек и специальный "конвергентный" алгоритм расстановки точек по полученному профилю уже решают проблему - копия сплайна по ним практически идентична, анализ кривизны почти неотличим от оригинала, но...

 

Кто в каких CFD оптимизирует кривулину по 300-м точкам, да ещё с жёстким алгоритмом их расстановки??? Из того, что видел - оптимизируют какой-нибудь безье по 10-ти точкам в поисках "идеального профиля". Откуда вывод - подобные оптимизаторы "прошли мимо идеала" и не узнали о его существовании...

 

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

Link to post
Share on other sites


UnPinned posts
23 минуты назад, green_fly сказал:

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

 

Тут товарищ оптимизирует за счёт повышения гладкости кривой дужки профиля. Типа выше третьей производной.

Link to post
Share on other sites
zerganalizer
15 часов назад, a_schelyaev сказал:

Поэтому все ваши закидоны по вылизывание обводов не сработают.

Я не вылизываю обводы - я могу построить то, что ваши оптимизаторы не МОГУТ В ПРИНЦИПЕ построить. Если, как в X-foil оптимизировать профиль из нурбсы со столь малым количеством опорных точек и низкой степени - она не сможет пройти через нужные точки с нужной кривизной.

 

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

изображение.png

Даже такой B-сплайн не способен повторить мои профили - только когда попробовал такой 13+ степени - стало ближе к теме, но нужно больше точек для управления, и располагать их вверх-вниз по отрезкам на равных дистанциях по хорде - не вариант, шаг по хорде должен быть вариативный.

 

Оптимизировать такую кривулину в катии я пробовал перед попыткой разработать конфигуратор профиля по формульным кривым. Бредом оказалась задача - указать ограничения и цель. Анализ кривизны на автомате выходил пипец какой, навроде ваших "заоптимизированных" профилей. Вы правда надеетесь, что на таком кто-то лететь захочет??? Я бы на анализ кривизны (радиус кривизны) посмотрел...)))

изображение.png

14 часов назад, green_fly сказал:

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

Речь не идёт о КАЧЕСТВЕ поверхности профиля - а о таком наборе точек, через которые вы не проведёте ни одной кривой никаким известным моделированием гладко. Это дебри, куда оптимизаторы не совались - ядрышки не тянут такое. Есть примеры суперкритических профилей, повторить которые гладко совсем не простая задача. Собственно, я готовлюсь поисследовать профили через пакетный анализ оных в SU2. посмотрим поляры, сравним - далее будет видно)))

15 часов назад, a_schelyaev сказал:

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

Пока я вижу, что в среде катии с FlowVision двусторонняя связь есть только у Simulia Abacus, который я как-то на катию ставил. В теории при таком раскладе строить и управлять циклом оптимизации с CFD можно целиком внутри понятным штатным функционалом, без внешних костылей.

 

Аналогично во ANSYS.Fluent for CATIA, вот брошюрку приложил.

 

Если это решение само генерит сетки по настройкам прямо в катии, продувает и выдаёт в неё же результат, чтобы одной строкой в штатном примитиве "Правило/реакция" сказать "считай, данные сюда" и задать цикл оптимизации - то надо думать - нужны ли мне внешние костыли с макросами. Если тамошний решатель сможет ещё и кластеры вычислительные запрягать - отличный и надёжный вариант, осталось решить - браться за освоение или нет)))

 

450117.pdf

14 часов назад, a_schelyaev сказал:

Тут товарищ оптимизирует за счёт повышения гладкости кривой дужки профиля. Типа выше третьей производной.

Пургу гоните. некоторые математические кривые трудно аппроксимировать теми кривыми, что вы оперируете.)))

ansys-fluent-for-catia.pdf

Edited by zerganalizer
Link to post
Share on other sites
a_schelyaev
29 минут назад, zerganalizer сказал:

Я не вылизываю обводы - я могу построить то, что ваши оптимизаторы не МОГУТ В ПРИНЦИПЕ построить. Если, как в X-foil оптимизировать профиль из нурбсы со столь малым количеством опорных точек и низкой степени - она не сможет пройти через нужные точки с нужной кривизной.

То, чем вы увлекаетесь, в практике плазового отдела ОКБ называлось "вылизывать теорию". Загоняли профиль опорный в инструмент типа Маткад и там с ним возились до просветления. Потом голову ломали, как это в реальности изготовить, если даже маршрут в ЧПУ не на основе исходной CAD-поверхности, а на основе триангуляции на ее основе, т.е. STL.

 

Вы точно поняли суть приведенного мною слайда с параметрами профиля? Вы уверены? 

Задача оптимизации обводов всегда ставится вокруг редуцирования параметрического ядра модели - за какое минимальное количество геометрических вы можете менять нужным образом модель с требуемым качеством обводов и с сохранением ограничений.
Если вам нужно двигать сотни точек образующей контур профиля по X и Y, т.е. удвоение количества параметров, то флаг в руки. Дальше вопрос с каким линейным шагом вы будете это делать, если у вас речь идет о производных высших порядков. Это еще кратно увеличит количество рассматриваемых вариантов.

И это только профиль, не крыло.

 

 

Link to post
Share on other sites
29 минут назад, zerganalizer сказал:

Вы правда надеетесь, что на таком кто-то лететь захочет???

Вроде как это демонстрационная задача, показывающая возможности ПО. Никто на этом никуда не полетит.

38 минут назад, zerganalizer сказал:

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

Смело. Больше напоминает притчу про Неуловимого Джо.

Link to post
Share on other sites
zerganalizer
1 час назад, a_schelyaev сказал:

Если вам нужно двигать сотни точек образующей контур профиля по X и Y

Если соединять точки сплайном - то да, но в последних моих решениях формульные кривые высоких порядков (быстрее всего "туннельные профили" сходу строит кривулина 22 степени и чуть медленнее, но ближе к бОльшему числу точек - 26 степень, проходящие через 8-15 точек (только верхняя дужка) + несколько десятков коэффициентов в формуле.

 

Отсюда и говорю - существующие кривулины слишком "грубы", не дают нужных градиентов кривизны. Отклонение в носовой части в пару мм в толщине, другой градиент= профиль БЕЗ туннеля, с посредственными результатами продувки x-foil (-30% аэродинамического качества). Кривулины сильно похожи, но на метровой хорде 2мм в верхней дужке отклонений показывают падение качества на 20-30%.

1 час назад, green_fly сказал:

Вроде как это демонстрационная задача, показывающая возможности ПО. Никто на этом никуда не полетит.

Хрена себе демонстрашка. Нафига уродство в ранг правильного подхода возводить? Оптимизатор на моих профилях не скатывается в подобное - математика кривулин не даст.

Link to post
Share on other sites
a_schelyaev
1 час назад, zerganalizer сказал:

Хрена себе демонстрашка.

У вас серийный самолет на ваших профилях или крыле летает?

Link to post
Share on other sites
zerganalizer
1 час назад, a_schelyaev сказал:

серийный самолет на ваших профилях или крыле летает?

 Возможность запустить самолёт с кривой геометрией вовсе не означает его качество. МС-21 живой пример.

Link to post
Share on other sites
a_schelyaev
2 часа назад, zerganalizer сказал:

 Возможность запустить самолёт с кривой геометрией вовсе не означает его качество. МС-21 живой пример.

Наобещали значит...

Link to post
Share on other sites
zerganalizer
20 часов назад, a_schelyaev сказал:

Потом голову ломали, как это в реальности изготовить, если даже маршрут в ЧПУ не на основе исходной CAD-поверхности, а на основе триангуляции на ее основе, т.е. STL.

Мне проще - я хочу исходное задание и результат иметь в том же виде поверхностей class A, т.е. в исходнике. А оптимизация - "где-то там повертелась и показала" как правильно подстроить конфигуратор. Аналогично - по профилям.

13 часов назад, a_schelyaev сказал:

Наобещали значит...

Я вообще пока присматриваюсь к теме - стоит ли влазить? Профили свои я всё-таки проверю (есть чОткий алгоритм), а дальше - как пойдёт...

Link to post
Share on other sites
a_schelyaev
33 минуты назад, zerganalizer сказал:

А оптимизация - "где-то там повертелась и показала" как правильно подстроить конфигуратор.

Постройте по STL распределение кривизны с аппрокисирующей функцией из ЧПУ. Прослезитесь.

Link to post
Share on other sites
zerganalizer
4 минуты назад, a_schelyaev сказал:

Постройте по STL распределение кривизны

Не буду по STL, забуду про него - на входе оптимизатора будут class A и после оптимизации - они же, модифицированные. Остальные предложения - в топку истории.

Link to post
Share on other sites
14.03.2025 в 11:07, zerganalizer сказал:

Не буду по STL, забуду про него - на входе оптимизатора будут class A и после оптимизации - они же, модифицированные. Остальные предложения - в топку истории.

А на входе в расчетное приложение что будет?

Link to post
Share on other sites
zerganalizer

Для профиля - файл с точками, которые расставила моя фича в catia. SU2 так умеет. Для крыла думаю Флюинт поюзать, for CATIA.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • boomeeeer
      Да так и есть. Ещё и с Plus возможно, но это не точно Да так и есть. Ещё и с Plus возможно, но это не точно. У автора вроде тоже 0iF-Plus, значит должно работать
    • Wasp
      Как вариант, использовать переменную, в которой будет указываться ширина канавочной пластины или резца.  Пример: N15T0909(REZEC GHDR 25-3) (LEV.KR)  #7=3.(H PLASTINY) G97G99S1500M3 G0X48.Z-4.98M8  G75R0.1 G75X43.45Z-[1.43+#7]P500Q1000F0.05  G1X47.15Z-6.F0.5S1800 X46.966Z-5.08,R0.4F0.05 X43.415 W0.2  X47.15F0.5  Z-[0.5+#7]  X46.966Z-[1.33+#7],R0.4F0.05  X43.415 Z-5.05  G0X100. G30U0W0M5 M30 В этом случае изменением переменной прекрасно контролируется допуск на ширину канавки. 
    • Александр1979
      Если М19 работает, то задание угла через G78 тоже будет работать. Для Fanuc 3xi это опция J853 spindle orientation. 
    • gudstartup
      @Рустик а зачем спрашиваете если вам уже все извесно. не згаете как осью управлять?
    • gudstartup
      spindle positioning j851 возможноу вас 30б или 0ф а вот на 31 32 она нужна притом или функция j851 или j853 spindle orientation вместе они не работают
    • mamomot
      Решил выложить представленный в Латехе в пятницу Параграф и отдельно, в привычном виде. 11_1_2 Стержневые ящики для рычага.pdf
    • Рустик
      Ни каких м кодов. Просто ещё одна координата.  Станок 3+2 оси. На fanuc mf 0i plus. С горизонтальным шпинделем.  Смена происходит как обычный инструмент. Там обязательное условие что бы эта координата была в нулях. Когда она в нулях, при отсоединения от шпинделя и самого привода, фиксируется и не даёт крутится приводной части. То есть тупо механически.   Радиуса описывать только через R? Нету вариантов с инкриментными координатами ?
    • boomeeeer
      какая? чтобы задание угла через G78 работало? Какая это опция, я что-то не нашёл в книге упоминания?
    • Snake 60
      Могу предложить свою версию ТБ, компиляция тулбоксов от SWR, iTools и LeninSW. Для какой версии SW надо?
    • gudstartup
      надо подобрать чтобы светилось при 110в 10ма
×
×
  • Create New...