Для вычислений будем использовать следующее разностноеуравнение или схему:
(5)
Зададим параметры алгоритма (глобально):
а так же:
Результаты представлены в виде матрицы U(h,T) с шагомhи заданным временем T.
Примечание. Для каждой пары (h,T) будет своя таблица U(h,T) размером [floor(T/d)*floor(l/h)]. Например, см. ниже.
Графическая иллюстрация полученного решения уравнения теплопроводности
, , , с краевыми условиями
U(x,0)=f(x), U(0,t)=phi(t), U(l,t)=psi(t)дана на рис.1 и 2.
U0.1TUhT
На рис.2 возможна анимация 20 - 40 кадров, при которой хорошо видно как зависит
устойчивость разностной схемы от выбора шага h, определяемая коэффициентом Куранта.
Коэффициент Куранта требует, чтобы ! Здесь же имеем:
На рис.1 при выборе h=0.1 требование Куранта выполняется и осциллирование
исчезает - разностная схема становится устойчивой, что можно легко проверить.
Очевидно, достоверный результат можно получить только с помощью устойчи-
вой работы разностной схемы.
Задание. Построить плоские графики показывающие мгновенное распределение температур по сечениям х стержня в моменты времени: t=0.02, 0.04. А также график изменения температуры во времени в заданном сечении стержня с координатой х=0.3, 0.75.Для этого выберем шаг h таким, чтобы разностная схема была устойчивой, например: hh=0.1.
Введем новое обозначение матрицы решения U(h,T):
Вновь запишем диапазоны изменения индексов соответственно:
По переменной t
Для моментов времени t = 0,02 и 0,04 найдём индексы j из уравнения tj = j*d,j=0,02/d=4,
j=0,04/d=8.
По переменной х
Для сечений x = 0,3 и 0,75 найдём индекс i из уравнения xi = i*hh,i = 0,3/hh=3,
i = 0,75/hh=7,5 ->8.
На рис.4 при анимации 20 кадров видно как исчезает осциллирование: h от 0.01
увеличивается до 0.101 и разностная схема становится устойчивой (требование
Куронта выполняется).
Рис.5. Распределение температуры по времени t
в сечениях x = 0,3, 0,75
Рис.6. Распределение температуры по сечениям
х в моменты времени t = 0,02 и 0,04.
Проведем проверку полученного решения, используя ШПО Mathcad. Найдем ШПО в
Help\QuickSheetsв строке поиска, указав опцию pdesolve и перекопировав её.