Главная Численные методы при исследовании физических задач



В заключение разностное решение на всех сетках уточним по рекуррентному правилу Рунге. Это настолько повышает точность, что даже в сложных задачах позволяет ограничиться небольшим числом интервалов последней сетки (iV = 32- 128).

Если проводится серия расчетов при варьировании параметров исходной задачи, то целесообразно результат расчета одного варианта брать в качестве нулевого приближения для первой сетки следующего варианта.

Рассмотрим некоторые другие усложнения задачи.

1) Сетка может быть неравномерной. В этом случае надо использовать соответствующую аппроксимацию производных, например,

Хп+1 х,1 1 \Х),1 х„ х„ .

Напомним, что эта аппроксимация имеет погрешность О (h) на квазиравномерных сетках и О (h) на произвольных сетках. Исследование разностной схемы (71), проведенное выше, легко обобщается на случай неравномерной сетки.

2) Можно использовать аппроксимации, явно учитывающие вид общего рещения исходного дифференциального уравнения; при этом получаются с п е-циальные схемы (см. § 1, п. 9). Составим, например, для задачи (64) ср(х)<0 такую схему, чтобы она была точна при p = const, /(л;) = const. При этом ограничении общее решение уравнения (64а).имеет вид

ы(х) = - + А sin (V[tx)+Bcos{VfJ\x),

где А, В - произвольные постоянные. Легко проверить, что на равномерной сетке подстановка этого решения в разностную схему

5/я-1-2(/„со5(Л]/=)+{/„+1 = 2/„[1-соз(Л1/"=)], lnN-\, (80)

(краевые условия учитываются аналогично (71)) дает тождество. Следовательно, эта схема точна в указанном смысле. Она позволяет получать хорошую точность расчета быстро осциллирующих решений даже на грубой сетке, если р (х) и f (х) являются медленно меняющимися функциями.

Однако заметим, что применять правило Рунге для уточнения разностных решений, полученных пссхемам типа (80), можно не всегда. Причина этого была подробно рассмотрена в связи с формулами Филона (глава IV, § 2, п. 3).

3) Дифференциальное уравнение может иметь более высокий порядок. Аппроксимация старших производных требует большего числа узлов, и каждое уравнение типа (71) или (66а) будет содержать соответственно большее число неизвестных. Поэтому для решения алгебраической линейной (или линеаризованной) системы вместо алгебраической прогонки надо использовать несколько более трудоемкие способы. Но принципиальных осложнений это не вызывает.



4) Возможны более сложные краевые условия. Рассмотрим, например, нелинейное условие третьего рода

«(а) = ф(«(а)). (81)

Еслн подставить в него аппроксимацию Mo("i -«о)А> то ее погрешность О (/г) велика, что ухудшает общую точность расчета. Чтобы записать разностное краевое условие повышенной точности, рассмотрим формулу Тейлора

и (X,) = и (Хо) + Ни (Хо) + у hu" (Хо) +...

и на основании уравнения (70) положим «"(Xo) = f(Xo, Мо). э из краевого условия (81) возьмем ы(Хо) = ф(ыо). Тогда получим

(й-г/о) = фЫ + -/(о. г/о). (82)

Другие способы аппроксимации краевых условий будут рассмотрены в главе IX.

Подведем итоги. Разностный метод имеет свои трудности, связанные в основном с решением алгебраической системы уравнений. Однако эти трудности успешно преодолеваются. Метод естественно переносится на уравнения высокого порядка, причем трудоемкость вычислений почти не возрастает. Его численная устойчивость обычно хорошая.

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

6. Метод Галеркина. Краевая задача для уравнения А (и (х)) = = О сводилась в главе VII, § 4 к отысканию минимума функционала типа {Аи, Аи) или (и, Аи). Затем решение ц(х) приближенно заменялось отрезком разложения по некоторой полной системе функций, а коэффициенты разложения находились из условия минимума функционала. Этот способ для функционалов первого типа называют методом наименьших квадратов, а для второго - методом Ритца.

Метод наименьших квадратов неудобен тем, что под интегралом возникают квадраты старших производных, входящих в оператор А, и вычисления становятся громоздкими. Метод Ритца имеет тот недостаток, что не для всякого оператора А удается найти эквивалентный функционал (обычно нужна самосопряженность оператора). Более удобен на практике метод Б. Г. Галеркина (или Бубнова - Галеркина), свободный от этих недостатков. Изложим этот метод.

Пусть дано уравнение с некоторыми краевыми условиями (для определенности - первого рода)

Л (ы(х))=/(х), ахЬ, и{а)=а, u(b) = p. (83)



*) Ортогональности A{u)-f к фо (л:) не требуется, ибо фо (х) не входит в полную систему функций (х).

Как и в методе Ритца (см. главу VII, § 4, п. 3), будем искать приближенное решение в виде суммы

и {X) Уп (х) = фо (х) + 21 <кЩ (х), (84)

k = 1

где Фо (х) - некоторая непрерывная функция, удовлетворяющая неоднородным краевым условиям (83), а фа(х), lsSfe<oo, -какая-то система линейно-независимых функций, полная в классе непрерывных функций, определенных на отрезке [а, Ь] и обращающихся в нуль на его концах.

Докажем, что если для некоторой функции F (х) и полной системы функций ф (х) выполняется соотношение

F {x)(p„{x)dx = 0 при 1<А<оо,

ТО F{х)0 на [а, Ь]. Для этого из полной системы ф/,(х) последовательной ортогонализацией построим полную ортогональную систему \рк{х). Очевидно, тогда

4>к{х) = 2 kmmix), т= 1

причем Cft*0. иначе ф*. (х) были бы линейно-зависимы. Разлагая по новой системе

F{x)f, yibix), I = 1

придем к соотношению

0 = 5/(х)фИх)х= 2 УтшО, ...

а т = I

Полагая й=1, получим Yi = 0. Полагая k = 2, получим у~0 п т. д. Следовательно, все V; = 0 и /(х) = 0. Отметим, что если исходная система ф (х) уже ортогональна, то доказательство становится тривиальным.

Таким образом, если бы мы нашли такую функцию и (х), чтобы A(u(x)) - f{x) было ортогонально ф* (х) при любых kl, то это означало бы, что Л(и(х))=/(х) и задача (83) была бы решена *). Если же ортогональность есть только при kn, то в разложе-



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


0.042