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

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

Условие на левой границе позволяет определить и следующим образом. Записывая уравнение (А.7) при т = \ , получаем

Wi = E,W2 + F. (А.11)

Для условия Дирихле Wi = ai соотношение (А.11) должно выполняться для всех возможных значений W2; таким образом,

£, = 0, fi = ai при r, = ai. (А.12)

Для условия Неймана в виде

dii>/dy = Si (А. 13)

имеем

2 -i = SiAi/, (А. 14)

Wi = W2-SiAy. (А. 15)

Сравнивая уравнение (А.15) с уравнением (А.11), находим

Ei=l, Fi = -siAy при (dT/dy)i=Si. (А. 16)

Если ставится граничное условие смешанного типа (условие Роббина) в виде

то имеем

+ =?ь (А.18)

=---PlIW2 + -hr-- (А.19)

1 - pi/Ау 1 - pi/Ay

Сравнение уравнений (А.19) и (А.11) дает

£, = PУ F,= (А 20

1-р>/Д1/ i-pJAy- (-

Очевидно, должно выполняться условие р\/АуФ\, иначе из уравнения (А.18) следовало бы, что W2 = q\, а W\ неопределенно.

Условия на правой границе служат для определения значения Wm следующим образом. При условии Дирихле гз = ам, очевидно,

WM=-a . (А.21)

При условии Неймана д\/ду = sm имеем

WM-y-Wj-sAy. (А.22)



дф

УМ "

УМ Ум

U, У U,

Таким образом, градиенты функции if при ух и ум связаны через решение задачи для вихря Цг/) и их нельзя задавать независимо в качестве граничных условий. Если градиент д\1/ду \у удовлетворяет равенству (А.28), то формула (А.24) приводит к неопределенности W = О/О Такая неопределенность приводит к невозможности проводить вычисления методом прогонки, но

Запишем уравнение (А.8) при in = M:

\Гд, 1 = £д,-,\Гл, + Лм-1- (А.23)

Приравнивая правые части уравнений (А.22) и (А.23), получаем

f,, , -f S,, All

м- 1

Для условия смешанного типа -\- Рм{д>/ду) = дм. имеем Приравнивание правых частей уравнений (А.25) и (А.23) дает

"" (i + p,,IAy)l{pJAy)-E , Х + Ьу1р-Е ,- У-""

В двух последних случаях (формулы (А.24) и (А.26)) сушествует возможность переполнения арифметического устройства при делении, когда знаменатель может стать малым в зависимости от начальных условий, величины М и значения рм- Например, если на левой границе ставится условие Неймана, то, как показано выше (см. (А.16)), имеем £1 = 1. Тогда, подставляя в рекуррентное соотношение (А. 10а) соответствуюшие коэффициенты А, В, С из (А.4), для одномерного уравнения Пуассона (А.З) получаем

Это приводит к тому, что в случае задания условий Неймана на правой границе из равенства (А.24) получается Wm = 00, если не будет выполняться условие ЗмАу = -f Такое поведение характерно для того случая, когда на обеих границах ставятся условия Неймана, мы не можем произвольно задавать условия градиентного типа на обеих границах, так как



соо1ветствует неопределепносш задачи в случае, ки1да на обеих границах заданы условия Пепыаиа- дсйстгя!юльио, если W является решением, то и W + const тоже будс! решением.

Резюме

Исходя из условий на левой грапнне и применяя формулы (Л. 12), или (Л. 16), или (А. 20), находим и F,. В соответствии с рекуррентными соотношениями (А. 10) но индукции в направлении возрастания т до т~М-1 вычисляем н запоминаем векторы Ещ и Fm- Из граничного условия па правой границе при помоши формулы (А.21), или (А.24), или (А.26) находим значение Wm. Наконец, используем рекурре!1тнос соотношение (А.7) для вычисления вектора решения Wm по индукции в направле-иин убывания т от т = М - 1 до m = 1.

Ниже приведе!1а подпрограмма для этого метода прого!п<и, написанная иа языке Фортраи-IV.

Подпрограмма на языке Фортран-IV

Соответствие между алгебраическими символами и символами языка Фортран, используемыми в подпрограмме, дается в таблице.

Алгебраический символ Симют языка Фортран

А, В, Г, D, П, F, W л, в. С, D, Е, F, W

А, А1, если L1 = 1

а„ AM, сечи L.M -= 1

М ML

pi/Д/; .Л1, сети L1 = 3

pJAy ее >11 LM = 3

s, Дг/ AI, если LI = 2

sAy AM, если LM = 2

Размерность векторов есть MD. Все векторы должны быть описаны в операторе DIMENSION в вызывающей программе так же, как они описаны в подпрограмме. Уравнения, описывающие задачу во Biiyrpennnx точках, задаются путем запомп-наиия коэффициеигов А, В, С \\ D ъ соогветствуюии1х массивах подпрограммы. L1 и LM - индикаторы типа граиичиого условия, а А1, Q1, AM и QM - значения коэффициеигов граничных условий иа левой и правой границах. Индикатор L1 = 1 соот-ветствус! 1раничиому условию первою рода (условие Дирихле)



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