Jump to content

CFD - срыв вихрей. Нужно понимание.


Recommended Posts

 Здравствуйте

вот такая типовая задача  von Karman vortex street (наверно из разряда средней сложности).

 Начинаю решать с простого круглого сечения в 2d

 Есть начальный пример с объяснениями.

https://www.basicairdata.eu/knowledge-center/computational-fluid-dynamics/von-karman-street-tutorial/

Решаю сначала в  Agros2d (бесплатный код - легко гуглится)

Там как раз есть пример Hole.  Тип анализа  Transient , уменьшаю вязкозть в 10 раз - получается поймать ту самую дорожку.

Причем расчетная область в разы уже чем в указанной выше статье.

В общем экспериментирую с вязкостью,  улучшаю сетку,  увеличиваю скорость - до Re где то 40 000 получается находить решение (хотя бы первую секунду)

Иногда получается но не всегда. Решатель Ньютона дорожку дает. Пикарда не дает - только красные пятна от концентрации потока.

Пробую усложнять сечение - решаю в ElmerFEM

с ходу на грубой сетке получаю решение как в присоединенном архиве.

Потом сетку улучшаю и получаю совсем скучное - никаких вихрей и ничего. Но вроде отчасти правдоподобно.

То есть пока я никаких моделей турбулентности не применял - просто прямой Навье Стокс.

Понять не могу в чем суть этой дорожки и как ее гарантированно получать численным решением. В чем и вопрос на данный форум  и состоит.

elmer1.mp4.zip

Screenshot_2019-02-20_20-15-13.png

Link to post
Share on other sites


karachun

Так вроде дорожки Кармана наблюдаются только при ламинарном течении и где-то после Re=300-400 такая красивая психоделическая картина исчезает.

Считал тестовый пример (и примерно попал по числу Струхаля - то есть по частоте срыва вихрей) в TMG Flow. Для надежности задавал в начальный момент времени скорость под углом в 45 градусов к оси канала. Хотя возможно что и без начальной скорости все должно было заработать - сами ошибки округления должны вызвать нестабильность. При этом у меня дорожки появлялись не сразу - уходило 100-200 периодов срыва вихря чтобы течение установилось. И вроде бы у меня тоже дорожки появлялись не на всех сетках.

reynolds-number-dependency-n.jpg

 

  • Нравится 1
Link to post
Share on other sites

 О да. Спасибо. Обнаружил сегодня что если дать сначала небольшую V_y для  inlet   то вихри срываются легче гораздо.

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

А как в таком случае (в узком канале) считать Рейнольдса. Я считал  dU/v причем d брал как диаметр круга, а U -  среднюю.

Но по моему в данном случае это не верно - у меня картинки все те же а значения отличаются в разы если не на порядки.

 

 

Link to post
Share on other sites
karachun
8 часов назад, etcartman сказал:

Я считал  dU/v причем d брал как диаметр круга, а U -  среднюю.

Эти величины и нужно брать. Может тогда взята динамическая вязкость вместо кинематической?

Еще в порядке бреда про то как можно получить вихри:

1) задать, несимметрично, одну четверть стенки как стенку с проскальзыванием (я так и делал в TMG Flow), на результат не должно сильно повлиять, там главное форма а не трение;

2) поставить цилиндр не по центру расчетного домена - тоже будет некоторая асимметрия потока;

3) задать вращение (касательную скорость) на стенке цилиндра, можно взять малую величину;

Если решатель позволяет, то можно получить вихри с помощью этих ухищрений и потом перезагрузиться на нормальной модели без вращения/проскальзывающих стенок и на подробной сетке, неустойчивсть должна остаться но с подробной сеткой можно получить реалистичные значения для к-та лобового сопротивления и частоты срыва вихрей. Для ламинарного течения я ориентировался на эту формулу : https://en.wikipedia.org/wiki/Kármán_vortex_street#Formula и на эту зависимость к-та сопротивления TUBES_CROSSFLOW_OVER_FIG6.gif

8 часов назад, etcartman сказал:

То есть я так и понял - что грубая сетка в данном случае также провоцирует неустойчивость и тем и лучше регулярной.

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

Edited by karachun
Link to post
Share on other sites

 Вот в примере для  Elmer человек задает специально очень широкий канал - с боков в особенности. А скорость задает постоянным профилем по фронту - причем как в inlet  так и в качестве  initial condition  по всей области.

Я задавал как в другом примере (стандартный пример  Agros2d - hole или стандартный пример Elmer - Vortex) - узкий канал и параболическую эпюру в inlet.

Число Рейнольдса согласно википедии -  мера отношения сил инерции, действующих в потоке, к силам вязкости.

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

