ВУЗ:
Составители:
п.4.Пример отладки программы.
Пусть требуется отладить программу, моделирующую
двумерное ламинарное горение газовой смеси. Такая программа
примерно соответствует системе уравнений (11.28). Начинать
отладку можно с собственно системы уравнений гидродинамики
(уравнение неразрывности + два уравнения движения) в
приближении изотермического течения в одномерном случае.
Проведя тест записанных конечно-разностных операторов, как
указано в
п.2(IV), переходят к исследованию устойчивости
конечно-разностного метода. Для этого проводят тестовые
расчёты распространения звуковых волн в расчётной области с
разными временными шагами. Если при каких-либо временных
шагах появляется неустойчивость, необходимо локализовать её
причину. Во-первых, следует выяснить вызвана она
аппроксимацией уравнений во внутренних узлах или краевыми
условиями. Для этого
можно воспользоваться указанным выше
приёмом: перейти к циклическим условиям. При решении
уравнений гидродинамики с циклическими краевыми условиями
абсолютные величины установившихся плотности и скорости
ничем не определены. Иногда из-за неполной консервативности
уравнений они монотонно неограниченно растут от шага к шагу
или наоборот, стремятся к нулю. Такой рост или убывание не
являются ошибкой; они происходят одновременно во всех
точках расчётной области и обычно их несложно отличить от
неустойчивости.
Для локализации ошибки во внутренних узлах следует
последовательно отключать члены, входящие в уравнение:
вязкий член ΛνΛv, конвективный член vΛv, и, наконец
волновые члены ρΛv и c
2
/ρΛρ в различных комбинациях, до тех
пор, пока неустойчивость не исчезнет. (Напоминаем, что их
следует отключать как в левой, так и в правой частях
(11.28) одновременно!) Член, вызывающий неустойчивость
следует проверить отдельно (если потребуется, на модельных
задачах, как в п.2(IV) Пример 2) и устранить ошибку.
Поиск ошибок в постановке краевых условий
более сложен.
Вначале можно рекомендовать проверку устойчивости схемы на
наиболее простых краевых условиях первого рода. Добившись
устойчивости в этом случае, переходите к более сложным.
Конкретный член, вызывающий неустойчивость выявляется
аналогично тому, как это делается для уравнений во
внутренних узлах.
Добившись устойчивого решения уравнений неразрывности и
движения, следует добавить к ним
уравнение энергии и
повторить все тесты для случая однокомпонентного газа.
Вначале можно положить C
v
=const, C
p
=const, H=C
p
T, E=C
v
T,
затем - учесть переменность теплоёмкости, вычисляя её по
термодинамическим полиномам. Перед этим полезно
протестировать процедуры вычисления термодинамических
функций и сравнить результаты с табличными.
Использование стандартных полиномов иногда приводит к
сбоям. Температура в пределах расчётной области может
п.4.Пример отладки программы. Пусть требуется отладить программу, моделирующую двумерное ламинарное горение газовой смеси. Такая программа примерно соответствует системе уравнений (11.28). Начинать отладку можно с собственно системы уравнений гидродинамики (уравнение неразрывности + два уравнения движения) в приближении изотермического течения в одномерном случае. Проведя тест записанных конечно-разностных операторов, как указано в п.2(IV), переходят к исследованию устойчивости конечно-разностного метода. Для этого проводят тестовые расчёты распространения звуковых волн в расчётной области с разными временными шагами. Если при каких-либо временных шагах появляется неустойчивость, необходимо локализовать её причину. Во-первых, следует выяснить вызвана она аппроксимацией уравнений во внутренних узлах или краевыми условиями. Для этого можно воспользоваться указанным выше приёмом: перейти к циклическим условиям. При решении уравнений гидродинамики с циклическими краевыми условиями абсолютные величины установившихся плотности и скорости ничем не определены. Иногда из-за неполной консервативности уравнений они монотонно неограниченно растут от шага к шагу или наоборот, стремятся к нулю. Такой рост или убывание не являются ошибкой; они происходят одновременно во всех точках расчётной области и обычно их несложно отличить от неустойчивости. Для локализации ошибки во внутренних узлах следует последовательно отключать члены, входящие в уравнение: вязкий член ΛνΛv, конвективный член vΛv, и, наконец волновые члены ρΛv и c2/ρΛρ в различных комбинациях, до тех пор, пока неустойчивость не исчезнет. (Напоминаем, что их следует отключать как в левой, так и в правой частях (11.28) одновременно!) Член, вызывающий неустойчивость следует проверить отдельно (если потребуется, на модельных задачах, как в п.2(IV) Пример 2) и устранить ошибку. Поиск ошибок в постановке краевых условий более сложен. Вначале можно рекомендовать проверку устойчивости схемы на наиболее простых краевых условиях первого рода. Добившись устойчивости в этом случае, переходите к более сложным. Конкретный член, вызывающий неустойчивость выявляется аналогично тому, как это делается для уравнений во внутренних узлах. Добившись устойчивого решения уравнений неразрывности и движения, следует добавить к ним уравнение энергии и повторить все тесты для случая однокомпонентного газа. Вначале можно положить Cv=const, Cp=const, H=CpT, E=CvT, затем - учесть переменность теплоёмкости, вычисляя её по термодинамическим полиномам. Перед этим полезно протестировать процедуры вычисления термодинамических функций и сравнить результаты с табличными. Использование стандартных полиномов иногда приводит к сбоям. Температура в пределах расчётной области может
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »