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

Проблема со сходимостью уравнения энергии


teremok

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

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

 

Возникла неожиданная проблема.

 

Решаю сопряженную задачу в Ansys CFX (камера сгорания с моделированием теплового состояния стабилизатора). За начальное приближение беру расчет с грубым разрешением погранслоя (пристеночный элемент 0,1 мм). При этом, хочу отметить, что сетка гексаэдрическая, и для разрешения погранслоя строил О-грид сетку у стенки. Соответственно, переход от грубого разрешения погранслоя к подробному выполняется просто корректировкой закона распределения размеров элементов по О-грид-сетке.

 

Проблема начинается, когда я использую начальное приближение (с пристеночным элементом 0,1 мм) на нормальную сетку (с пристеночным элементом 0,0008 мм). При этом повторю, сетка за О-гридом (в ядре потока) одинаковая. Переходы между элементами сетки сравнительно плавные (<1,5 раза). Проблема заключается в том, что с какого-то момента начинается аномальное уменьшение температуры в некоторых местах, и не обязательно у стенки, где, собственно, и произошли все изменения в сетке. Аномальное, это до 50 К и ниже, хотя номинально меньше 300 К потоков нет. При этом наблюдаю расходимость имбалансов для уравнения энергии (H-Energy) и с какого-то момента задача, понятно, вылетает.

 

Модель турбулентности - SST с автоматической пристеночной функцией. Модель горения - BVM с подробной Flamelet библиотекой. Уравнение энергии по Total Energy.

 

Для решения проблемы пробовал использовать Temperature Damping (в Solver Control/Advanced). Вместе с этим пробовал двойную точность. Плюс пробовал уменьшать шаг по времени с 1e-4 до 1е-6. Как понимаете, не помогло.

 

Я понимаю, что изменения сетки у стенки существенные (начальный элемент меньше в 125 раз, и на 0,1 мм исходной сетки приходится примерно 10-11 элементов улучшенной). Из оставшихся вариантов, которые мне приходят в голову, хочу попробовать более плавно перейти на улучшенную сетку, т.е. попробую провести дополнительно 2-3 промежуточных расчета с постепенным уменьшением размера сетки у стенки (примерно так: исходная (0,1 мм) --> 0,02 мм --> 0,004 мм --> 0,0008 мм).

 

Можете мне подсказать, как решить эту проблему, и в чём, собственно, причина возникновения такой аномалии?

 

С уважением, Максим.

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


пожалуйста, выложите файлы *.cfx, *.tin, *.blk.
правильно понимаю, что сетку делали в ICEMCFD HEX? если нет, то выложите геометрию в любом формате и *.cfx

 

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

an_rushin, к сожалению, не могу этого сделать. Сетку делал в ICEM, да. Сетку делал средствами ICEM-CFD, блочную структурированную, фактически ручками. Есть вставки автоматической тетра-сетки, но с хорошим качеством, и этой сетки минимум. В целом, сетка состоит из нескольких частей, которые соединяются между собой в CFX-Pre интерфейсами. Задача сравнительно большая, на 70 млн. узлов, в том числе и поэтому не могу выложить указанные файлы. Главное, на работе не поймут. Если у вас есть уточняющие вопросы по задаче, отвечу в максимально полном объёме. Я не новичок в CFX, просто проблема новая и очень заковыристая оказалась.

 

С уважением, Максим.

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

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

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

Не вяжется вот это  

"Возникла неожиданная проблема."

вот это 

"Я не новичок в CFX"

и вот это

"пробовал двойную точность"

 

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

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

У вас сетка 70 млн. узлов. Это вы к ней пришли проведя проверку на сеточную сходимость??

На каких еще сетках вы получили сошедшееся решение? Сколько узлов? Можете привести график (2Д) распределения давления и температуры по линии пересечения плоскости камеры со стенкой для различных сеток? Если этого нет, то надо его сделать.

Попробуйте получить решение с  пристеночным элементом 0,0008 мм и грубой сеткой в ядре. (чтобы вся сетка была 1 млн. или даже меньше). Потом увеличивайте разрешение ядра.

Поробуйте получить решение с моделью ПДФ флэймлет, а потом перейти на БВМ.

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

Какая у вас флэймлет библиотека? Насколько полная? Как вы ее с формировали? (просто интересно, т.к. сам считаю в СФХ )

Получите решение на сокращенной библиотеке с меньшим количеством веществ. Это можно сделать в CFX-rif в старых версиях.

Можно применить коэффициенты релаксации.

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

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

В сети есть советы по решению проблем со сходимостью в СФХ и Флюента. Возможно они помогут

 

В общем это у вас не аномалия, а типичная проблема при моделировании горения. 

То что я вам посоветовал это азбука моделирования. Если вы все это пробовали, то проанализируйте когда проблема появляется.

Если вы этого не пробовали, то проделайте все как я написал. Пройдети мелкими шагами и скорее всего этой проблемы не будет.

 

 

 

 

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