В канале число рейнольдса - диаметр канала берется в качестве характеристического диаметра. Для тела - его диаметр

А для тела в канале - не совсем понятно что брать.

Я бы предположил что если Re  это какая то интегральная мера отношения

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

 

Link to post
Share on other sites
karachun
10 часов назад, etcartman сказал:

Вот в примере для  Elmer человек задает специально очень широкий канал - с боков в особенности. А скорость задает постоянным профилем по фронту - причем как в inlet  так и в качестве  initial condition  по всей области.

Границы (вход, выход, стенки) желательно брать по дальше от интересующего объекта, в данном случае от цилиндра. Боковые стенки желательно отодвигать хотя бы на 10 диаметром. Вообще выбор размеров расчетной области это часть сеточной сходимости. Можно начать с малой области и потом увеличивать ее до тех пор пока интегральные параметры (к-т лобового сопротивления или число Струхаля) перестанут сильно изменяться, результаты выйдут на полку.

10 часов назад, etcartman сказал:

А для тела в канале - не совсем понятно что брать.

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

10 часов назад, etcartman сказал:

Я задавал как в другом примере (стандартный пример  Agros2d - hole или стандартный пример Elmer - Vortex) - узкий канал и параболическую эпюру в inlet.

Это не правильно, если канал бесконечно широкий то и скорость в нем должна быть постоянной по ширине. Расчетная область на картинке в первом посте явно очень узкая. Мультик с вихрем получиться но интегральные характеристику посчитать не выйдет.

Link to post
Share on other sites
karachun

@etcartman Пересчитал цилиндр в CFX и получил хорошее совпадение с теорией.

Число Струхаля получилось ~0.16, при этом надо учитывать то, что в разных экспериментах результаты отличаются и нет какого то точного и единственно верного значения.

Показать содержимое  

Table.thumb.JPG.eb00deda373855f491dd8b8120cf9ad7.JPG

Hide  

Расчет проводил на достаточно грубой сетке (80 элементов на окружность).

Вот такой  

Mesh.thumb.JPG.ff0cbe29c9d2840aaa7a833c6964861a.JPG

Hide  

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

Calculation.xls

Roshko(1955).pdf

vortexcylinders.pdf

lec20_viv1.pdf

Link to post
Share on other sites

спасибо.

а у меня есть еще такой общий вопрос по решению уравнения Навье Стокса.

Есть ли в турбулентном режиме стационарное решение вообще? То есть как толковать все эти дорожки - как аналог потери устойчивости

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

Link to post
Share on other sites
karachun

Всех тонкостей я не знаю, но отвечу.

Во первых здесь есть небольшая путаница - это течение еще ламинарное, Re=100, ламинарное не значит безвихревое. По идее для этого случая если численные ошибки будут равны нулю и не будет начальных возмущений то конкретно в этом случае дорожки не появятся. В CFD если стационарное решение ведет себя как явно нестационарное, если это сильно влияет на результат то надо переходить в нестационарную постановку. И стационарное течение это абстракция, приближение - все реальные течения нестационарны.

Получается что дорожки Кармана это

7 часов назад, etcartman сказал:

единственное решение системы при заданных граничных условиях и наличии несовершенств, "шума" в системе

а это то же самое что и

7 часов назад, etcartman сказал:

аналог потери устойчивости

в общем оба ответа верны)

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

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

Есть всякие LES, DES и прочие URANS модели, в которых мелкие вихри специально разрешаются сеткой но там сама постановка только нестационарная, иначе нечего будет считать.

https://www.youtube.com/watch?v=lkVfbJmWhk4

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

Если осваиваете CFD то я бы посоветовал посчитать такую задачу.

http://cfd.mace.manchester.ac.uk/cgi-bin/cfddb/prpage.cgi?53&EXP&database/cases/case53/Case_data&database/cases/case53&cas53_head.html&cas53_desc.html&cas53_meth.html&cas53_data.html&cas53_refs.html&cas53_rsol.html&1&0&0&0&0

Это течение в уступе.

image1.gif

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

В этом случае и само течение и расчет в CFD будут стационарными.

Вот что получилось у меня:

http://cccp3d.ru/topic/90837-сравнение-расчета-с-реальностью-крыло-самолета/?do=findComment&comment=882264

Хорошие описания разных моделей турбулентности на русском языке есть в этом пособии:

http://yun.su/science/book_1.pdf

  • Нравится 1
Link to post
Share on other sites
karachun

