Явная схема Эйлера
Устойчивость
Как мы убедились, явная разностная схема Эйлера дает вполне разумные результаты и вполне может использоваться для практического моделирования задач, связанных с решением уравнений в частных производных. Однако теперь пришло время сказать об очень важной характеристике разностных схем, которая называется их устойчивостью. Не вдаваясь в детали, заметим, что производить расчеты можно только при помощи устойчивых разностных схем, а чтобы пояснить это понятие, обратимся вновь к листингу 13.1, реализующему явную схему для линейного уравнения диффузии.
Слегка изменим соотношение шагов по времени и пространственной координате, произведя расчеты сначала с т=0.0005 (эти результаты показаны на рис. 13.7 выше) и также с т=0.0010 и т=0.0015. Результат применения разностной схемы Эйлера для т=0.0010 примерно тот же, что и для меньшего значения т, приведенного на рис. 13.7. А вот следующее (казалось бы, незначительное) увеличение шага по времени приводит к катастрофе (рис. 13.10). Вместо ожидаемого решения получается совершенно неожиданные профили температуры, которые быстро осциллируют вдоль пространственной координаты, причем амплитуда и число пиков этих осцилляции быстро увеличиваются от шага к шагу. Совершенно ясно, что полученное решение не имеет ничего общего с физикой моделируемого явления, а является следствием внутренних свойств самой разностной схемы, которые до этого были для нас скрыты.
Рис. 13.10. Численное решение уравнения теплопроводности при помощи явной схемы Эйлера (см. листинг 13.1 ниже с временным шагом т=0.0015)
Характерная "разболтка" решения как раз и является проявлением неустойчивости явной схемы Эйлера для выбранного соотношения шагов по времени и пространству. В теории численных методов показывается, что явная схема Эйлера для уравнения теплопроводности устойчива при значениях коэффициента Куранта, меньших 1, и неустойчива в противоположном случае. Иными словами, существует ограничение для выбора соотношения шагов, заключающееся в том, что для расчета на более частых пространственных сетках необходимо использовать также и малые шаги по времени.
Как несложно убедиться, для т=0.0005 коэффициент Куранта C=0.4, для т=0.0010 он все еще меньше единицы C=0.8, а для т=0.0015 решение уже больше единицы: C=1.2, в связи с чем схема становится неустойчивой (рис 13.10).