Перейти к публикации

расчет сопла Лаваля


Рекомендованные сообщения

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

При расчете солпа Лаваля столкнулась со следующей проблемой.

Была посчитана задача сверхзвукового истечения газа из сопла Лаваля. Параметры газа на входе давление 20атм, температура 590К. Давление фоновое 10^(-3)ммрт ст. на выходе необходимо получить значение числа маха =2.

граничные условия:

На левой стороне расчетной области задавалось граничное условие вход со скоростью набегающего потока, определенной давлением Pin =2000000 Па ,температурой Tin =590 К.

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

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

На правой стороне установлено граничное условие свободный выход. Температура была задана значением, 0 К. На скорость накладывалось условие-сверхзвуковой выход.

Задача рассматривалась в двумерной осесимметричной постановке, без учета турбулентности.Сетка 100 на 35, без адаптации.

Данный проект прилагаю с названием<noindex> сопло</noindex>. И <noindex>отчет</noindex> по нему небольшой.

Затем была поставлена похожая задача, где условие выхода ставилось уже не на сопло, а на сферическую поверхность. Хотелось посмотреть чем будут отличаться результаты, однако при тех же настройках данная задача у меня разваливается. Проект прилагаю с названием <noindex>сопло_сфера</noindex>.

Быть может кто-нибудь подскажет в чем может быть причина или как бороться с данной проблемой?

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

Ссылка на сообщение
Поделиться на других сайтах


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

Ссылка на сообщение
Поделиться на других сайтах

Мы обычно делаем так - задаем давление в камере на ГУ.

Задаем НУ с тем же давлением в объеме, который простирается до критического сечения.

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

Обычно работает.

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

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

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

Выход: или это место проадаптировать локально, чтобы градиент по сетке размазать, или задать распределение в этом месте более монотонное.

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

Ссылка на сообщение
Поделиться на других сайтах

сопло_сфера_17.rarЗдравствуйте, спасибо огромное за ответ!

Сделала адаптацию на стенке. задала НУ в пространстве с большим давлением( 1000000Па), сначала решение было вполне адекватным..невязки в -7 степени, число Маха на выходе 1,5..так было где-то на 1000 шагов, затем оставила решалку на ночь, встала с утра..а там все развалилось((((.

Проект с результатами прилагаю.

правильно ли я делаю, что ставлю условие симметрия на гранях сектора? просто в СFX задается в таком случае условие периодичности, насколько я помню. В документации не нашла описания граничных условий.

Мы обычно делаем так - задаем давление в камере на ГУ.

Задаем НУ с тем же давлением в объеме, который простирается до критического сечения.

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

Обычно работает.

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

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

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

Выход: или это место проадаптировать локально, чтобы градиент по сетке размазать, или задать распределение в этом месте более монотонное.

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

Ссылка на сообщение
Поделиться на других сайтах

Я в постановке кое что поправил.

1. Убрал адаптацию.

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

3. Задал еще парочку областей для адаптации - не только в боксе, но еще в конфузорной части и цилиндрической.

4. В ограничителях для скорости убавил диапазон.

5. Вместо физического шага задал число Куранта=1. Добавил ограничитель по шагу интегрирования 1e-8, а потом ограничитель снял, чтобы шел по явному шагу расчет.

6. Можно еще задать на границе Всободного выхода подусловие для Скорости - Сверхзвуковой выход. Т.к. слишком выход близко от сопла задан... уже стоит. :)

Запустил у себя на предрелизной версии. Поглядим что да как.

Если упадет после 1000 итерации, то одам разработчикам.

Ссылка на сообщение
Поделиться на других сайтах

Запустил у себя на предрелизной версии.

это которая пре.8.2?

не ожидал, что в архиве файл к FV3...

просто у меня мое сопло еще пока не пересчитано,

которое тоже валилось раньше - и от развала я ушел через расчет на шаге ~0.5 CFL или меньше.

еще поступали рекомендации - отключать турбулентность, но пока не пробовал.

Ссылка на сообщение
Поделиться на других сайтах

1500 итераций, полет нормальный.

Шаг интегрировани 3e-7

Турбелентности тут нет.

Порядок первый.

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

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

Сейчас переключю на второй порядок.

Ссылка на сообщение
Поделиться на других сайтах

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

Спасибо, что не забываете))).