И еще при использовании RANS моделей турбулентности (SA, k-e, k-w, SST - то есть используемые в 90% всех инженерных расчетов) мелкие нестабильности потока демпфируются в следствии самого алгоритма решения. То есть в этом сама суть осреднения по Рейнольдсу - заменяем хаотичные пульсации на фиктивную турбулентную вязкость.

И с другой стороны если использовать ламинарную модель для расчета явно турбулентного течения (что естественно не правильно) и уменьшать размер сетки, т.е. идти по направлению к DNS, то решатель будет пытаться поймать мелкие вихри и стационарное решение не сойдется.

  • Нравится 1
Link to post
Share on other sites
an_rushin

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

Link to post
Share on other sites
karachun

Вот архив с проектом CFX. Чтобы получить периодичный вихрь я сперва считал 5-10 секунд с вращающимся цилиндром (1 об/с) а потом уже перезапускался с этого на модель с не вращающимся цилиндром.

Cyinder_coarse.zip

Link to post
Share on other sites
soklakov
14 часа назад, an_rushin сказал:

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

в каком-то конкретном коде? или вообще?

Link to post
Share on other sites
etcartman
В 3/1/2019 в 03:24, karachun сказал:

ь ламинарную модель для расчета явно турбулентного течения (что естественно не правильно) и уменьшать размер сетки, т.е. идти по направлению к DNS, то решатель будет пытаться поймать мелкие вихри и стационарное решение не сойдется.

Сколько видел примеров - все именно ламинарное (правда не на очень высоких  Re). И даже читал такую мысль на форуме cfd online  что модели турбулентности хотя и могут давать вихри , но поскольку результаты зависят от параметров модели турбулентности (то есть берутся строго говоря от фонаря) то доверять им особенно нельзя. Собственно на не самых мелких и не на адаптивных сетах расчеты вполне могут сходиться с достаточно малым шагом. А иногда сходятся и довольно грубые. Тут по моему грубая сетка работает как одна из старых моделей  slope limiter - просто сглаживает пики и все.

 Вот на картинке довольно простая модель из  Agros2d

 Там где сетка мелка - там вырисовываются вихри. Где груба - результат просто размывается

Агрос вообще не CFD  программа - просто мультифизика. Там нет никаких моделей - просто прямой расчет

turbulency.png

Edited by etcartman
Link to post
Share on other sites
karachun

Наверное присутствующие и так подписаны/следят за новостями на этом сайте. Но продублирую новость, если кто еще не видел.

http://magicdpd.ru/курс-лекций-по-моделированию-турбуле/

Link to post
Share on other sites
  • 3 years later...

Гайз! Не получается поймать ту самую кокаиновую дорожку Кармана! Точнее, не получается попасть в диапазон как на картинке во втором посте. Юзал URANS k-e модель, ламинарный нестационарный решатель, навороченные пристеночные функции, 2D. Другие параметры: D=0,01 м. Среда - вода 20 градусов. Игрался с плотностью сетки, но сильно мельчить не стал, т.к. делал много всяких тестовых расчётов. Вот макс плотность после адаптивных уплотнений
сетка.jpgсетка_увелич.jpg

При Re=50 получается такая симметричная картина (которой быть не должно)
Re=50 симм.jpg
А при Re=100 на эпюре скорости/завихренности дорожка вроде как видна,

Re=100 дорожка.jpg

но на графике силы не видно периодичности (шкала нормализована)
convergence graph.jpg
И примерно такая же картина наблюдается и при более высоких числах Рейнольдса. Ну, при Re=1000 уже видны и дорожки, и силу колбасит как надо... Хотя тут уже с турбулентностью считать надо

Re=1000 эпюра.jpgпериодичность сила.jpg


Собственно вопрос: это только у меня так?) В чём подвох может быть?

 

28.02.2019 в 21:00, karachun сказал:

а можно как - нибудь повторить? ссыль сдохла..))
Ну или картинку хотя бы с параметрами/размерами задачи...

 

Edited by Jesse
  • Нравится 2
Link to post
Share on other sites
karachun

@Jesse Такое бывает. Нужно задать некоторую неравномерность а то модель слишком симметрична и не хочет терять устойчивость.

 

Тут целый букет вариантов.
-) задать в начальных условиях скорость под углом;
-) немного сместить цилиндр ближе к одной из стенок;

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

-) задать стенке цилиндра вращение (касательную скорость), потом также после появления дорожек перезапуститься с неподвижной стенкой;
-) можно даже задать в качестве начальных условий расчет на Re=100 с уже готовыми дорожками.

И даже со всеми этими ухищрениями дорожки могут не появиться сразу, нужно будет подождать.

 

53 минуты назад, Jesse сказал:

а можно как - нибудь повторить? ссыль сдохла..))

