Jump to content

Как вырастить сетку 2D-airfoil правильно?


Recommended Posts

zerganalizer

Я сделал работающую версию генератора 2D-сетки для пакетного CFD-анализа профилей. Она полностью на питоне и строит сетку через API GMSH 4.13.1. Пока это гибридная сетка, но с настройками пограничного слоя, загущения по кривизне, в районе хвостика и следа профиля.

 

Более того - заставить ее считаться в SU2 - было для меня сложно. Заработал расчёт только после указания 'MGLEVEL': '2' и создания в сетке ещё одной физического маркера nearfield и назначить 'MARKER_EULER': '( nearfield )' как границы между прямоугольного пограничного слоя и остальной треугольной сеткой.

 

И вот общий вид - вертикальная линия и хвост просто выведены для вопросов, на сетку не влияют.

mesh_all1.png

 

 

Крупнее:

mesh_all+1.png

Район носа:

mesh_lob1.png

Хвост:

mesh_hvost1.png

У меня в настройки вынесено - на сколько сдвинуть профиль относительно лобовой полудуги farfield. Сейчас Move_airfoil=1.1 - это значит носик задвинут вперёд на хорду + 10%, и я не знаю, насколько это правильно. Вы видите - airfoil слева от вертикальной линии "нуля" центра дуги. А вдруг он должен быть справа, посредине или ещё как?

 

Вот базовые настройки:

 

# base mesh sizes
fact = 1                               #Мастштаб ячеек
lc1 = 0.01 * fact                  #Минимальная ячейка
lc2 = 1 * fact                       #Максимальная ячейка
LenNET=50                         #Удаление farfield от профиля, хорд
Move_airfoil=1.1                #Сдвиг профиля от нуля полудуги
Загущение_профиля = 5  #Загущение профиля по кривизне - соотношение размеров max/min ячеек
Загущение_сетки = 90     #Загущение профиля и сетки спереди - сколько точек на 360 градусов дуги.
Thickness=0.01*fact          #Толщина погранслоя профиля
Ratio=1.3                           #Коэффициент роста погранслоя
Size=2.7e-4                       #Начальная толщина ячейки погранслоя

 

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

 

Вот интересный вопрос - Загущение_сетки = 90, если сделать 720, то лобовая часть перехода от полудуги к носику профиля станет гораздо плотнее, от этого есть профит???

mesh_all1-720d.png

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

 

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

 

Edited by zerganalizer

Автоматизирую все, что логично.

Link to post
Share on other sites


UnPinned posts
zerganalizer

Вот ещё вариант - 4-угольники. Такие сетки можно настроить для нормальной продувки?

Mesh4x.png

 

Автоматизирую все, что логично.

Link to post
Share on other sites
zerganalizer

Никто не знает, но отвечу - можно. Сходимость лучше гибридных с треугольниками. Давление, 0.55 МАХа

Mesh4x-CFD_2fix2.png

Автоматизирую все, что логично.

Link to post
Share on other sites
green_fly

О сходимости чего к чему идет речь?

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

О сходимости чего к чему идет речь?

Видимо - члена к носу)))

Автоматизирую все, что логично.

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

Сходимость лучше гибридных с треугольниками

Гибридные это которые дяди-тёти а треугольники это которые чёрные в промежности?

"Этих команд я не знаю и никогда не юзал."@Dimetil Gidrozin (С)

"Солид это не геометрия и не тригонометрия и не алгебра это программа объёмного моделирования. возьми свою геометрию и дай мне 3-D модель развертки для станка.@Dimetil Gidrozin(С)

"Я децилион лет работаю в солиде но ни разу не читал стандартной чуши про настройки)) вообще не шарю в настройках)) короче это бред))" @Dimetil Gidrozin Dnepr (С)

"Много волшебных крутилок-перделок как в Power mill. Именно в этом и заключается комфорт работы и предупреждение ошибок в УП." @vik300001 (C)

"В случае одной координаты достаточно одного пальца - среднего@Ветерок (С)

"Пробовал померить силу показывает какие-то ньютоны." @Engineering(С)

"Это только в интернетах некоторые персонажи все умеют и знают, а на деле у них тупняк и нытье начинается." @lem_on(С)

Link to post
Share on other sites
zerganalizer

Бесполезный форум. Все строят из себя специалистов, но мне от этого толку ноль - не тянут они этот маргинальный софт, и не знают даже основные принципы построения сеток, даже простых в 2D. Берете ломаный Ансис и по обучалкам из инета рисуете? Самим запрогать - слабо???