1)Версия 3.08.01, насколько я понимаю это самая свежая из всех, что сейчас доступны.

2) Переделала проект, следуя вашим советам.

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

Адаптация у меня и была на всей стенке сопла, поэтому я её оставила..

Задала число CFL =1. Ограничила шаг интегрирования до 1e-8.

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

Плюс ещё я поменяла нач условия. В боксе давление 2000000, температура 590( как в гран условие входа), во всей остальной области давление 0,13 (как в вакууме), температура комнатная 300К. Решение сразу разваливается, как же у вас все вышло правильно?В прошлый раз я делала давление в нач усл для пространства выше..порядка тоже 2000000 и все по началу шло хорошо, но затем разваливалось.

Ещё у меня задачка очень медленно считается и компьютеру тяжело постоянно, но я думаю это из-за измельчения сетки произошло.

Проект прилагаю.

soplo_sphera_18.rar

Ссылка на сообщение
Поделиться на других сайтах

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

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

Ссылка на сообщение
Поделиться на других сайтах

Собственно это мы и делаем задавая НУ с высоким давлением до критического сечения. Задача с этого момента и начинает развиваться фактически от границы.

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

Возможно, что у автора какой-то косяк в решалке, просто и всего.

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

post-1864-1334901814_thumb.jpg

post-1864-1334901818_thumb.jpg

Ссылка на сообщение
Поделиться на других сайтах

Собственно это мы и делаем задавая НУ с высоким давлением до критического сечения. Задача с этого момента и начинает развиваться фактически от границы.

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

Возможно, что у автора какой-то косяк в решалке, просто и всего.

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

Если я правильно понял задачу то у ТС истечение в вакуум (0.13Па) а на ваших картинках внешнее давление близко к атмосферному. При истечении в атмосферу вообще никаких проблем быть не должно у любого решателя.

Изменено пользователем HFL
Ссылка на сообщение
Поделиться на других сайтах

Нет, у него только опорное давление задано маленькое, а НУ большие.

В процессе решения, учитывая ГУ и их близость, получается то, что получается.

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

Ссылка на сообщение
Поделиться на других сайтах

Для данной задачи можно разделить ГУ, чтобы было св/зв и обычное.

Но можно не фантазиоровать, и если все сходится нормально, то задать везде на выходе просто Своодный выход с нулевым давлением, относительно опорного.

Ссылка на сообщение
Поделиться на других сайтах

Если жы мы хотим считать задачу, не дожидаясь, когда там НУ рассосется, а убрать все НУ и считать с момента вакуума, то главный фикусовый пикус этой задачи это большой перепад давления между ГУ и областью. Из-за этого, если задавать большой шаг интегрирования, то получится "проскок" - около ГУ будет область с очень высокой скоростью и очень низким давлением, после нее уже сформируется область с другими характеристиками. Эта зона прилипнет у входу и будет давать нефизичное поведение.

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

Потом уже можно будет ослаблять ограничитель и получить нормальное распределение давление от входа в область..

Ссылка на сообщение
Поделиться на других сайтах

а насколько всё это шаманство может ускорить счет по сравнению с заданием давления на входе по формуле в зав-ти от времени?

Т.е. если решать нестационар с вакуума во всем объеме, постепенно поднимая давление на входе.

Тогда этих моментов с проскоками и пр. можно 100% избежать.

Ссылка на сообщение
Поделиться на других сайтах

Самое лучшее шаманство это поставить массовый расход на входе.

Если ставить давление, то всегда придется тараканов лечить.

Я на выходные оставил свою постановку на расчет. Там проблема именно из-за гуляния волны внутри камеры движка. С выхлопом проблем вообще нет никаких.

Если не получится, буду делать как ты говоришь - запускать движок подкручивая подсос.

:)

