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

Я вам ранее уже писал, что все ваши вылизывания теории разбиваются о дискретизацию расчетной конечно-объемной сетки.

Если нужно иметь параметризацию в CFD, то сегодня почти все коды умеют это делать.

Из отечественных, видимо, только FlowVision.

opt.jpg

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

Если нужно иметь параметризацию в CFD, то сегодня почти все коды умеют это делать.

Из отечественных, видимо, только FlowVision.

Не осилили текст? Модель в катии нужна. С профилями/поверхностями. Как завязать обратную связь с какими-то нормальными CFD? Какие варианты? На ум приходит только установка на катию Fluent for CATIA. Не пробовали?

Link to post
Share on other sites
green_fly

Проблема параметрической оптимизации - степенная сложность. Увеличивая количество оптимизируемых параметров (N) Вы увеличиваете показатель степени. Зная время одного CFD расчета (t) грубо можно оценить время на все параметрическое исследование(T) как T = t*M^N. Здесь M - количество расчетов, обеспечивающее необходимую точность при изменении одного параметра (например, для диапазона угла 0 град < alfa < 10 град и точности 1 град M = 10).

Вторая проблема - наличие в N-мерном пространстве локальных минимумов, к которым любят сходиться некоторые алгоритмы.

Третья проблема - сложная оптимизируемая функция.

 

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

 

 

 

 

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

Как завязать обратную связь с какими-то нормальными CFD?

Сохраняете крыло в солид, затем обдуваете в любимом CFD пакете, затем отправляете результаты в любимый оптимизатор. Повторяете до полного удовлетворения.

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

Не осилили текст? Модель в катии нужна. С профилями/поверхностями. Как завязать обратную связь с какими-то нормальными CFD? Какие варианты? На ум приходит только установка на катию Fluent for CATIA. Не пробовали?

Особенность нашего подхода это именно работа с CAD-моделью в ее естественной среде обитания.
Но любой расчетный код вашу параметрическую модель линеаризует, дискретизует, обфасетит ... превратит в поверхностную сетку.
C оригинальными кривыми никто не работает.

 

Вся связка Оптимизатор + CAD + FlowVision работает в автомате.

От вас требуется только запараметризовать геометрическую модель так, чтобы оптимизатор мог за минимальное изменяемое количество параметров уметь максимально менять форму в пределах вами требуемого.

Посмотрите на мою картинку - там в качестве примера приведена простая схема парметризации на 10 параметров. ФОрма профилей из-за нее получается вычурная. Но это также из-за отсутствия ограничений по высотам лонжеронов.

А так, ставьте свою задачу и получите решение.

Этому подходу более 10 лет в FlowVision, а в природе и того больше.

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

Сохраняете крыло в солид, затем обдуваете в любимом CFD пакете, затем отправляете результаты в любимый оптимизатор. Повторяете до полного удовлетворения.

 Здесь есть несколько вопросов:

 

1. После cfd мы получаем полигональную модель?

2. Оптимизатор оптимизирует именно её посредством всяких деформаций?

3. Как оптимизированную модель загрузить в катиевы поверхности?

 

 С последним пунктом теперь будет проще - можно наложить оптимизированную полигональную модель поверх исходного конфигуратора и подогнать его под результат. Правда, это трудно сделать автоматически. Но после подгона модель сохранит параметризацию.

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

Поэтому исследователи обычно едят слона по частям - рассматривают влияние отдельных элементов, уменьшают количество параметров

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

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

Особенность нашего подхода это именно работа с CAD-моделью в ее естественной среде

 Давайте уточним алгоритм:

1. Я построил параметрический конфигуратор крыла в катии.  В нём присутствует пять профилей.

2. Я задам диапазон крутки всего крыла. Крутка каждого профиля будет посчитана автоматически. У оптимизатора будет параметр - диапазон крутки всего крыла.

3. Я задам диапазон строительных высот каждого профиля. Это ещё пять параметров для оптимизатора.

 

 А дальше главный вопрос - как запустить оптимизатор так, чтобы он вёл расчёты с дискретизациями модели "где-то там", но результат оптимизации передавался обратно в катию, подгоняя те самые параметры которые я назначил??? И чтобы он игрался параметрами конфигуратора крыла, какие я назначил оптимизировать, и сказал после полного цикла оптимизации - "вот эти лучшие", дают вот такой вот результат продувки???

 

 CFD, который встроен в катию, добавляет в API события для расчёта, так что можно запрограммировать цикл "построение - анализ" автоматом. Завершение обновления модели приведёт к запуск анализа, а полученные результаты анализа снова запустят обновление модели, добавив модификации в нужные параметры для поиска оптимального. Как такое выглядит в разных продуктах - я не представляю. 

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

