Промышленный лизинг Промышленный лизинг  Методички 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [ 48 ] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124

К верхнему треугольному виду

f/, + 4[/2 + (/3 = 7, 2(/2-2(/з = 6, -9(/з=18.

Используя обратную подстановку, получаем {7з = -2, U2 = h [/i=5.

При решении уравнения Лапласа блочными итерационными методами (см. п. 4.3.4) приходится решать системы уравнений с трехдиагональной матрицей. В § 4.1 и 4.2 было показано, что такие системы уравнений получаются также в случае применения неявных разностных схем к решению маршевых задач для уравнений в частных производных. Покажем, как эффективно модифицировать метод исключения Гаусса для решения систем алгебраических уравнений с трехдиагональной матрицей на примере неявной разностной схемы для уравнения теплопроводности ди д*и

Используя обозначения, введенные для записи систем уравнений, перепишем эту схему в виде

Если заданы условия Дирихле, то на одной границе известно M+j, а на другой известно Все известные значения и

включены в коэффициент с, поэтому наша система уравнений имеет вид

Ji flfi О • • •

Z?2 2 2 О

О Ьз ds аз О

О О Z>4 с/4 4 О


о bifjdjj

«Г



Систему уравнений можно привести к такому виду и в тех случаях, когда заданы другие граничные условия, хотя при этом первое и последнее уравнения могут получаться из некоторых дополнительных соотношений, связанных с граничными условиями, а не только из записанных во внутренних узлах сетки разностных уравнений.

Для решения систем линейных уравнений с трехдиагональной матрицей разработана модификация метода Гаусса, использующая нули в матрице коэффициентов. Эта процедура, называемая прогонкой и предложенная Томасом [Thomas, 1949], кратко описана в п. 4.1.4.

Метод прогонки. Приведенная выше система линейных уравнений с трехдиагональной матрицей приводится к верхнему треугольному виду заменой коэффициентов dj по формуле

rf/ = rf/--ay,, / = 2, 3, iV/,

и коэффициентов Cj по формуле

c/ = t:,--5cy „ / = 2, 3, NJ.

После этого, начиная с Uij = Cij/dijy проводится обратная подстановка для вычисления неизвестных:

«, = iiZ!!itL, k = NJ-\, Л/-2, ...,1.

В приведенных выше соотношениях знак равенства понимается в смысле «заменить на», как это принято в языке программирования Фортран. Написанная на языке Фортран программа решения уравнений методом прогонки приведена в приложении А.

При применении метода прогонки необходимо проявить определенную гибкость для задания граничных условий. Лучше всего читателю научиться этому на основе личного опыта, мы же ограничимся одним-двумя замечаниями. Так как целью метода исключения является определение значений неизвестных, то при решении задачи Дирихле, когда значения и на границе известны, мы не должны включать их в число неизвестных. Тогда в методе исключения щ соответствует значению и в первой неграничной точке, а uj - значению и в последней неграничной точке. Однако ничего плохого не произойдет, а алгоритм даже упростится, если мы зададим aj, rfi, бу» nj так, чтобы вместо граничных условий дополнить систему двумя дополнительными



Применяя метод контрольного объема на той границе области, где /= 1, получаем разностное уравнение

1- {x)* (Их)П "оо + р

причем это уравнение, очевидно, не меняет трехдиагонального вида матрицы для коэффициентов первого уравнения.

Современные прямые методы. Существуют, конечно, и более быстрые, чем метод исключения Гаусса, прямые методы решения систем алгебраических уравнений. К сожалению, ни один из этих методов не является достаточно общим. Обычно они позволяют решать только алгебраические уравнения, возникающие при применении разностных схем определенного типа, да и то при специальном задании граничных условий. Большинство таких методов имеет ограниченную размерность (могут быть использованы для решения лишь небольших систем уравнений) из-за накапливания погрешности округления. Если рассматривать быстрые прямые методы как специальный класс, то их алгоритмы довольно сложны и нелегко приспосабливаются для решения задач в областях неправильной формы или на случай задания сложных граничных условий. Прямые методы требуют обычно существенно большей памяти ЭВМ, чем применяемые для решения тех же задач итерационные методы. По-видимому, недостатком простых быстрых прямых методов является их ограниченная размерность, что сужает возможную область их применения; методы же, не страдающие этим недостатком, обладают алгоритмами, содержащими ряд деталей, изложение которых выходит за рамки данной книги. Поэтому мы лишь кратко

уравнениями. Например, полагая di = 1, ai = 0,djj= 1, &iv/ = 0, Ci = ui (задано) и Cij = umj (задано), получаем, что первое и последнее алгебраические уравнения просто повторяют граничные условия. Приведем еще один пример, показывающий, как можно получить систему уравнений с трехдиагональной матрицей при других граничных условиях. Пусть при решении уравнения теплопроводности стенка является теплопроводной, т. е. на ней заданы смешанные граничные условия



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [ 48 ] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124