КСЕ модели решения уравнения теплопроводности

Материал из Викиконспекты
Версия от 02:17, 1 ноября 2015; Martoon (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Необходимо численно решить уравнение:

[math] \frac{\delta T}{\delta t} + u \frac{\delta T}{\delta x} - \varkappa \frac{\delta^2 T}{\delta x^2} = 0[/math]

Для этого делаем такие замены (метод явный, "против потока")

[math] \frac{\delta T}{\delta t} \quad \to \quad \frac{T_i^{n+1} - T_i^n}{\Delta t}[/math]

[math] \frac{\delta T}{\delta x} \quad \to \quad \frac{T_i^n - T_{i-1}^n}{\Delta x}[/math]

[math] \frac{\delta T}{\delta x^2} \quad \to \quad \frac{T_{i-1}^n - 2T_i^n + T_{i+1}^n}{\Delta x^2}[/math]

и выражаем [math] T^{n+1} [/math].


В методах "по потоку" в первой производной по [math] x [/math] мы смотрим на предыдущие значения справа, поэтому одна из замен такая:

[math] \frac{\delta T}{\delta x} \quad \to \quad \frac{T_{i+1}^n - T_i^n}{\Delta x}[/math]

В неявных методах у всех производных по [math] x [/math] заменяется [math] T^n \to T^{n+1} [/math].

Ещё есть метод "чехарда" (вероятно он называется методом Дефорта-Франкла), он задаётся таким уравнением:

[math] \frac{T_i^{n+1} - T_i^{n-1}}{2 \Delta t} + u \frac{T_{i+1}^n - T_{i-1}^n}{2 \Delta x} - \varkappa \frac{T_{i-1}^n - 2T_i^n + T_{i+1}^n}{\Delta x^2} = 0 [/math]

Требуется самим придумать граничные и начальные условия и решить уравнение методами ([явным, неявным] <*> ["по потоку", "против потока"]) ++ ["чехарда"].

Заметка: в качестве вариантов начальных условий желательно иметь "ступеньку" и "пик" (типа [math] T(0, x) = \Theta(-x) [/math] и [math] T(0, x) = \sigma(x) [/math], если кто помнит что это такое)

Параметры [math] \Delta x, \Delta t, u, \varkappa [/math] подаются на входной интерфейс программы, надо уметь как-то выводить [math] T_i^n [/math], например в виде анимированного или 3D графика.


Ещё в ходе решения возникают выражения

[math] \frac{u \cdot \Delta t}{\Delta x} = s [/math] — число Куррента

[math] \frac{\varkappa \cdot \Delta t}{\Delta x^2} = r [/math] — число Рейнольца

Несходимость метода может напрямую зависеть от величины [math] sign(1 - s - 2r) [/math], поэтому надо уметь показывать или принимать на вход эти [math] s [/math] и [math] r [/math]