1. После cfd мы получаем полигональную модель?

После CFD мы получаем Fx и Fy. Конструируем из них оптимизируемую функцию, например аэродинамическое качество.

 

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

2. Оптимизатор оптимизирует именно её посредством всяких деформаций?

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

 

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

3. Как оптимизированную модель загрузить в катиевы поверхности?

Отправляете новый набор параметров в CAD. Видимо, через параметризованную геометрию крыла. Перестраиваете геометрию. Пересохраняете солид.

 

4. Повторяете.

 

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

 Здесь есть несколько вопросов:

 

1. После cfd мы получаем полигональную модель?

2. Оптимизатор оптимизирует именно её посредством всяких деформаций?

3. Как оптимизированную модель загрузить в катиевы поверхности?

 

 С последним пунктом теперь будет проще - можно наложить оптимизированную полигональную модель поверх исходного конфигуратора и подогнать его под результат. Правда, это трудно сделать автоматически. Но после подгона модель сохранит параметризацию.

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

 Давайте уточним алгоритм:

1. Я построил параметрический конфигуратор крыла в катии.  В нём присутствует пять профилей.

2. Я задам диапазон крутки всего крыла. Крутка каждого профиля будет посчитана автоматически. У оптимизатора будет параметр - диапазон крутки всего крыла.

3. Я задам диапазон строительных высот каждого профиля. Это ещё пять параметров для оптимизатора.

 

 А дальше главный вопрос - как запустить оптимизатор так, чтобы он вёл расчёты с дискретизациями модели "где-то там", но результат оптимизации передавался обратно в катию, подгоняя те самые параметры которые я назначил??? И чтобы он игрался параметрами конфигуратора крыла, какие я назначил оптимизировать, и сказал после полного цикла оптимизации - "вот эти лучшие", дают вот такой вот результат продувки???

 

 CFD, который встроен в катию, добавляет в API события для расчёта, так что можно запрограммировать цикл "построение - анализ" автоматом. Завершение обновления модели приведёт к запуск анализа, а полученные результаты анализа снова запустят обновление модели, добавив модификации в нужные параметры для поиска оптимального. Как такое выглядит в разных продуктах - я не представляю. 

1. Есть модель в увте ч параметрами в дизайн тейбле в екселевсуой таблице. Есть скрипт, который выгружает эту модель в стл файл с нужной линевризацией.

FlowVision по команде оптимизатора читает геометрию и запускает расчет. На выходе из расчета текстовый файл характеристик, которые вы заказали.

Оптимизатор их смотрит, думает и выдает скриптами команду на изменение параметров в таблице и обновления геометрии с ее выгрузкой в файл.

Далее по циклу.

На входе геометрия Кати с нужными оптимальными параметрами.

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

Есть скрипт, который выгружает эту модель в стл файл с нужной линевризацией.

FlowVision по команде оптимизатора читает геометрию и запускает расчет. На выходе из расчета текстовый файл характеристик, которые вы заказали.

Что-то очень похожее на ситуацию с продувками в ЦАГИ 15 лет назад. Было так, мне объясняли сначала в ЦАГИ, и файлик текстового формата для начала просчёта на их кластере показали, я внимательно изучил. В тексте были координаты точек профилей, их положение по размаху крыла и углы крутки.

 

То ли клиентов заставляли такие файлики на просчёт создавать, то ли был какой конвертер, не знаю. Такой файлик загружали в главный комп, по которому КРЫЛО СТРОИЛОСЬ ЗАНОВО, как вздумается их прожке, и оно "продувалось" несколько дней. Саму 3D-модель от того же "Иркута" (где мне жаловались на этот дибилизм) они игнорили, так что в сердцах представитель Иркута сказал дословно: "Мы рисуем одно, просчитываем другое, а изготавливаем - третье!".

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

FlowVision по команде оптимизатора читает геометрию

Какую именно? Моё крыло поверхностями class A???

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

На выходе из расчета текстовый файл характеристик, которые вы заказали.

