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
a_schelyaev
23 минуты назад, green_fly сказал:

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

 

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

Link to post
Share on other sites
zerganalizer
Posted (edited)
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
green_fly
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
a_schelyaev
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
zerganalizer

Если никто не хочет обсуждать тему правильного построения крыла и автоматизацию анализов, то лучше тему и закрыть. Пакетный анализ частично запустил - осталось прописать сбор нужной статистики и объединение её в поляры. Или родную починить - но пишут, для её нормальной работы SU2 надо откомпилить. Как получу поляры - отпишусь.

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.

  • Сообщения

    • maxx2000
      можно и очень даже быстро. Если чертёж это векторный файл то по одному из видов очень быстро поднимается 3D модель. 
    • Hreepsus
      Поддерживаю. Одни раз, в качестве эксперимента, пробовал обратное моделирование (из 2D в 3D). И потом дофига еще правок внес. Таких что проще было перерисовать с нуля. Это конечно не исключает моей криворукости в этом вопросе.
    • LEXA1988
      Всем Добрый день. Коллеги прошу вашей помощи. Может кто то сможет подправить постпроцессор таким образом, что бы если случается так что окружность равна 360 градусов то ее нужно вывести квадрантом, во всех остальных случаях полным циклом. Для возможных будущих вопросов расскажу суть проблемы. Станок почему то не отрабатывает траекторию если точка старта окружности совпадает с точкой выхода( говорит что я уже приехал) Если вывожу дуги квадрантами , то все хорошо, но если включаю коррекцию на радиус то при сложном криволинейном профиле станок выдает петли.  Методом проб пришел к выводу что единственным решением при котором все работает и с коррекцией на радиус и без это разбивать окружность на квадранты только если она полная. Если кто то знает в чем может быть такой косяк то расскажите пожалуйста, людям это может быть полезно.  Если сможете подправить пост скиньте пожалуйста на почту. Noname1_88@mail.ru Всем заранее спасибо! FIVE650.zip
    • Ветерок
      Зачем вам этому учиться? Это абсолютно бесполезное занятие. Модель по известным (с существующего чертежа) размерам строится на порядок быстрее, чем рисование чертежа.
    • HornedOwl
      Понял, учту! @sereke75 если бы глубина была 1 мм.  вопросов не было бы меньше. В моем случае 2 мм. + полная резьба в 3 ветка. Если выкручивать, то нужны же какие то специаьные "зацепы" от прокручивания при свинчивании? Или я ошибаюсь?  На образцах ничего такого нет, смыкания от складывающего пуансона тоже нет. Но есть облой (или это срез резьбы?) на каждом витке. На нижней картинке, чуть другая крышка, которую тоже нужно сделать: глубина 1,5 мм. диаметр ф34,2, полная резьба в 3 ветка, асииметричная.
    • ole44ka
      А если условно приложено acceleration на всё тело (ускорение свободного падения) и force в одной точке, оно будет в эту точку вибрацию направлять, или по ускорению?
    • vladislav40rus
      Согласен. Но хотелось бы научиться из 2Д в 3Д.
    • BSV1
      Если есть чертеж, то проще по нему просто построить 3D модель, чем заниматься таким переводом. Особенно, если деталь сложная.
    • sereke75
      @HornedOwl , опасно. Витков много. Был бы один, то без проблем, а так есть вероятность срезания резьбы. Обычно на крышках делают 2-4 заходную резьбу. По 1/4 витка. Глубина резьбы до 0,8-1,5мм. Такие крышки срываются на ура. Если полная резьба, то безопаснее выкручивать.  
    • vladislav40rus
      Здравствуйте. Подскажите пожалуйста есть ли где видео или инструкцию (желательно подробно) по переводу 2д чертежа в 3Д модель? Простую модель нашел как делать, это вот https://rutube.ru/video/5eec495e3a2acfc3de3d808edfc7b2b4/?utm_source=embed&utm_medium=referral&utm_campaign=main_logo&utm_content=5eec495e3a2acfc3de3d808edfc7b2b4&utm_term=yandex-video.naydex.net&referrer=appmetrica_tracking_id%3D1037877625579705379%26ym_tracking_id%3D15500927786817891458 Но мне нужно сделать более сложную модель и я не понимаю как. Сразу 3Д модель с живой коробки могу сделать, но физическую коробку долго ждать, а чертеж есть, да и Т-Флекс позволяет из 2Д в 3Д. Версия Т-Флекс 17.1.25.0.   Коробка.grb
×
×
  • Create New...