Автоматизирую все, что логично.

Link to post
Share on other sites
a_schelyaev

А зачем?

 

Лет 10 назад тут препод из МАИ с кафедры аэродинамики написал для 2д профилей программу и предлагает ее к покупке.

Обратитесь. Попов Сергей, сейчас уже доцент.

Edited by a_schelyaev

С уважением

Link to post
Share on other sites
maxx2000

@zerganalizer , а тебе слабо написать свой язык программирования и библиотеки? 

"Этих команд я не знаю и никогда не юзал."@Dimetil Gidrozin (С)

"Солид это не геометрия и не тригонометрия и не алгебра это программа объёмного моделирования. возьми свою геометрию и дай мне 3-D модель развертки для станка.@Dimetil Gidrozin(С)

"Я децилион лет работаю в солиде но ни разу не читал стандартной чуши про настройки)) вообще не шарю в настройках)) короче это бред))" @Dimetil Gidrozin Dnepr (С)

"Много волшебных крутилок-перделок как в Power mill. Именно в этом и заключается комфорт работы и предупреждение ошибок в УП." @vik300001 (C)

"В случае одной координаты достаточно одного пальца - среднего@Ветерок (С)

"Пробовал померить силу показывает какие-то ньютоны." @Engineering(С)

"Это только в интернетах некоторые персонажи все умеют и знают, а на деле у них тупняк и нытье начинается." @lem_on(С)

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

Бесполезный форум. Все строят из себя специалистов, но мне от этого толку ноль - не тянут они этот маргинальный софт, и не знают даже основные принципы построения сеток, даже простых в 2D. Берете ломаный Ансис и по обучалкам из инета рисуете? Самим запрогать - слабо???

Где здесь Ваша зона ответственности? Сможете без угроз, манипуляций и оскорблений объяснить дееспособному человеку, зачем ему решать Ваши задачи вместо Вас?

 

Что Вас не устраивает в родных сетках SU2? Только без птичьего языка и новояза. Вы ведь инженер? Сможете сформулировать требования? Что значит 'вырастить сетку правильно' на инженерном?

 

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

МАИ

таких на слабо не возьмешь.

Link to post
Share on other sites
zerganalizer
21.06.2025 в 10:23, green_fly сказал:

Что Вас не устраивает в родных сетках SU2? Только без птичьего языка и новояза.

В SU2 уже несколько лет нету своего сеточного генератора. Это при том, что формат проприетарный. Старые родные мешеры не поддерживают новые опции SU2 - LES/DES. И вообще готового бесплатного решения не существует, не считая старых на которые нужен старинный компилятор. И не факт что он поддерживает все новые опции. А ещё нужно чтобы он программировался из питона, полностью. Open-Foam имеет такое штатно. А SU2 - нет. Более того прежние бесплатные решения на эту тему были потерты с github. А то бы я стал париться если бы было всё просто???

Автоматизирую все, что логично.

Link to post
Share on other sites
maxx2000

Зерг решил отобрать пальму первенства у Турты :g:

"Этих команд я не знаю и никогда не юзал."@Dimetil Gidrozin (С)

"Солид это не геометрия и не тригонометрия и не алгебра это программа объёмного моделирования. возьми свою геометрию и дай мне 3-D модель развертки для станка.@Dimetil Gidrozin(С)

"Я децилион лет работаю в солиде но ни разу не читал стандартной чуши про настройки)) вообще не шарю в настройках)) короче это бред))" @Dimetil Gidrozin Dnepr (С)

"Много волшебных крутилок-перделок как в Power mill. Именно в этом и заключается комфорт работы и предупреждение ошибок в УП." @vik300001 (C)

"В случае одной координаты достаточно одного пальца - среднего@Ветерок (С)

"Пробовал померить силу показывает какие-то ньютоны." @Engineering(С)

"Это только в интернетах некоторые персонажи все умеют и знают, а на деле у них тупняк и нытье начинается." @lem_on(С)

Link to post
Share on other sites
zerganalizer
Posted (edited)
20.06.2025 в 21:01, a_schelyaev сказал:

Лет 10 назад тут препод из МАИ с кафедры аэродинамики написал для 2д профилей программу и предлагает ее к покупке.

Ну, я свою продавать не собираюсь - ничего там особо ценного.

 

20.06.2025 в 22:17, maxx2000 сказал:

@zerganalizer , а тебе слабо написать свой язык программирования и библиотеки? 

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

21.06.2025 в 10:23, green_fly сказал:

