Что делать, если расчёт разваливается?

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

Как понять, что расчёт разваливается? 

Контроль за состоянием расчёта осуществляется с помощью:

  • Окна мониторинга (шаг по времени, количество расчётных ячеек, итерации и невязки уравнений)
  • Полей величин (скоростей, давлений, температур) – слои в плоскости или в объёме
  • Интегральных значений величин (характеристики в объёме, на плоскости, по супергруппе)

Какие визуальные признаки должны Вас насторожить:

  • Очень большой или очень маленький явный шаг по времени.
    Шаг 1∙10-6...1∙10-8 считается весьма маленьким. Исключение могут составлять задачи с большими скоростями и мелкой сеткой. По умолчанию солвер сам прекратит расчёт при достижении явного шага по времени 1∙10-10.
  • Аномально большие или низкие значения температур, давлений, чисел Маха и прочее.
    Например, температура равная 0 К при расчётах в общих задачах промышленности практически не встречается, и число Маха редко когда превышает 10. Контролировать величины и найти точку с аномальным значением можно при помощи характеристик по интересующей переменной во всем объёме.
  • Уравнения (давления, скорости, энтальпии) проходят ноль (или несколько сотен) итераций.
  • Алгебраические невязки близки к единице. Исключение - первые шаги по времени во время расчёта.
  • Количество расчётных ячеек равно 0.

Что делать, если это происходит?

  1. Проверить геометрию. А точнее:
    • габариты геометрической модели. При экспорте вы могли сохранить её в мм или дюймах, а FlowVision работает с геометрическими размерами в метрах.
    • проверить геометрическую модель на самопересечения. Запускать на расчёт с самопересечениями нельзя, даже если задача успешно считается. Может наступить момент, когда решение всё равно развалится.
    • точность сеточной геометрии. Грубая сетка из CAD программы влияет на форму геометрии. Например, если цилиндр представлен 8-гранником или крыло сверхзвукового самолета не достаточно плавное – всё это отразиться на результатах.

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

  3. Проверить опорные величины давления и температуры.
    Следует помнить, что все остальные давления и температуры (граничные и начальные условия, модификаторы, слои и характеристики) задаются в величинах относительно опорных. Исключение составляет только задание свойств веществ и ограничителей для расчета – здесь все величины абсолютные.

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

  5. Проверить физические процессы в фазе.
    Задачи, где скорости превышают 0.5М, редко решаются без учёта температуры. Необоснованное игнорирование этого блока уравнений может привести к нефизичным результатам.

  6. Проверить задание начальных данных.
    Чем ближе исходное решение к требуемому, тем скорее сойдется решение - и тем меньше у солвера останется манёвров для развала решения.
    В некоторых случаях, отсутствие начальных данных фатально для задачи. Например, для сверхзвуковых задач бывает, что задача разваливается вблизи обтекаемых тел (чаще всего в теневых зонах) из-за больших начальных скоростей в приграничных ячейках. Чтобы этого избежать, достаточно поставить параметры торможения в начальный момент (хотя бы для скорости) вблизи поверхности.

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

  8. Проверить расстановку начальных  условий.
    Поставили ли вы НУ в нужные объекты в каждой подобласти (если объектов несколько). Напомню, что начальные условия применяются по списку в дереве проекта сверху вниз и перезаписываю друг друга. Поэтому последовательность начальных условий также важна.

  9. Проверить сетку.
    Может быть, вы долго её строили в Редакторе начальной сетки и забыли нажать на кнопку "Применить"? Или на всю расчётную область получилось очень малое число ячеек и место возмущений плохо разрешено сеткой. Если расчётная сетка равна 0, то вы, скорее всего, забыли изменить критерий малости ячейки на относительный для вашей постановки задачи.

  10. Одна из самых часто встречающихся причин развалов - это шаг по времени.
    Если задача разваливается, то первым делом необходимо задать шаг по времени CFL = 1. При этом важно не ограничивать максимальный шаг по времени. Потому что, при отсутствии начальных условий на первом шаге расчёта шаг по времени по умолчанию будет равен 1 с. Возможно, за это время пройдут необратимые изменения в Вашей задаче.
    Если сомневаетесь, какой максимальный шаг по времени поставить, то ставьте его очень малым, например, 1∙10-8 - для сверхзвуковых задач с ударными волнами. А затем, через несколько итераций, начинайте его повышать.

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

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

Если Вам ничего не помогло

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

Об авторе
Татьяна Маркова
Author: Татьяна Маркова
Руководитель группы технической поддержки
МГТУ им. Н.Э. Баумана. Экспертиза в областях: CFD, технологии производства, ракетостроение