Запорожец  Издания 

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 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 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

Продолжая, получаем в точке i = l - 2

?, , = /(?/ 2, С/ з) = /(С2. Si) (3.280)

и, наконец, в точке i = / - 1

S/==/(S2, С). (3.281)

При известных граничных значениях 1,\ и t,; отсюда можно найти %2- Затем, проводя для решения уравнений вида (3.277) «второй обход» узловых точек, можно найти значения % в остальных точках. Такой способ решения легко приспособить и к граничным условиям другого вида.

Данный способ решения, в том виде, как он был описан, используется редко, так как при подобных «двойных обходах» иногда происходит накопление машинных ошибок округления. Этого недостатка лишены некоторые алгоритмы прогонки («трехдиагональные алгоритмы»), один из которых рассматривается в приложении А.

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

[Л]И = [В] (3.282)

матрица [Л], которая должна быть обращена, имеет трехдиа-гональную форму, т. е. все ее элементы, отстоящие от диагонали более чем на одну позицию, равны нулю. Трехдиагональ-ную матрицу схематически можно представить как

. . От

[Л] =

(3.283)

Такие трехдиагональные системы разностных уравнений решаются достаточно просто. Однако применение неявных схем для решения двумерных задач приводит к матрице блочно-трехдиагональной формы

Г d t

[Л] =

(3.284)

где элементы d и t сами являются трехдиагональными матрицами (см. Митчелл [1969, с. 120]). Уравнения с такой матрицей уже не так просто решить, и наиболее известные методы их решения являются итерационными.



) Для простого нестационарного уравнения диффузии в случае двух или трех пространственных переменных dt,/dt = a,V%, неявное разностное уравнение Кранка - Николсона сводится к уравнению Пуассона с «источ-никовым» членом вида {2la)dydt - V%". В этом случае для решения неявного разностного уравнения диффузии можно использовать неитерационные методы решения уравнения Пуассона (см. разд. 3.2.1, 3.2.8 и 3.2.9) и схема будет точной и эффективной.

2) Если ставятся граничные условия градиентного типа, то схема Кранка - Николсона в этом случае может привести к неустойчивости (Ф. Блоттиер, личное сообщение).

) В схеме Лейта (см. разд. 3.1.13) два шага требуются только в случае двух пространственных переменных.

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

Неявная формулировка часто используется в неявных схемах чередующихся направлений, основанных на идее дробных шагов по времени (разд. 3.1.13) и приводящих к трехдиаго-нальным матрицам даже в случае многомерных задач. Такие схемы будут обсуждаться в дальнейшем, но сначала рассмотрим некоторые многошаговые явные схемы.

3.1.15. Многошаговые явные схемы

Ранее описанные схемы для одномерного линейного модельного уравнения являются «одношаговыми», поскольку в них для получения значений на новом временном слое требуется только один вычислительный шаг). Рассмотрим теперь несколько многошаговых схем.

Одной из двухшаговых явных схем для решения уравнения конвекции при отсутствии вязкости является схема Хойна (Heun). Она использовалась Лоренцем [1963] и была исследована Лилли [1965]. Эта схема представляет собой первое итерационное приближение для «модифицированной схемы Эйлера» (3.267). Вместо неявного члена б5"+/бх в нее входит аналогичный член, содержащий величину 5"+, которая вычисляется предварительно при помощи схемы с разностями вперед



по времени и с центральными разностями по пространственным переменным:

(3.285а) (3.2856)

Эта схема сохраняет второй порядок точности, присущий схеме (3.267), но оказывается слабо неустойчивой (Лилли [1965]), имея множитель перехода G = \О (Af). Ее можно использовать на ранней стадии в нестационарных расчетах, но не следует применять в нестационарных расчетах до больших значений времени и в стационарном случае.

Первое итерационное приближение для полностью явной схемы (3.258) применительно к уравнению конвекции при отсутствии вязкости было предложено ]Мацуно (см. Лилли [1965]). Браиловская [1965] использовала такой же подход для уравнений, описывающих течение вязкой сжимаемой жидкости. Эта схема такова:

(3.286а) (3.2866)

Здесь ошибка аппроксимации имеет порядок 0{At,Ax).

Для того чтобы исследовать устойчивость этой двухшаговой схемы методом фон Неймана, прежде всего представим ее в виде одношаговой схемы. Выпишем уравнение (3.286а) в точках г ± 1:

ill,." f« Л

(3.287) (3.288)

Подставляя эти выражения в уравнение (3.2866), получаем

= - - # - S-) - с + U] • (3-289)

= - f (c+i - +{~y +- 2?;)- (3.290)



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 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 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199