зачем ему решать Ваши задачи вместо Вас?

Мне не нужно делать что-то за меня - нужно проконсультировать за азы, которые должны знать тут все CFD-ники. Но ладно - я понимаю, сам грешен - когда plm-forum.ru был в расцвете, а я был нештатным агентом BI-Pitron - я тоже (почти в шутку) просил за ценный ответ на вопрос про функционал катии 600 баксов, за консалтинг))).

21.06.2025 в 10:23, green_fly сказал:

Вы ведь инженер? Сможете сформулировать требования? Что значит 'вырастить сетку правильно' на инженерном?

Каков алгоритм генерации трасфинитной упорядоченной сетки С-типа? Я могу ее построить и в катии запросто - но нужно знать правила разметки и морфирования С-буквы (с линиями) от farfield к профилю и, видимо, линии разреза за хвостом. Резать на 2 зоны (верх/низ), на 4? Я видал подобные корявенькие примеры на гитхабе. Равное (чётное?) количество точек? Я правильно понимаю - дугу делить на то же число точек, на сколько будет биться профиль загущением по кривизне? А далее примерно вычисленным шагом дробить верхнюю и нижнюю линии? Как правильно задать транфинитную 2D-поверхность в GMSH, мне, видимо, никто уже не поможет...

 

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

Зерг решил отобрать пальму первенства у Турты :g:

А у Турты были какие-то пальмы??? А он вообще был???)))

Edited by zerganalizer

Автоматизирую все, что логично.

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

Питона вполне хватает

ну вот и людям взломанного ансиса и обучалок с тырнета хватает

  • Чемпион 1

"Этих команд я не знаю и никогда не юзал."@Dimetil Gidrozin (С)

"Солид это не геометрия и не тригонометрия и не алгебра это программа объёмного моделирования. возьми свою геометрию и дай мне 3-D модель развертки для станка.@Dimetil Gidrozin(С)

"Я децилион лет работаю в солиде но ни разу не читал стандартной чуши про настройки)) вообще не шарю в настройках)) короче это бред))" @Dimetil Gidrozin Dnepr (С)

"Много волшебных крутилок-перделок как в Power mill. Именно в этом и заключается комфорт работы и предупреждение ошибок в УП." @vik300001 (C)

"В случае одной координаты достаточно одного пальца - среднего@Ветерок (С)

"Пробовал померить силу показывает какие-то ньютоны." @Engineering(С)

"Это только в интернетах некоторые персонажи все умеют и знают, а на деле у них тупняк и нытье начинается." @lem_on(С)

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

ну вот и людям взломанного ансиса и обучалок с тырнета хватает

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

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

@zerganalizer пообщайтесь с ЦАГИ, мб им понравится ваша придумка.

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

азы, которые должны знать тут все CFD-ники

Это Ваши ожидания. Жаль, что Ваши ожидания не определяют действия других людей.

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

у инженеров-расчётчиков, как правило, не бывает свободного времени лепить свои сеточные генераторы на питоне.

Полностью согласен потому, что они в-основном моделят и считают 3D-сетки. А мой интерес - исследовать альтернативную неполиномиальную геометрию 2D-профиля на предмет поиска "идеальных профилей" под  конфигуратор крыла.

CFG-WING_beta+.png

Теперь вот повторное наблюдение: при определённом сочетании порядка точек в линиях и дуге farfield расчёт отказался работать, ругаясь на:

 

Error in "void CConfig::SetConfig_Parsing(std::istream&)":
-------------------------------------------------------------------------
Line 344 CONV_CRITERIA: invalid option name. Check current SU2 options in config_template.cfg.
Did you mean INCREMENTAL_CRITERIA?
Line 345 RESIDUAL_REDUCTION: invalid option name. Check current SU2 options in config_template.cfg.
Did you mean REF_DIMENSIONALIZATION?
Line 347 FROZEN_VISCOSITY: invalid option name. Check current SU2 options in config_template.cfg.
Did you mean FREESTREAM_VISCOSITY?

 

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

глаз бури.png

И вот вопрос - контур (curveloop) для farfield как части поверхности

 

s = gmsh.model.occ.addPlaneSurface([ cl2, cl, ]) где cl2=внешний контур и cl=профиль

 

и как контур

 

farfield = gmsh.model.addPhysicalGroup(1, farfield_curves, name="farfield") одинаковый порядок точек/примитивов должны иметь? Сейчас у меня есть опциональный реверс одного от другого, но последовательность примитивов одна - просто на выбор в том же направлении примитивы или в обратном?

 

