Учебнометодическое пособие Волгоград 2016
Скачать 0.92 Mb.
|
18 ?????? ?????? ?????? ??????+1 ??????+1 − ?????? ?????? ?????? ?????? ??????+1 + ?????? ?????? ?????? ??????−1 ?????? ?????? ??????+1 +?????? ?????? ?????? ??????−1 = ?????? ?????? , откуда получаем Последнее равенство имеет вид (19) и будет точно с ним совпадать, если при всех i = 2,3,...,N-1 выполняются соотношения ?????? ?????? = ?????? ?????? ?????? ?????? −?????? ?????? ?????? ??????−1 , Для определения ?????? ?????? и ?????? ?????? необходимо знать ?????? 1 и которые находятся из левого граничного условия. Далее по формулам (19) последовательно находятся ?????? ??????−1 ??????+1 , ?????? ??????−2 ??????+1 … , ?????? 2 ??????+1 , при условии, что найдено из правого граничного условия. Таким образом, решение уравнений вида (18) описываемым способом, называемым методом прогонки, сводится к вычислениям потрем формулам нахождение так называемых прогоночных коэффициентов ?????? ?????? и ?????? ?????? по формулам (20) i = 2,3,...,N-1 (прямая прогонка) и затем получение неизвестных по формуле (19) при i = N-1, N-2,...,2 (обратная прогонка. Для успешного применения метода прогонки нужно, чтобы в процессе вычислений не возникло ситуаций с делением на нуль, а при больших размерностях систем не должно быть быстрого роста погрешностей округлений. Будем называть прогонку корректной, если знаменатели прогоночных коэффициентов (20) не обращаются в нуль, и устойчивой, если < 1 при всех ?????? = 1, ?????? − 1 ̅̅̅̅̅̅̅̅̅̅. Возвращаясь к системе (17), определим прогоночные коэффициенты и воссоздадим полный алгоритм решения полученной системы. 19 Поскольку при х = 0 Т = Т л , тол л а при х = L Т = Т ?????? ?????? Прогоночные коэффициенты вычисляются по формулам (20). Таким образом, разностные соотношения, аппроксимирующие дифференциальную задачу (15), (16), имеют следующий вид ???????????? ?????? ?????? ??????+1 −?????? ?????? ?????? ?????? = ?????? ( ?????? ??????+1 ??????+1 −2?????? ?????? ??????+1 +?????? ??????−1 ??????+1 ℎ 2 ), ?????? = 2, … , ?????? − 1, ?????? ≥ 0. (21) ?????? ?????? 0 = ?????? 0 , ?????? = 2, … , ?????? − 1; ?????? 1 ?????? = л, ?????? > 0; (22) ?????? 1 ?????? = п, ?????? > 0. Аппроксимация дифференциальной задачи (15), (16) конеч- но-разностной (21), (22) выполнена с первым порядком точности повремени и вторым по пространственной координате h. При этом неявная разностная схема является абсолютно устойчивой, те. можно проводить интегрирование краевой задачи (15), (16) с любым разностным шагом повремени. Блок-схема к рассматриваемой задаче представлена на рис. 7. 20 Рис. 7. Блок-схема к рассматриваемой задаче (неявная схема) Ввод N, конечное, L, λ, c, ρ, T 0 , л, Т n расчетный шаг сетки по пространственной координате ℎ = ??????/(?????? − 1) ?????? = конечное расчетный шаг сетки повремени Начальное температурное поле: Начало time=0 time≥t конечное Приращение времени на τ: time= Расчет прогоночных коэффициентов в первом узле сетки Расчет остальных прогоночных коэффициентов по формулам (20) Определение на правой границе Расчет поля температур T i , i=N-1,…,1 по формуле (19) Вывод результата 21 Листинг программы (на языке VBA) реализующей алгоритм расчета (неявная схема) Private Sub determ() Описание используемых переменных Const mf = 1000 Dim T(1 To mf) As Single Dim alfa(1 To mf) As Single Dim beta(1 To mf) As Single Dim i, j, N As Single Dim ai, bi, ci, fi As Single Dim lamda, ro, c, h, tau As Single Dim T1, T0, Tr, L, t_end, time As Single Ввод исходных данных N = CSng(TextBox1.Text) t_end = CSng(TextBox2.Text) L = CSng(TextBox3.Text) lamda = CSng(TextBox4.Text) ro = CSng(TextBox5.Text) c = CSng(TextBox6.Text) T0 = CSng(TextBox7.Text) T1 = CSng(TextBox8.Text) Tr = CSng(TextBox9.Text) шаг сетки по пространственной координате h = L / (N - 1) расчетный шаг сетки повремени Определяем поле температур в начальный момент времени For i = 1 To N T(i) = T0 Next i |