IGL, спасибо вам за столь подробный ответ! Если вам интересно, на поставленные вами вопросы отвечу завтра (сегодня чё-то устал).

 

А в целом, я поторопился с созданием темы. Если что, извините, ребят. Проблема решилась банальным уменьшением шага по времени (в моём случае, до 1е-6). Там всё равно произошло уменьшение температуры, но постепенно всё вышло на правильные значения, и дальше без проблем можно было ускорять задачу, постепенно увеличивая шаг по времени.

 

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

 

И кстати, IGL, вы совершенно правы, что проблема типичная, и решилась она тоже типичным способом.

 

Всем спасибо, ребят!

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

Очень за вас рад!

 

Но вы не могли бы ответить на вопросы которые я задал. Поделится опытом так сказать

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

IGL, хорошо.

 

Сетка 70 млн. - это не совсем про сеточную сходимость. Скажем так, ядро сетки я не трогал, менял только часть, касающуюся пристеночного слоя (была построена с помощью О-грида, для удобства). Примерно такое соотношение было: на грубой сетке было 4 элемента на погранслой (у+ 100-120), на нормальной сетке 15 элементов (у+ около 1). Проблема возникла именно при переходе от грубо простроенного погранслоя к нормальному. Т.е. первый пристеночный элемент был уменьшен на 2 порядка, и проблему удалось решить уменьшением шага по времени тоже на два порядка, получается.

 

Флеймлет библиотека сформирована в CFX-RIF, но в версии 17.1. Почему-то в 18 версии этот модуль не работал (почему, не знаю, не разбирался; сразу пошёл пользоваться проверенной старой версией). Библиотека максимально полная, на сколько позволяет сгенерировать CFX-RIF в базовых настройках (можно ли в бета-режиме что-то изменить? Я не пробовал ещё).

 

Вроде, в остальном там у вас вопросов нет, только рекомендации.

 

Если прокомментировать рекомендации, то вот что могу сказать. Из разных настроек решателя, улучшающих сходимость, пробовал и локальный шаг по времени (кстати, должно было сработать, я немного не дождался, наверное), и отдельный шаг по времени для уравнения энергии (то же), Temperature Damping пробовал (это, скорее, не для такого случая). Вообще, как я сейчас понимаю, многие из этих способов должны были сработать, надо было просто подождать. А не дожидался я потому, что нормальных расчетных ресурсов не было, появились только в начале февраля. До этого пытался бороться с этой проблемой, решая по 100-120 итераций в сутки. Когда появились ресурсы, скорость счета выросла на порядок, и быстро удалось разобраться. Но это так, оффтоп, уж извините.

 

В целом, ещё раз благодарю вас за ваши советы!

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

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

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
    • gudstartup
      после ввода 789 в edit mod надо перейти в режим ручное упр. нажать mod а потом помощь и откроется wzw.hlp  с возможностью выполнения команд управления atc. если не появляется содержимое wzw.hlp то возможно что у вас другой код хотя 789 'это стандарт для dmg в этом случае надо смотреть ваш plc раздел у меня пароль прописан в файле wzw_rett.mod
    • Anat2015
      SERVO TURRET AMP ALARM - переводить не пробовали, учитывая, что AMP - это и есть сервопривод? Что тут не ясного, язык не знаком?
    • Viktor2004
      я бы попробовал позиционировать шпиндель сигналом G70.6 Ответный сигнал, шпиндель сориентирован F45.7
    • gudstartup
      Здравствуйте уважаемые участники форума попрошу вас поделится мнениями. Имеется фрезерный шпиндель с позиционным кодером (зубчатое колесо и считывающая головка). Ошибку 9047 выдает после того отрабатывает M19 c последующим включением оборотов Sxxx M3 причем обороты могут быть любыми от 100-макс. Если задавать обороты без предварительной ориентации то 9047 не возникает и шпиндель нормально вращается на любой скорости при этом обороты не гуляют точность поддержания +-1 об\мин. Кабель заменен заменить сам датчик нет возможности. Мой вопрос в следующем почему шпиндель после M19 и включении управления скоростью Sxxx M3 остается в режиме позиционирования а не сразу переходит врежим управления скоростью и даже явная отмена ориентации кодом M20 ничего не меняет ведь режим позиционного управления должен быть отменен или он остается и отменяется не сразу после подачи команды M3 и кода скорости? Станок достаточно старый 2009 года плату управления шпинделем меняли на соседний ничего не изменилось. Это может быть логика PMC или скорее всего это датчик?   PMC-SB.001
    • Killerchik
      А мы-то думали, что пропорциональный гидравлический.....
    • Grig75
    • EnKlL
      Я написал полностью ошибку, серво привод
    • gudstartup
      https://www.aggsoft.com/cnc-dnc/maho-cnc-432-1000.htm
×
×
  • Создать...