ИИ мне предлагает описывать обход одного контура как контур + замыкающая линия, а farfield = gmsh.model.addPhysicalGroup начинать с другого примитива - замыкающей линии и далее по часовой. И как правильно задать - пока не понял. Собственно, поэтому тесты встали колом...

 

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

Короче, это больше для околонаучных дел, а не инженерных расчётов.

@zerganalizer пообщайтесь с ЦАГИ, мб им понравится ваша придумка.

Подобную разработку многократно просили сделать на CFD-forum, но ни один из выложенных макросов на моей SU2 последней версии не заработал, и ни в одном не было возможности ни настраивать конфиг в зависимости от..., ни возможности запуска мешера под задачу.

 

Если ЦАГИ попросит разработку - можно было бы и без денег договориться - за помощь в правильной настройке CFD и альтернативной продувке на их CFD для подтверждения моих результатов, но... у меня нет цели продавать это ПО, особенно пока оно авторитетно не сертифицировано. В моей возможной будущей работе в авиации или около того это было бы помощью мне в оценке разрабатываемых мною профилей под крыло, которое мне могут дать строить.

Автоматизирую все, что логично.

Link to post
Share on other sites
a_schelyaev

У ЦАГИ уже куплены решатели и сеткопостроители. Частников или ИП они в гробу видали.)

  • Чемпион 1
  • Хаха 1

С уважением

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

Если ЦАГИ попросит разработку - можно было бы и без денег договориться - за помощь в правильной настройке CFD и альтернативной продувке на их CFD для подтверждения моих результатов, но... у меня нет цели продавать это ПО, особенно пока оно авторитетно не сертифицировано. В моей возможной будущей работе в авиации или около того это было бы помощью мне в оценке разрабатываемых мною профилей под крыло, которое мне могут дать строить.

Регистрируйте фирму, до 3х лет дают гранты на научные разработки. Тяжело, отчеты писать и тд. Но живут как то. Потихоньку оформите интерфейс и плагины к разным САПР. Будет продукт. Я знаю точно есть самостоятельно контора которая делала расчеты по полю магнитному и электрическому. Поддержка была в ВУЗах разных. Щас вон смотрю разводка плат отечественная, развивается, электроника и тд, разные конторы занимают ниши западных софт гигантов.

Link to post
Share on other sites
zerganalizer

Надоело гадать на кофейной гуще - дёрнул генератор сетки из wuFoil. Сижу вот, разбираюсь - какие параметры генерации доступны. Y+ тут берётся из условий продувки + все остальные параметры буду сводить к своему ИИ-CFD for AirFoil.

wuFoil_4x.png

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