Ссылка на сообщение
Поделиться на других сайтах
  • Bonusfrag открепил тему

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Viktor2004
      Туда вроде наоборот заносится значение какое-то, но не считывается Смотрю чужие программы, там вроде только 8549 используют. При чем у них в программах циклы поболее моих, которыми я круги чертил O4198 ; #500=#8549 ; IF[ #8549 EQ 0 ] THEN ; #10409=0 ; ENDIF ; IF[ #8549 EQ 134 && #10409 EQ 0 && #10422 NE 0 ] THEN ; #10409=1 ; #10422=FIX[#10422 / 10] ; #10427=1 ; ENDIF ; IF[ #8549 EQ 48 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 0 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 49 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 1 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 50 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 2 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 51 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 3 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 52 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 4 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 53 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 5 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 54 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 6 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 55 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 7 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 56 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 8 ; #10427=1 ; ENDIF ; IF[ #8549 EQ 57 && #10409 EQ 0 ] THEN ; #10409=1 ; #10422=#10422 * 10 + 9 ; #10427=1 ; ENDIF ; IF[ #10422 GT 9999 ] THEN ; #10422=FIX[#10422 / 10] ; ENDIF ; IF[ #500 EQ 249 && #8500 EQ 4170 ] THEN ; #8500=4601 ; M99 ; ENDIF ; IF[ #500 EQ 240 ] THEN ; IF[ #8500 EQ 4174 || #8500 EQ 4173 || #8500 EQ 4177 ] THEN ; #8500=4170 ; M99 ; ENDIF ; IF[ #8500 EQ 4178 ] THEN ; #8500=4170 ; M99 ; ENDIF ; ENDIF ; IF[ #500 EQ 248 && #8500 EQ 4170 && D34.0 NE 0 ] THEN ; #8500=4174 ; M99 ; ENDIF ; IF[ #500 EQ 247 && #8500 EQ 4170 && D30.4 EQ 1 && D29.6 EQ 0 ] THEN ; #8500=4175 ; M99 ; ENDIF ; IF[ #500 EQ 246 && #8500 EQ 4170 && D35.0 EQ 1 && D35.4 EQ 1 ] THEN ; #8500=4178 ; M99 ; ENDIF ; IF[ #8549 EQ 152 && #10409 EQ 0 && #10422 EQ 5656 ] THEN ; #8500=4177 ; M99 ; ENDIF ; M99 ;  
    • nicomed
      Как победить проблему с блокированием сегментов эскиза не знаю. Поэтому пока полумеры... Ввел активацию чертежного листа после разрыва линии. Для разблокирования сегментов после закрытия программы двойным кликом активировать чертежный вид, где надо двигать сегменты эскиза. Добавил настройки. Можно настроить величину генерируемого зазора в  файле options.xml. По толщине и стилю линии, если кто подскажет как прочитать стиль и толщину выбранной кромки ( силуэтной кромки), то тогда можно будет "напосмотреть".   Пару раз натыкался на такой глюк - остается только один сегмент эскиза, грешу на рассинхронизацию работы солида и приложения. EdgeTrim_v3.3.zip
    • si-64
      да, это работает. спасибо. но как то особо не работал со слоями, нужно прямо заморачиваться(
    • nicomed
    • Stanislav
      Фрезеровка и токарка ЧПУ. Территориально Нижний Новгород, отправка в регионы ТК. Фрезеровка Алюминия и его сплавов, Латунь, Текстолиты, Сталь в небольших объемах. Токарка как цветные так и черный металлов и неметаллов. Габариты деталей для фрезеровки порядка 400мм*600мм. Оплата, пока что, наличные или на карту. Чертежи и модели отправлять на почту 0563506@mail.ru там же все согласования и обсуждения.
    • Александр1979
      Можно попробовать код считывать из переменной #8501. В руководстве написано что значение сохраняется в переменной до тех пор, пока не будет произведено чтение из неё.
    • si-64
      Можно ли сделать так чтобы в чертеже все размеры были черные, а в эскизе детали цвета управляемых и управляющих различались? настройка меняет цвет как в чертеже так и в эскизах: Зачем это нужно? В чертеже есть элементы, отличные от черного, поэтому вариант печати (сохранения в PDF) в ч/б не устраивает.
    • Artas28
      Шота получилось. Всё равно. Жду ответа от гуру NX, как сделать фаску красиво в 5 осях, что бы вектор инструмента менялся.  
    • Viktor2004
      Моя программа считывает его лишь тогда, когда в момент нажатия кнопки программа выполняет команду считывания переменной. Во всех остальных случаях код получается не считан
    • gudstartup
      но кто то же этот код считывает из mdi буфера раз его там не оказывается когда ваша программа его опрашивает? 
×
×
  • Создать...