Я аж испугался что эту базу данных закрыли. Но нет, там сайт обновили и структура сайта поменялась.
Вот все примеры.
http://cfd.mace.manchester.ac.uk/ercoftac/doku.php?id=all_cases
а вот пример с уступом
http://cfd.mace.manchester.ac.uk/ercoftac/doku.php?id=cases:case053

Edited by karachun
  • Нравится 2
Link to post
Share on other sites
13 часов назад, karachun сказал:

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

Задавал в начальных условиях скорость по вертикали, равную 0,1% от горизонтали.  Re~50..60. Дорожки появляются.
Также пробовал сделать несимметричную относительно гориз-й оси расчётную область. Тут уже результаты зависят от сетки.

karm1.jpgkarm2.jpg

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

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

И даже со всеми этими ухищрениями дорожки могут не появиться сразу, нужно будет подождать.

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

Но опять таки: эпюра эпюрой, но на графике цели (сила) нету ярко выраженных колебаний как при Re=1000... просто прямая линия. По идее это можно было бы объяснить турбулентным режимом (т.е. сила на порядок/дки больше должна быть), но решатель то ламинарный. Вот за график больше всего непонятно пока что...

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

:good:отлично! Благодарствую.

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

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

Значит еще не достигнута сеточная сходимость. Результат не должен зависеть от сетки.

Edited by karachun
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




  • Сообщения

    • AlexArt
      Очень интересно, но не понятно. Нужен простой пример действий и целей. Тогда, возможно, получится подсказать.
    • KorovnikovAV
      У тебя странные представления о страхе. Страна кстати в большинстве белая, просто с высоким уровнем преступности. А свои влажные фантазии оставь при себе, мне такое не интересно. 
    • netlend
      Добавка следуюющих страниц  
    • Jesse
      это ты типа показал, как надо шутить?)   это вряд ли..) и что же с тобой делали в ЮАР чёрные мальчики, давай рассказывай Только сильно без подробностей
    • Alex_anders
      Устанавливаю комплекты Simodrive 611 (платы 6SN1118-1NH01-...) на фрезерный станок. Управление импульсными сигналами, ОС по энкодерам син/кос. Почитал мануалы, скачал Simocom U. Подключил на столе. В целом все понятно, вопросов по параметризации приводов нет, двигатели работают нормально. Осталась пара вопросов.    1. Так и не понял, как организовать экстренное торможение двигателями при пропадании сигнала разрешения. Сигнал Естоп по ТБ должен быть заведен и в чпу и в привод. Если кнопкой аппаратно разрывать сигнал разрешения привода, он останавливается выбегом. У меня хоть и двигатели с тормозами, но хотелось бы сделать совсем по-правильному.     2. Не понял, может ли этот привод управлять вентилятором шпиндельного двигателя. Нашел параметр, при достижении температуры выводить предупреждение. Настроил его на выход. Вроде бы все хорошо, но по истечении таймаута (240с макс), привод вываливается в ошибку по перегреву. Такой вариант не прокатил  ).   
    • netlend
      Добрый вечер. Вообщем станок поехал,причину озвучивать не буду-элементарная ошибка ,что аж стыдно.С правой стороны обнаружил отгнивщий датчик ренишау.Дума завтра электронщик вернет-и предупреждение исчезнет.Не решилась проблема с проскоком револьверной головки и автозапуском гидравлики.Сделал фотки PMC страниц-может кто увидит некорректные данные.Буду благодарен за подсказки.
    • Ветерок
      Я тоже. Но Солид непобедим.
    • Shvg
      Не совсем понятно что пишется. Macros, standalone API (.exe files) или add-in (.dll files). И да, это затратная функция, особенно в exe файлах. Примерно раз в десять время можно сократить в них используя swApp.CommandInProgress.   Вот примерные тестовые результаты сборки из 10000 шариков с использованием CommandInProgress и exe файла. Время дано в миллисекундах. Функция GetChildren: 3198 Цикл for: 21069 Функция GetChildren: 3078 Цикл for: 21612 Функция GetChildren: 3127 Цикл for: 21538 Функция GetChildren: 3237 Цикл for: 21151 Функция GetChildren: 2973 Цикл for: 21622   Без CommandInProgress сама функция GetChildren отрабатывала 42...48 сек. P.S. Комп старенький.
    • ressurect83
      Подкидывал два других драйвера по оси Х, менял местами драйвера. Реакции ноль.
    • KorovnikovAV
      Что то я сомневаюсь в вероятности такого развития событий. Сильно. Да и после месяца в ЮАР меня сложно испугать. 
×
×
  • Create New...