Вычислительная теплопередача Самарский А.А. Вабищевич П.Н. (1013606), страница 33
Текст из файла (страница 33)
При таком исключении на каждом шаге уменьшается число неизвестных и в конце концов остается одно уравнение для нахождения р,17. Обратный ход позволяет найти все неизвестные. Реализация метода редукции требует 0 = 0(йгз1т1 1ой,дг,) арифметических действий, Такая оценка существенно лучше соответствующей оценки для метода матричной прогонки. На один узел сетки затрачивается 0(1о8 г1ч'1) арифметических действий, что близко к оптимальной асимптотической оценке 0(1). Поэтому метод редукции относят к быстрым методам решения сеточных уравнений.
Для сеточных эллиптических задач с постоянными коэффициентами оптимальные характеристики (Я = 0(лГ1йГз)) имеет марш-алгоритм. В настоящее время получили распространение библиотеки и комплексы программ линейной алгебры, ориентированные на сеточные задачи, которые возникают при решении задач математической физики разностными и проекционно-сеточными методами. Это прикладное программное обеспечение включает в себя наряду с другими хорошо разработанные и оттестированные программы решения сеточных задач на основе отмеченных выше методов.
4.6.4. Метод разделения переменных Классический подход к решению простейших линейных задач математической физики (см. и. 3.2) связан с использованием метода разделения переменных. Естественно ожидать, что аналогичная идея получит Одним из наиболее широко известных прямых методов решения сеточных эллиптических задач является метод редукции. Он используется при решении краевых задач с разделяющимися переменными. Применительно к рассматриваемому случаю модельной задачи (14), (15) будем считать, что Й = й(хз). Запишем сеточную задачу в виде следующего трехточечного векторного уравнения; 170 Егава 4. Стационарные задачи теллолраваднасти (19) (20) где теперь (21) (22) Л=Л, +Л„ Л!у = — уз, *„Лгу = -Ь (хг)(Ь(хг — Ьг/2)ух!) а правая частыр(х) = ~(х)/Й(хг), х Е ы.
Для применения метода Фурье для решения двумерной задачи (43)-(45) рассмотрим задачу на собственные значения по переменной х! ! Л!в+Ле = О, Ь! < х! < 1! — Ьг, (23) е(0) = О, е(1!) = О. (24) Соответствующие собственные значения и собственные функции обозначим Лю еь(х!), Ь = 1,2,..., !ч! — 1. Собственные функции в силу самосопряженности оператора Л! ортонормированы в Н(и!!), так что н~-! (еы г!!) = бм, (ггп мг) = ~ и,(х!)иг(х,)Ь!.
ь=! Считая их известными, будем искать приближенное решение задачи (19) — (21) в виде разложения: Я! — ! у(х) = ~~! сз(хг)еь(х!), (25) ь=! Подстановка (25) в уравнение (19) дает К~ — ! К,-! ЛУ ~Х~ (сз(хг)Л!еь(х!) + еь(х!)Лгсь(хг)) = ~Х> з ь(хг)з ь(х!)> ь=! ь=! где !рь(хг) — коэффициенты Фурье правой части: л! — ! !рь(хг) = ~ ~1г(х)еь(х!)Ь!. (26) ь=! Принимая во внимание (20), (23), (24) и оргогонаяьность собственных функций, для определения сь(хг) получим задачу: Лгсь — Лись = !аь(хг), Ьг < хг < 1г — Ьг, (27) сь(0) = О, сь(1г) = О, Ь = 1, 2,..., Ж! — 1.
(28) Разностная задача (27), (28) при каждом Ь = 1, 2,..., ЛГ! — 1 решается методом прогонки. х б иг свое развитие и применительно к сеточным уравнениям. Рассмотрим модельную сеточную задачу (14), (15), когда коэФфициент Ь зависит только от одной переменной (лля определенности положим Й = Ь(хг)). Задачу (!4), (15) в таких предположениях запишем в виде: Лу= р, хЕиг, у(х) = О, х Е ды, 171 4,5, Прямые методы решения сеточных уравнений Таким образом, метод Фурье основан на определении собственных функций и собственных значений сеточной задачи (23), (24), вычислении коэффициентов Фурье правой части согласно (26), решении задач (27), (28) для коэффициентов разложения и, наконец, решение задачи определяется по формулам суммирования (25).
Применение описанного алгоритма сопряжено, вообще говоря, со значительной вычислительной работой. Даже если собственные значения и собственные функции Л», е»(я~), й = 1,2,..., М~ — 1 известны точно, процедуры вычисления сумм (25), (26) требуют Я = О(Лг~йгз) арифметических действий. Эффективные вычислительные алгоритмы метода разделения переменных связаны с быстрым преобразованием Фурье (ЕГТ). В этом случае можно вычислить коэффициенты Фурье правой части и восстановить решение при затратах »Е = О(ЛГ~ ЛГ» 1ой »Лг, ).
Применительно к сеточному оператору Л ~ быстрое преобразование Фурье используется при граничных условиях первого рода (24), условиях второго рода, периодических условиях при 1У~ — — 2'. В этих конкретных случаях задача на собственные значения имеет точное решение (собственные функции — косинусы и синусы). Для задачи (23), (24) имеем (см. задачу 2) 4 з Ьгй~ /2~В Ьгх~ Л» = — »1п' — и»(э ) = ~ — ) сбп — й = 1 2 ... Лг~ — 1. Ьз, 21) ! Алгоритмы быстрого преобразования Фурье основаны на выделении одинаковых сомножителей о»(х~), з~ Е ы~ в суммах типа (25), (26) и перегруппировке слагаемых.
Подробное описание различных вариантов быстрого преобразования Фурье содержится во многих руководствах. Выше рассмотрен подход с быстрым преобразованием Фурье по одной переменной и применением прогонки по другой переменной. Для задач с постоянными коэффициентами можно использовать преобразование Фурье по обоим переменным (разложение по собственным функциям двумерного сеточного оператора Л). Среди других интересных возможностей отметим алгоритмы ВАСК, которые сочетают метод редукции (СК) и преобразование Фурье (РА) для тех же задач с постоянными коэффициентами.
4.б.б. Задачи Задача 1. Получите расчетные формулы метода циклической прогонки для решения системы уравнений —.4;У, ~ + С<1Н вЂ” В;Уом — — Еп 1 = 0,*1, ~2,..., (29) коэффициенты которой периодичны с периодом ем А;=А;„, В;=В;,, С,=С;,, Е;=Х)+ . (30) 172 1!зава 4. Стационарные задачи гпеплаправадноппи Решение.
В силу периодичности решения (у; = уее ) будем искать его при 1 = О, 1,..., т — 1. Поэтому задачу (29), (30) запишем в виде: -Аорт-~ + Соуо — Воу~ = Ро — А;у; ~ + С;у; — В;уеы = Рп -А ~уч о+С ~уч ~ — В -!Уо=Е -ь 1=1,2,...,т — 2, (31) Присутствие слагаемого с Ао в первом уравнении (3!) и слагаемого с Вм, в последнем уравнении (31) не позволяют применять обычные формулы прогонки.
Для решения (31) используется метод циклической прогонки, основанный на хорошо известном в линейной алгебре методе окаймления. Будем искать решение задачи (31) в виде (32) у!=я»+усоп 4=О~1~ где ац — решение следующей неоднородной задачи: з = 1, 2,..., т — 1, (33) -А<яц ) + С<ни — Ваа;,.~ - — Гп го =О. Для второй сеточной функции формулируем трехточечную задачу оо в'=1,2,...,т — 1, (34) -А;о; ~+С;о; — В;о, ~ — — О, о~ = 1 Ро + Аога - ~ + Вопч Уо = Со — Аоо -~ — Вон~ Каждая из задач (33), (34) решается стандартным вариантом метода прогонки. Необходимо только отметить, что один из прогоночных коэффициентов у этих зодач общий, а именно, решения представляются в виде: яч = о;+>юг+А,п гч = аы~аь»~ + 7[и.
Метод циклической прогонки применяется в задачах с периодическими граничными условиями (задачи теплопроводности в цилиндрических и гдч оичегги»»оорчичято»! с неоднородными граничными условиями. Выясним, при каких условиях (32) — (34) дает решение задачи (31). Уравнения (31) при в' = 1, 2,..., т — 1 выполнены, а первое из этих уравнений позволяет определить уо. Подставляя (32) в первое уравнение (31), получим !23 4.6. Итерационные методы линейной алгебры Задача 2. Найдите значения параметра Л (собственные значения), при которых суи!гствуют нетривиальные решения р(х!) (собственные функции) разногтной задачи: (35) (36) ух*+ Лу = О, х Е ы, У(о) = О, у(!) = О.
Решение. Непосредственной проверкой убеждаемся, что собствен- ные значения задачи (35), (36) есть 4, зяк Ль = — з!и —, !г = 1,2,...,пз — 1, йг 2т' а для собственных функций получим У2'Л ~ я!гху рь(х;) = 1-/ з!и —, (1/ ! так как х! = у!ь. Собственные функции !ьь(х ) ортоиормироваиы в Н(ьо), т. е.
(дь, рл) = ~ !ьь(х)!ы(х)!ь = бы, яаи где бы — символ Кроиекера. Ь 4.6. Итерационные методы линейной алгебры 4.6.1. Основные понятия Обсуждаются методы решения системы линейных уравнений Ау=г (1) итерационными методами. Здесь А рассматривается как линейный оператор, действующий в коиечиомериом гильбертовом пространстве Н, У вЂ” заданный элемент Н, а у необходимо найти.
Итерационный метод основан иа том, что начиная с некоторого начального приближения уь Е Н последовательно определяются приближенные решения уравнения (1) ум ух,...,уь,..., где и — номер итерации. Значения уь~, определяются по ранее найденным уь, уь и.... Если при вычислении уьв~ используются только значения иа предмдушей итерации уь, то итерационный метод называется одношаговым (двухслойным). Соответственно, при использовании уь и уь 1 итерационный метод называется двухшаговым (тргхслойньан). Любой одношаговый итерационный метод можно записать в виде Вьуьь~ = Сьуь+тьь~~ (2) где Вю Сь — линейные операторы, а тьь, — числовые параметры.
Решение уравнения (1) должно удовлетворять (2), т. е. Вьу = Сну+ ть+1У !74 П»ава 4. Стационарные задачи теплопроводности С учетом уравнения (!) можно положить В» — С» — — т»».~А. Выражая С» через А» и В», запишем (2) в виде В» + Ау» = г, !о = О, 1, (3) т», 1 Это есть каноническая форма двухслойного итерационного метода. При заданном уо все последующие приближения находятся по (3). Для характеристики точности приближенного решения естественно ввести погрешность х» = у» — у.
Итерационный метод сходится в энергетическом пространстве Нр, порожденном самосопряженным и положительно определенным в Н оператором Р, если !!я»!!о — О при к — О. В качестве меры сходимости итераций принимают относительную погрешность е, так что Ь. — у!!о < еЬо — у!! . (4) В силу того, что само точное решение у неизвестно, оценка точности приближенного решения проводится по невязке г» = Ау» — 7 = Ау» — Ау, которая может быль вычислена непосредственно. Например, итерационный процесс проводится до выполнения оценки !!г»!! < е!!го!!. (5) Использование критерия сходимости (5) соответствует выбору Р = А"А в (4).