скачать МЕТОД КОНЕЧНЫХ РАЗНОСТЕЙ ДЛЯ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ Уравнения в частных производных и дополнительные условияУравнение в частных производных - это дифференциальное уравнение для функции многих переменных и оно определяет связь частных производных этой функции. В простейшем случае двух независимых переменных, например, ![]() ![]() ![]()
Требуется найти функцию ![]() ![]() ![]() Уравнения теплопроводности ![]() ![]() ![]() ^ Этот метод является самым простым численным методом решения уравнений в частных производных (УЧП). Название метода - МКР - связано с тем, что для вычисления производных в уравнении используется конечные разности вместо бесконечно малых разностей, которое входят в строгое определение производной через предел (lim) отношения. Рассмотрим основные этапы МКР на примере численного решения уравнения переноса (9.2). 1. Вводится сетка по всем переменным, т.е. выбираются шаги дискретизации по аналогии со случаем ОДУ, когда сетка определялась для одной переменной. Пусть ![]() ![]() ![]() ![]() ![]() ![]()
Количество шагов дискретизации ![]() ![]() ![]() ![]() ![]()
2. Непрерывная функция ![]() ![]() ![]() ![]() 3. Производные в уравнении заменяются выражениями через конечные разности, т.е. используется численное дифференцирование. Например, используя простейшую формулу численного дифференцирования (4.2), представим производные в (9.2) следующим образом
4. Полученные производные подставляются в уравнение, что дает одно уравнение или систему уравнений для определения неизвестных значений функции в узлах. Например, подставив (9.7) в (9.2), получаем
где значение ![]() Рассмотрим применение (9.8) для вычисления значений функции u на рис. 9.1. Пусть заданы начальные значения, т.е. ![]() ![]() ![]() ![]() ![]() ![]() ![]() Формулу вида (9.8), связывающую значения исходной функции в соседних узлах, называют разностной схемой. Если изобразить точками узлы, которые применяются при вычислении производных в исходном уравнении, то получаем шаблон. Шаблон характеризует расположение узлов для разностной схемы. Например, разностной схеме (9.8) соответствует трехточечный шаблон, показанный на рис. 9.2 и 9.1
Выбор шаблона зависит от уравнения, применяемых формул численного дифференцирования, а также от вида дополнительных условий. Например, при решении уравнения теплопроводности для двух переменных
с начальными и граничными условиями обычно используются четырехточечный шаблон рис. 9.3.
5. Решение разностных уравнений выполняется для всех узлов сетки и в результате получается искомая функция ![]() 6. Пусть значения в узлах сетки найдены. Теперь необходимо проверить правильность решения, т.к. выбор шагов дискретизации ![]() ![]() 7. Если после получения решения ![]() ![]() ![]() ^ Как и в случае ОДУ, решение УЧП должно быть устойчивым, точным, эффективным. Устойчивость важна для явных разностных схем, и при ее нарушении не будет сходимости численного решения к точному даже при очень мелких шагах дискретизации. Как и при решении ОДУ, неустойчивость связана с усилением шумовых составляющих решения. Условие устойчивости показывает, что изменения шагов дискретизации по разным независимым переменным должны быть согласованы для получения требуемой точности. Условие устойчивости существует для любой явной разностной схемы, и оно определяется уравнением и схемой. Например, для уравнения переноса с разностной схемой (9.8) условие устойчивости имеет вид
а уравнение теплопроводности (9.9) с разностной схемой, которой соответствует шаблон рис. 9.3, имеет условие устойчивости
Для вывода условия устойчивости можно применить спектральный метод. Он сравнивает амплитуды гармонических составляющих на соседних слоях рис. 9.1 Пусть для слоя с номером m рассматривается пространственная гармоника вида
где ![]() ![]() ![]() ![]()
Подставим (9.12), (9.13) в разностное уравнение (9.8) и получим отношение комплексных амплитуд
Устойчивость важна для убывающих решений (см. лекцию 7) и поэтому амплитуды любых гармоник, особенно шумовых, не должны возрастать, а иначе будет развиваться неустойчивость. Запишем это условие в виде
где
Очевидно, что при ![]() ![]() ![]()
|