Автоматизирую все, что логично.

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.

  • Сообщения

    • gudstartup
      Это за хранение на секретном складе и рытье тоннеля для скрытной поставки из Германии! Я бы назвал это PilZ эффект!
    • brigval
      Тексель 1.69   В версии 1.69  Добавлено: Вставка очередной литеры в ОН (для системы Брадок).  Добавлено: На панель добавлена кнопка «Сформировать и создать PDF».  Добавлено: В графе «Перв. примен.» создается гиперссылка на спецификацию в этом файле.  Добавлено: В разделе «Сборочные единицы» создается гиперссылка на новую спецификацию.  Добавлено: Перевод степени в обозначении единиц измерения в надстрочный вид в графе «Наименование» спецификации и ведомости покупных изделий.  Добавлено: Над ОН сформированного документа вставляется и однострочная запись и двустрочная.  Добавлено: В спецификации улучшена корректировка названий разделов и форматов документов.  Добавлено: При экспорте документа в формат PDF дата не вставляется в ОН, если нет фамилии.  Добавлено: База данных. Вставка СПМ в строку с выделенной ячейкой, а не под заголовок раздела.  Исправлено: В добавляемых строках могло оставаться выравнивание текста посередине.  Исправлено: «Размножать по указанию» смещается ниже, если в графе «Формат» стоит «*)».  Исправлено: В листе «список» запись новой спецификации иногда размещалась последней, а не по возрастанию обозначений.  Исправлено: Не создавался PDF-файл, если в его имени присутствовали символы, запрещенные для имен файлов.  Исправлено: База данных. Не работала вставка многострочной записи СПМ.  Исправлено: База данных. При заполнении БД из спецификации могло появляться сообщение об ошибке.  Исправлено: База данных. Изделия с классом в обозначении 76 попадали в раздел Сборочные единицы, а не Детали.  Исправлено: База данных. Иногда в окне базы данных не отображались СПМ.  Исправлено: База данных. При добавлении записи в БД она попадала в «Другие…» вместо выделенной группы.  Исправлено: База данных. Была не активна кнопка «Добавить в БД» при добавлении первой записи в пустую группу.   Скачать  
    • Guhl
      В вашем случае однозначная покупка нового Если что-то произойдёт и выяснится, что реле ремонтированное, то эффект будет сильным и негативным
    • rangerover
      возможно в каких-то случаях придется так и поступить будет и бюджетнее. только ручками поработать. нам блок встал в 200тр в моем же случае- однозначное НЕТ гильотина с ножем 3,2метра и с гидравлическим прижимом материала добавляем сюда руки девочки которые под ним находятся постоянно в течении смены + почти 20 лет безукоризненной работы + именитый надежный бренд (если реально пройдусь по станкам то кругом будет пильц и лишь немного ReeR и шнайдер и только эпизодически нечто иное)  + необходимость восстановления оборудования в самые кратчайшие сроки когда на раскачку, настройку, проверку, корректировку- нет нужного времени   немного оффтопа   по сути его и не глючило сдохла память что простительно железяке, верой и правдой прослужившей столько лет не могу судить сколько циклов чтения могла бы пройти энергонезависимая память наверное не добрала ресурса... но претензий не имею к Pilz reer и шнайдер дохли куда чаще. особливо шнайдер мне по жизни солил.... еще в оборудовании постоянно встречаю- ставят какие то очень специфичные девайсы нераспространенные, с особенностями... которые нафиг не нужны и не используются как будто склады очищают поставщики оборудования, сливая залежалое это зачастую очень осложняет жизнь нам, эксплуатантам... особливо в текущих реалиях...и тут как раз немцы в лидерах до недавнего времени немецкие станки- всё из немецких комплектующих дороже-не важно, хуже-не важно- главное, немецких! и вот тут их зондер аусфюрунг (SS- спец.исполнение) часто показывает себя во всей красе был опыт замены гибридного сервошагового за 284тр, сервы за 1,2млн (буква Q в маркировке сделала девайс настолько трудноотыскиваемым...поставку ставили 1 год! ну и добавила к цене 1млн))))   ну ничего... сложности закаляют.... лишь бы не перекалиться....  
    • Guhl
      Может потратить эти силы на вырезание с корнем реле "безопасности", которое само глючит, что представляет опасность само по себе? И заменить его на обычное реле хорошего качества
    • a_schelyaev
      Ну тогда зачем вам второй порядок на турбулентности? Чем подробнее сетка, тем первый порядок ко второму ближе. Вся интрига у вас в зоне погранслоя, а там сетка хорошая.
    • gudstartup
      Если прижмет то выучите!
    • rangerover
      Богатый инструментарий! Респектую! В некотором роде мне такое (о счастье!) как правило не требуется. Вникать в программно-аппаратную суть каждой коробки и учить софт... тут емкости моей большой (в смысле размера) головы явно не хватит.... есть шнур... есть софт... добавляем голову и этого хватает прописать порт... слить проект или заменить прошивку... но с каждым днем все труднее... взять этот же шнайдер... от возраста у меня летят IGBT на сервопаках, somove и прошивки теперь качать ну очень весело с официального сайта... и если раньше все ненужное с рабочего компа удалял, то теперь комп просто свалка прошивок, драйверов, софта.... некий итог гильотина Kuper, умерла внутренняя память на блоке Pilz Pnoz m0p (прошивка 5.01, проект 2007года, год выпуска не выяснен) для полнозенного (ИМХО) восстановления (работоспособность оборудования+ слитый для возможных проблем в будущем проект+ запасная карта памяти с записанным проектом) необходимы (использованы) нульмодемный кабель+ RS232-usb + Pnozmulti configurator 10 версии грохнутый (возможно пододет 11 версия с лицензией Basic в открытом доступе) + пароли к проекту (запрос производителю) либо скрипт для их перебора (он и выручил) + новый блок + новая карта памяти   все прошло гладко и довольно быстро из шероховатостей было лишь единожды- скрипт прерывал свою работу (это никто не описывал), также такое наблюдалось и на станционарном компе на котором велась подготовка и пробные прогоны предстоящих действий   проект слит! карта памяти записана!   спасибо форуму и форумчанам!  
    • Борман
      Ого, да вы типа расчетчик...   Начни вот этого... для вот этого а потом.       Вот же, сначала я сказал а потом дипсик
    • Игорь_212
×
×
  • Create New...