Вычислительная теплопередача Самарский А.А. Вабищевич П.Н. (1013606), страница 32
Текст из файла (страница 32)
ь 164 Озава 4. Стационарные задачи теплопрооодпости Отсюда и следует оценка (67). Подставляя Ь!~с.1 ~ Юр1~ ~ ЬЙ в неравенство (66), придем к доказываемой оценке (65). о Оценка (67) является простейшим примером сеточных аналогов теорем вложения (в данном случае пространств С(0, 1) и И'з~(0, 1)).
4.5. Прямые методы решения сеточных уравнений 4.5.1. Методы решения систем линейных уравнений Исходная дифференциальная задача при аппроксимации заменяется сеточной. Соответствующие разностные (сеточные) уравнения есть система линейных алгебраических уравнений для неизвестных значений сеточной функции. Для их нахождения используются методы линейной алгебры, которые максимально учитывают специфику сеточных задач.
Особенности сеточных задач проявляются в том, что соответствующая матрица системы алгебраических уравнений является разреженной, т. е. содержит много нулевых элементов, имеет ленточную структуру. При решении многомерных задач матрица имеет очень большой порядок, равный общему числу узлов сетки.
Например, при рассмотрении двумерных задач на сетке с числом узлов з1Г1 по одному направлению и ззГз — по другому матрица имеет порядок ззг1ззГз. Поэтому сеточные задачи предъявляют повышенные требования к возможностям используемой вычислительной техники — памяти, быстродействию, особенно при использовании стандартного общематематического обеспечения ЗВМ. Систему линейных алгебраических уравнений запишем в виде Ар=у, где А — квадратная матрица размерности пз х т с элементами аоь Для решения задач линейной алгебры используются прямые (точные) и итерационные методы. К прямым относятся методы, которые в предположении отсутствия ошибок округления дают точное решение задачи за конечное число арифметических операций. Классическим прямым методом численного решения задач линейной алгебры является метод 1аусса.
К настоящему времени разработаны различные модификации этого метода для более полного учета специфики решаемых задач: метод 1оусса с выбором главного элемента, методы для разреженных матриц и т, д. Метод Гаусса основан на представлении невырожденной матрицы А в виде произведения двух треугольных матриц (ГАà — разложение); А =ГУ, (2) 165 4.5. Прямые методы решения сеточных уравнений где О О ... О 1н 1гг О ... О 1зз 1зг 133 " О 1п23 1ы2 1ыз 1ппп 1 ны вп взы О 1 игз ° ° ° и2п| О О 1 ... и3п| (4) О О О О 1 Решение задачи (1) при использовании разложения (2) — (4) распадается на решение двух простейших задач: Ее=у, Ур=е. (5) Для нахождения коэффициентов матриц Ь и У используются рекуррентные соотношения (компактная схема 1аусса): 1п — — а3н и33 — — 1, 3=1,2,...,т, 1" 3 1О = аб — ~, 13ьвязз (б) 2-3 аз —,3, 1шиз, Я=3 3 = 1,2,...т.
,3 >1~ вб = 1и Вычислительные затраты на ИТ вЂ” разложение матрицы А оцениваются в Ге = 0(пз~) арифметических действий. При решении уравнения на основе (2) — (5) основные затраты связаны именно с этапом вычисления элементов матриц Х, и У. При известных Ь и 13 решение задач (5) с трех- диагональными матрицами требует только о = 0(пз~) арифметических действий. Для систем уравнений (1) с симметричной матрицей А (А = А') используется метод кеадратноео корня (метод Хояеикоео), который позволяет примерно в два раза сократить вычислительную работу. В этом случае используется представление А =.ИЫ*, (7) тле 23 — диагональная матрица с элементами +1 и — 1.
Элементы .: е1~ 373 ппрелелппзтсз по Формппачг 1бб Глава 4. Стационарные задачи теплопроводноети 1н = 1а11( 1/2 1 = 1, 2,..., пт, дн = аяп ап, 2 ~ 1/2 2 1н = ан — г 1ады — (8) 2-1 Ч 2 дн = з18п ан — р 12ьдьь ь=! аб — Я 1а1ь,дгь ь=! 2 =1,2,...,т. Непосредственное применение выше отмеченных прямых методов решения систем линейных уравнений для многомерных сеточных задач неэффективно. Для двумерной задачи с общим числом узлов 21г1 1т2 метод Гаусса и метод квадратного корня потребовали бы ге = 0(Д2~1ДГ2~) арифметических действий.
Учет разреженной структуры матрицы А позволяет в ряде случаев существенно облегчить ситуацию. 4.б.2. Метод прогонки При приближенном решении одномерных краевых задач теплопроводности приходим к сеточным задачам с трехдиагональной матрицей. Для таких задач используется специальные варианты метода Гаусса, наиболее полно учитывающие специфику задачи. Запишем соответствующую разностную задачу в виде С,у,-В,уз=рн — А2у2 ~ + С;у; — В;уны — — Рн — Аыуы-1+ Сщуы = Кв 1=2,3,,т — 1, (9) Для решения разностной задачи (9) используется представление '=1,2,,т — 1, у =13 + (10) у; = аомуьм+Д~~, Коэффициенты этого рекуррентного представления решения определя- ются следукнцим образом: а2~1 —— (С; — А;а;) 'Вн 1=1,2,...,т-1, (11) Д~1=(С; — А;а) '(Р2+А<32), 1=1,2,,..,т.
аз=С~ 'Вп Р,=С Р„ Рекуррентные соотношения (1О), (11) для нахождения решения задачи с трехдиагональной матрицей (9) представляют собой хорошо известный метод прогонки. Формулы для коэффициентов (11) определяют прямую прогонку, а формулы (10) — обратную прогонку. Легко видеть, что для решения задачи требуется всего 1) = 0(га) арифметических действий. Такое существенное и принципиаяьное сокращение вычислительной работы обусловлено спецификой матрицы, ее разреженности и тем, что метод Гаусса в рассматриваемой редакции полностью учи'.~чтет -" ." е'пибн з г2о оо~ чзт1 игые оттне г ~ е~с и, Гаге<-~ чч 1б7 4.5. Прямые методы решения сеточных уравнений разреженных матриц с большим успехом используются прн решении сеточных уравнений, которые возникают при использовании разностных методов, метода конечных элементов для приближенного решения задач математической физики.
В вычислительной практике нашли применение многие различные варианты метода прогонки. Отметим, в частности, методы циклической прогонки для решения задач с периодическими краевыми условиями, потоковый вариант прогонки, метод немонотонной прогонки, методы прогонки для задач с ленточными матрицами и т.д. Для применения расчетных формул прогонки (! 1) необходимо, чтобы знаменатель С; — А;а; не обращался в нуль. Обсудим теперь понятие вычислительной устойчивости прогонки.
Решение задачи определяется по рекуррентным соотношениям (14), которые могут допускать накопление погрешности. Пусть, например, при вычислении р допушена ошибка е, т.е. найдено у = у +е . Погрешность в других значениях в соответствии с (14) будет определяться из соотношений е; = аьыеььы 1 = 1, 2,, т — 1.
Отсюда видно, что может произойти сильное накопление погрешности, если а; по модулю больше единицы. Для устойчивости достаточно потребовать, чтобы 1а;~ < 1 для всех !. Лемма 1. Пусть дейанвительные коэффициенты системы (9) удовле- творяют условиям 1В~! > О, )А„,( > О, )С1! > О, !С„,1 > О, 1А;! > О, 1В;~ > О, 1 = 2, 3,..., т — 1, (12) 1С1! > ~В1|, ~С ! > 1А 1, !С<! > !Ас/+/Вс~, 1=2,3,...,т — 1 (13) и хотя бы в одном из неравенств (13) выполняется строгое неравенство. Тогда в (10), (1!) шчеют место неравенства С; — А;а; ФО, 1а;( < 1, 1 = 2, 3,..., т.
Сформулированные выше достаточные условия (12), (13) вычислительной устойчивости прогонки есть не что иное как условия диагоняяьного преобладания матрицы А. 4.5,3. Двумерная задача Методы решения сеточных уравнений, соответствуюших многомерным стационарным задачам теплопроводности, будем рассматривать на примере простейшей двумерной задачи в прямоугольнике Й с гладкими коэффициентами и граничными условиями первого рода (задача (17)-(19) нз п. 4,4). Соответствующая разностная задача ((20)-(22) из п.
4.4) на прямоугольной равномерной по каждому направяению сетке записывается 168 Вгава 4, Стационарные задачи темопроеодности в следующем виде. Во внутренних узлах сетки при использовании про- стейших аппроксимаций для коэффициентов и правой части разностной схемы имеем /, угч ьг — Уб й г,"'"" й г' Угдч-1 1яг ! йьгм/г г 2 У1-ьг й, Ьш Уб 1ч — 1/гд Уб — ~"д-цг (!4) ! (г(1У,— 1, 1(У'<1Уг — 1. Для узлов на границе получим рог =О, унд=б, 1<5 <ггГг — 1, У!о=О, У1н,=О, 1(г(дГ~ — 1. (15) Разностная задача (14), (15) представляет собой систему линейных алгебраических уравнений, в которой в качестве неизвестных выступают значения приближенного решения во внутренних узлах сетки, т.
е. у;, 1 < г < г1Г1 — 1, ! < у' < гчг — 1. Общее число неизвестных равно (ггГ1 — 1)(ггГг — 1). Непосредственное применение метода 1аусса без учета разреженной структуры матрицы приводит к затратам С) = 0(гч|~гчг~) арифметических действий. Существенное сокращение вычислительной работы достигается за счет применения метода матричной прогонки, который является обобщением рассмотренного выше метода скалярной прогонки. Введем векторы У' = (Уп Уиь " Уьн,-г), Р =(Л~,Лг,,Л,н,-~), (1б) т. е. вектор у; соответствует неизвестным в узлах г-ого столбца сетки й. Тогда разностную схему (14), (15) можно записать в виде трехточечного векторного уравнения (9), где теперь Ан Вп С; — квадратные матрицы порядка 1чг м а т = г1Гг — !.
В нашем случае А; = (и. ) и В; диагональные матрицы, а С; — трехдиагональная матрица. Расчетные формулы матричной прогонки имеют приведенный выше вид (10), (11), причем ац — квадратная матрица, а Д вЂ” вектор размерности 1чг — 1. Обсуждаемый алгоритм матричной прогонки предъявляет повышенные требования к используемой памяти ЭВМ. В процессе расчета необходимо помнить все матрицы аг, и позтому требуемая память оценивается величиной Р = О(гггг~Лг1). Вычислительная работа определяется необходимостью (см. (1!)) обращения матриц С;-А;а;, и поэтому Я = 0(г1Гг1ч1), Этот метод можно использовать в задачах, для которых г1гг (( дГ~ (число узлов по направлению х~ значительно больше числа узлов по направлению хг). Кроме того, метод матричной прогонки с успехом применяется при решении систем дифференциальных уравнений небольшой размерности.
169 4.5. Прямыеметоды решения сеточных уравнений (17) (18) 1 = 1, 2, ..., т — 1, р, = О, где в данном случае т = лг,. Принципиальным упрощением общего (см., например, (11)) трехточечного векторного уравнения является то, что матрицы А, и В, единичные (А; = В; = В), а матрица С; = С вЂ” постоянная, Для простоты мы ограничились (см. (18)) условиями первого рода. В настоящее время имеются обобщения метода редукции на случай сеточных задач с условиями второго, третьего рода, периодическими условиями в рамках предположения о разделении переменных. Метод редукции также является специальным вариантом метода Гаусса для системы уравнений (17), (18) с т = 2' и основан на поочередном исключении из уравнений (17) неизвестных р; последовательно с нечетными номерами 1, затем из оставшихся уравнений — с четными, кратными 4 и т.д.