Каких характеристик? Скорость полёта, подъёмная сила, аэродинамическое качество? Я-то задаю оптимизатору (помимо скорости полёта, температуры, высоты полёта) ГЕОМЕТРИЮ КРЫЛА (или профиля, если его буду оптимизировать) и жду, что оптимизатор начнёт "играться" моей параметризацией крыла в катии, искать для заданных физических условий более оптимальную ГЕОМЕТРИЮ! Т.е. на каждой итерации меняя мои геометрические параметры конфигуратора в катии (в заданном диапазоне, с приоритетами по ним), далее давал команду на обновление модели, зачитывал полученный результат и передавал в CFD на просчёт.

 

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

 

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

 

1. Конфигуратор крыла параметризован, и опубликованы параметры, их диапазоны и приоритеты для манипуляции с крылом.

2. Оптимизатор зачитывает геометрию крыла и параметры, передаёт в CFD и получает результаты расчёта.

3. По этим результатам оптимизатор "лезет в катию" для изменения параметров под оптимизацию (с заданными диапазонами, шагами изменения и приоритетами), заставляет её обновить модель, зачитывает или передаёт иным путём в CFD.

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

 

Я пока не вижу решений вроде этого, покажите мне такое решение и CFD/оптимизаторы, которые на это способны. В теории я могу попробовать поставить на катию совместимый CFD вроде Fluent for CATIA и запрячь встроенный в катию оптимизатор благодаря тому, что "инсталлированная внутрь" CFD предоставляет API для манипуляций её расчётами и слежке за результатами. Но это слишком громоздко для меня при том, что придётся учиться "запрягать" Fluent for CATIA встроенным оптимизатором.

 

Поэтому хочу поточнее понять алгоритм альтернатив. Главная цель - я поставил задачу и ушёл спать - а на утро (какого-то дня) у меня самое заоптимизированное крыло для заданных условий.

 

Аналогично я начал искать пути сделать то же для оптимизации профиля, построенного моим конфигуратором, под нужные условия - как физические, так и геометрические. У меня есть чёткий алгоритм, осталось запрогать цепочку событий и цикл, в котором катия и какой-то оптимизатор (пока думаю за встроенный) и CFD (пока несложная программируемая внешняя) сработали в цикле оптимизации слаженно и чётко, "до победного".

 

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

 

Понимаете замысел? Есть алгоритмы реализации? Считать "нечто другое", как это делает ЦАГИ, у меня нет желания.

 

Или я вас недопонял? Просветите подробнее, пожалуйста!

Edited by zerganalizer
Link to post
Share on other sites

Оптимизатору не важно какие параметры дергать и какие характеристики оценивать.

Суть задачи оптимизации это анализ функции. Помните первый курс матана - экстремум, особые точки...

Какие параметры ему поручите дергать, те и будет дергать. Какие характеристики нужно будет повышать/понижать/ оставить без ухудшения, те и будет достигать.

 

Вы ставите вашу задачу как вам надо, а оптимизатор за минимальное количество вариантов найдет оптимум.

В среднем за 200 вариантов.

Edited by a_schelyaev
  • Нравится 1
Link to post
Share on other sites
zerganalizer
22 минуты назад, a_schelyaev сказал:

Оптимизатору не важно какие параметры дергать и какие характеристики оценивать.

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

 

К примеру - если внешний оптимизатор управляет катией - то хочется увидеть, каким конкретно образом? Если, к примеру, в катии создать design table, завязанный на внешний файл, то изменение внешнего файла (например, из CFD) приводит к сообщению "design table_ХХ синхронизирована", но это не приводит к обновлению модели автоматом. Оптимизатор что, жмёт кнопку "обновить модель", отслеживая изменения конкретных таблиц внешних параметров?

 

Я могу зачитывать внешние таблицы произвольных размерностей и даже писать в них что мне надо - но цикл сам не запустится. Например, я могу записать во внешнюю таблицу текущие параметры конфигуратора крыла после очередной итерации и изменения параметров. Т.е. событие записи текущих параметров конфигуратора во внешний файл станет началом итерации - считывание текущей геометрии крыла, параметры которого я вывел "наружу", геометрия отдастся оптимизатору или в CFD, произойдёт анализ, и оптимизатор примет решение изменить параметры через изменение (перезапись) этого внешнего файла, и я смогу замутить событие изменения параметров в файле, прочесть их и назначить конфигуратору крыла, и запустить процесс обновления модели... или я путаться начинаю?

 

