График, который вас обманул
Вы видели такой график. Невязки снижаются, пересекают 10⁻³, и решатель сообщает, что решение сошлось. Вы выгружаете поля и идёте домой. Наутро у вас спрашивают температуру на выходе, вы по привычке проверяете баланс массы, и расходы на входе и выходе расходятся на 4%.
Ничего не упало. Решатель сделал то, что ему велели, а критерий был задан неверный. Сошедшееся CFD-решение означает, что дальнейшие итерации больше не меняют интересующий вас результат и законы сохранения выполняются. Невязки лишь косвенно указывают на это.
Что измеряет невязка?
Для каждого уравнения решатель суммирует, насколько каждая ячейка далека от выполнения дискретного баланса, и делит результат на опорное значение, чтобы число было удобно читать. Это и есть нормированная невязка на экране.
Это сумма по всей области. Миллион хороших ячеек может скрыть сотню плохих возле острого угла, а именно там может находиться нужный вам результат.
Кроме того, она отнесена к опорному значению, которое обычно зависит от первых итераций. При хорошем начальном приближении невязкам некуда падать, и верное решение выглядит несошедшимся. При плохом они падают на четыре порядка, пока поле течения ещё перестраивается. Само по себе значение 10⁻³ физического смысла не имеет.
Три проверки
Я использую три и хочу, чтобы выполнялись все.
- Невязки упали и вышли на плато. Смотрите на форму кривой, а не на порог. Она должна опуститься на несколько порядков и перестать меняться.
- Интересующие вас величины перестали меняться. Поставьте на них мониторы до запуска: температура на выходе, потери давления, сила, тепловая мощность. Критерий простой: кривая ровная с той точностью, которая вам нужна.
- Балансы сходятся. Масса на входе равна массе на выходе. Энергия на входе равна энергии на выходе плюс то, что ушло в стенки. Для большинства инженерных задач я хочу видеть суммарный дисбаланс в малые доли процента от расхода.
Каждая проверка может выполняться при невыполнении другой. Поэтому их три.
Как это выглядит, когда проверки расходятся
Условный расчёт: обогреваемый канал, стационарная постановка, мониторы температуры на выходе и баланса массы. Числа придуманы для примера.
| Итерация | Невязка уравнения неразрывности | Температура на выходе (К) | Дисбаланс массы |
|---|---|---|---|
| 500 | 1 × 10⁻³ | 341.2 | 2.1% |
| 1000 | 1 × 10⁻⁴ | 338.6 | 0.6% |
| 2000 | 3 × 10⁻⁵ | 337.9 | 0.05% |
| 3000 | 2.8 × 10⁻⁵ | 337.9 | 0.04% |
На 500-й итерации критерий по умолчанию выполнен, и решатель остановился бы. Температура на выходе отличается от конечной на 3,3 К. Если нагрев в канале составляет 40 К, это 8% ошибки в тепловой мощности для расчёта, который сообщил о сходимости.
Между 2000-й и 3000-й итерациями все три проверки согласуются: невязка не меняется, температура не сдвинулась в первом знаке после запятой, дисбаланс пренебрежимо мал. Вот это сходимость.
Когда невязки не снижаются
- Они застыли на плато. Обычно причина в нескольких плохих ячейках. Найдите, где невязки максимальны, и посмотрите на сетку в этом месте. Если мониторы ровные и балансы сходятся, плато может быть приемлемым. Укажите это в отчёте.
- Они колеблются с постоянным периодом. Возможно, течение нестационарно. След за плохообтекаемым телом или отрывной диффузор сбрасывают вихри, и стационарный решатель будет гоняться за ними бесконечно. Нужен нестационарный расчёт. Дополнительные итерации не помогут.
- Они падают, а потом растут. Что-то медленно идёт не так. Разберитесь до того, как расчёт развалится.
- Они сходятся на первом порядке и не сходятся на втором. Схемы первого порядка размазывают градиенты, поэтому всё выглядит спокойно, а решение получается слишком диффузионным. Скорее всего, сетка слишком груба для реальных градиентов.
У нестационарных расчётов две сходимости
В нестационарном расчёте каждый шаг по времени должен сойтись внутри себя, а затем весь расчёт должен выйти на статистически установившийся режим. Обычно проверяют одно и забывают про другое.
Внутри шага по времени невязки должны упасть на пару порядков, прежде чем решатель перейдёт дальше. Если этого нет, уменьшите шаг или увеличьте число внутренних итераций. На протяжении расчёта отслеживаемая величина должна выйти на повторяющуюся картину или устойчивое среднее. Осреднять можно только после этого.
Контрольный список перед тем, как доверять стационарному результату
- Невязки упали на несколько порядков и не меняются.
- У каждой величины из отчёта есть монитор, и каждая кривая ровная с той точностью, с которой величина приводится.
- Дисбаланс массы составляет малые доли процента от расхода.
- Дисбаланс энергии тоже мал, если важен теплообмен.
- На последних итерациях используется схема второго порядка.
- Максимумы и минимумы полей физически правдоподобны: нет температуры ниже самого холодного входа и скорости в десять раз выше входной.
- Если что-то колеблется, вы решили, является ли течение нестационарным.
Это занимает пять минут. Но сходимость отвечает только на первый вопрос. Полностью сошедшееся решение на грубой сетке остаётся неверным ответом, полученным аккуратно. Следующий шаг: выяснить, насколько результат зависит от сетки.
Источники и материалы
Связанная услуга
Проверка моделей и нестандартные исследования
Понять, какие выводы подтверждает модель, где остаётся неопределённость и что требует проверки.
Посмотреть услуги