www.chms.ru - вывоз мусора в Жуковском
Читаемые статьи

Читаемые книги

Ссылки


Главная >  Вычислительная гидроаэродинамика 

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 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165

где а/ = -(1-f0.5/?ceii), = 2, с/= - (1 - 0.5/?ceii). Ненулевые значения dt связаны с членами типа источника или, как с di и dN, с граничными условиями. Все элементы матрицы А, кроме показанных выше, равны нулю. Можно отметить изменение некоторых обозначений по сравнению с п. 6.2.1, в частности относящихся к bi.

Алгоритм Томаса для решения уравнений (6.28) состоит из двух частей (см. схему на рис. 6.17). Сначала уравнения (6.28)

X X XXX

XXX X X

Прогонка назад


Рис. 6.17. Алгоритм Томаса для решения трехдиагональной системы уравнений.

преобразуются к виду 1 с[

1 <

1 с;

1 с:

т. е. из них исключаются коэффициенты а/, тогда как коэффициенты bi нормализуются к единичным значениям. Для первого уравнения этой цели служат формулы

с[ = с,1Ь d\ = d,lb (6.29)

а для произвольно расположенного уравнения -

(6.30)



Модификация уравнений по формулам типа (6.30) проводится в процессе прямой прогонки (рис. 6.17). Второй этап алгоритма сводится к обратной подстановке (обратная прогонка на рис. 6.17), т. е. к использованию формул

N=4. = (6.31)

Алгоритм Томаса чрезвычайно экономичен; он требует для своего исполнения всего 5Л - 4 операций (умножений и делений). Однако во избежание плохой обусловленности (и, следовательно, накопления ошибок округления) необходимо, чтобы &/ >+ Как правило, использование расщепления при решении многомерных задач (§ 8.2) приводит к трехдиа-гональным системам уравнений, которые могут эффективно решаться при помощи алгоритма Томаса.

6.2,3, BANFAC/BANSOL: исключение по Гауссу для узколенточных матриц

В тех случаях, когда матрица А имеет узколенточную структуру, для реализации исключения по Гауссу подходят подпрограммы BANFAC и BANSOL. Подпрограмма BANFAC (рис. 6.18) выполняет прямую прогонку или несколько повторяющихся прямых прогонок, чтобы придать матрице А верхнетреугольную форму. Подпрограмма BANSOL (рис. 6.19) преобразует правую часть (6.23), а именно вектор В, и полученная система уравнения решается путем обратной подстановки.

Для случая INT = 2 подпрограммы BANFAC и BANSOL составлены так, чтобы воспользоваться особым видом структуры матрицы А, полученным при использовании одномерных квадратичных элементов. А именно матрица А оказывается попеременно то трехдиагональной (три соседних ненулевых элемента в одной строке), то пятидиагональной (пять соседних ненулевых элементов в одной строке), что соответствует уравнениям, связанным с узлами в серединах или в углах элементов соответственно (см. рис. 5.10).

В этом случае процесс факторизации (BANFACJ состоит из двух прогонок. Первая прогонка воздействует только на пяти-диагональные строки с целью исключения лишнего коэффициента ak, Вторая прогонка приводит матрицу к верхнетреугольной форме. Конкретный вид реализации зависит от того, связаны ли первое и последнее уравнения из системы (6.23) с узлами в серединах или в углах элементов. Граничные условия Дирихле соответствуют срединным узлам; граничные же условия Неймана соответствуют угловым узлам. Читателю может оказаться полезным изучить часть программы, относящуюся



2 SUBROUTINE BANFAC(В,N,INT)

4 С FACTORISES BAND MATRIX ARISING FROM LINEAR OR QUADRATIC ELEMENTS

5 С INTO L.U

7 DIMENSION В(5,65)

8 IFdNT .EQ. 2)G0T0 2

10 С INT - 1, LINEAR ELEMENTS TRIDIAGONAL SYSTEM

11 С

12 NP N - 1

13 DO 1 J 1,NP

14 JP J + 1

15 B(2,JP) = B(2,JP)/B(3,J)

16 B(3,JP) B(3,JP) - B(2,JP)*B{4,J)

17 1 CONTINUE

18 RETURN

19 С

20 С INT > 2, QUADRATIC ELEMENTS PENTADIAGONAL SYSTEM

21 С ASSUMES FIRST EQUATION FORMED AT MIDSIDE NODE

22 С

23 2 NH N/2

24 DO 5 I 1,2

25 JS 3 - I

26 DO 4 J JS,NH

27 JA 2*(J-l)

28 IFd .EQ. 2)G0T0 3

29 С

30 С I 1, FIRST PASS, REDUCE TO TRIDIAGONAL

31 С

32 JB = JA + 2

33 B(1,JB) Bd,JB)/B(2,JB-l)

34 B(2,JB) B(2,JB) - B(1,JB)*B(3,JB-1)

35 B(3,JB) B(3,JB) - B(1,JB)*B(4,JB-1)

36 GOTO 4

37 С

38 С 1=2, SECOND PASS, REDUCE TO UPPER TRIANGULAR

39 С

40 3 JB = JA + 3

41 B(2,JB-1) B(2,JB-l)/B(3,JB-2)

42 B(3,JB-1) B(3,JB-1) - B(2,JB-l)*B(4,JB-2)

43 IF(JB .GT. N)GOTO 4

44 B(2,JB) B(2,JB)/B(3,JB-1)

45 B(3,JB) = B(3,JB) - B(2,JB)*B(4,JB-1)

46 B(4,JB) B(4,JB) - B(2,JB)*B(5,JB-1)

47 4 CONTINUE

48 5 CONTINUE

49 RETURN

50 END

Рис. 6.18. Распечатка подпрограммы BANFAC.

К высказанным положениям и начинающуюся с INT = 2, после прочтения п. 6.2.4.

Примером использования подпрограмм BANFAC/BANSOL

как в случае трехдиагональных, так и попеременно трехдиаго-

16 к. Флетчер, т. 1



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 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165


Чем хороши многотопливные котлы?



Нетрадиционное отопление



Детище отечественной Оборонки



Что такое автономное индивидуальное отопление?



Использование тепловых насосов



Эффективное теплоснабжение для больших помещений



Когда удобно применять теплые полы
© 1998 - 2024 www.300mm.ru.
При копировании материала обязательно наличие обратных ссылок.
Яндекс.Метрика