Распишите механизм с указанием названия CFD и оптимизатора, как пример, который работает с катией, и как что чем управляется.

Кстати, по ссылке есть пример оптимизации на основе расчётов на изгиб и чего-то там ещё встроенным оптимизатором + цикл расчёта нагрузки на балку. Осталось аналогично цикл аэродинамического анализа, будь он как родной в катии.

Link to post
Share on other sites

Управление в Кате идёт через ее скрипты . Ищите команду обновить модель чтобы из таблицы все обновил и потом выгрузка в файл STL с нужными настройками.

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

Ищите команду обновить модель чтобы из таблицы все обновил

Уточним - внешняя таблица параметров?

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

потом выгрузка в файл STL с нужными настройками.

А тут интереснее - во внешний файл куда-то. Чтобы оптимизатор его увидел - видимо, в заданный каталог. А вот с STL главный вопрос - сетку готовить специальным мешером с "правильными загущениями сетки"??? Или стандартный подойдёт?

 

Если я правильно догадываюсь - оптимизатор + CFD обработают сетку и выдадут очередное задание катии через design table, чтобы я её зачитал в катии (автоматом), и к ней приравнял параметры конфигуратора?

 

Потом обновление модели с параметрами конфигуратора из этого внешнего файла, что "заказал" оптимизатор исходя из истории итераций? И снова делать STL и выгружать туда же?

 

Однако, из предыдущего диалога про выгрузки STL не было ни слова, хотя я прямо говорил, что "оптимизировать" CFD будет именно полигоналку.

 

И тут вопрос - почему не солид выгружать? Пусть CFD его сам правильно оттесселирует под анализы, это чисто его задача!

 

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

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

Уточним - внешняя таблица параметров?

Не помню как в Кате верно называется. Выгрузка размеров в ексель.

 

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

Или стандартный подойдёт?

Смотря в чем хотите считать.

 

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

И снова делать STL и выгружать туда же?

Ваш компьютер - сами решайте.

 

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

И тут вопрос - почему не солид выгружать?

Я вам могу помочь с FlowVision. Все прочее не ко мне.

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

Я вам могу помочь с FlowVision. Все прочее не ко мне.

Тогда объясните - что мне нужно устанавливать и какой алгоритм полностью. Делать полигоналку и выгружать её мне придётся научиться, сделать макрос или иную процедуру.

 

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

Link to post
Share on other sites

Вот здесь оптимизируют профиль, крыло, а потом еще и с учетом прочности считают. Вроде бы есть ссылка на файлы. https://www.youtube.com/watch?v=72cTcsxl6f8

 

Но, по ощущениям гораздо сложнее, чем в платном ПО разбираться.

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

Тогда объясните - что мне нужно устанавливать и какой алгоритм полностью. Делать полигоналку и выгружать её мне придётся научиться, сделать макрос или иную процедуру.

 

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

Оптимизатор берет на входе текстовые файл и отдает текстовые файла.

Поэтому из FlowVision пишутся файл с характерстиками, которые читает оптимизатор.

А из себя он также извлекает текст - значения переменных.

 

ЧТобы геометрия перестроилась он их кладет в екселевскую таблицу. Дальше он запускает батник в котором скрипты CAD системы на подгрузку таблицы и/или перестроения геометрии. а также скрипт выгрузки STL на диск.

ПОтом он через ключ командной строки решателя FlowVision закидывает новую геометрию и запускает решатель. Решатель на новой геометрии перестраивает расчетную сетку и считает. В конце счета выкладывает на диск текстовый файл - все с начала.

 

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

 

ЧТобы не заниматься рукотворчеством. разработчики оптимизатора могут за денюжку все манипуляции с Катией автоматизировать.

Edited by a_schelyaev
Link to post
Share on other sites
zerganalizer

Спасибо за развёрнутый ответ теперь мне всё понятно! Сделать подобный макрос для катии я могу и сам. Осталось подумать - стоит ли связываться. Мысль о Fluent for CATIA всё ближе, по крайней мере для крыла.

Link to post
Share on other sites

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

 

  • Нравится 1
Link to post
Share on other sites
36 минут назад, a_schelyaev сказал:

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

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

 

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 возможно, но это не точно. У автора вроде тоже 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 надо?
×
×
  • Create New...