книги / Численные методы в теории упругости и пластичности
..pdfА = 1—4г^ |
яп2 ! + |
- 4 г(1-0А |
(6.17) |
|
( Ч |
|
|
откуда
А = 1 —
<«»>
Следовательно, неявная схема является безусловно(абсолютно)- устойчивой, если ^ ^ 1/2. Перепишем схему (6.16) в виде
[Е - г(1 - |
^)А]ит+1 = |
[Е + г*А]ит |
+ тд™, |
(6.19) |
где нижние индексы п, |
к при и, д |
опущены. |
Решить разностную |
схему (6.19) методом прогонки уже нельзя, ибо Л представляет
собой двумерный оператор Л = Ах + Л2 (6.8). |
|
|
|
Добавим в левую и правую части (6.19) член |
^)2ЛхЛ2«т+1. |
||
Тогда получим |
|
|
|
[Е - г(1 - ОЛх][Я - |
г(1 - 0 А 2]«т+1 = |
|
|
= [Е + т*Л]ит + г 2(1 - |
^)2Л1А2«т+1 + тдт. |
(6.20) |
Такой прием позволил нам представить оператор в левой части в факторизованном виде, т.е. в виде произведения двух одномерных операторов. Кроме того, мы полагаем, что г —»•0, и поэтому член, содержащий г2, можно отбросить в правой части. Тогда мы получим
[Е - г(1 - 0Ах][Я - г(1 - 0 Л 2]«т+1 = [Е + т*Л]«т + тдт. (6.21)
Заметим, что эта схема дает аппроксимацию уравнения (6.1) с точностью до 0(т, Л2) и, кроме того, имеется член в правой части
Л 1 - 0 * |
д*и |
\т+1 |
( 6.22) |
|
0(т2), |
||
|
д Ж у * ) П'к |
|
который не портит указанной аппроксимации.
Схема (6.21) позволяет ввести «расщепление», или промежу
точные переменные, |
например: |
|
[Е —г(1 — ^)Л2]ит+1 = «т + », |
(6.23) |
|
[Е - г(1 - |
^)Лх]ит + ^ = [Е + г*Л]ит + тдт . |
(6.24) |
Для того, чтобы перейти от т -го слоя к т+ 1 -м у в схеме (6.21), мы ввели промежуточный слой т + | . Разностная система (6.21) экви валентна двум разностным системам (6.23), (6.24), но в последнем случае в левых частях стоят одномерные операторы. Поэтому, чтобы перейти от т-го слоя к т + |-му слою, нужно решить раз ностную систему (6.24) хотя бы методом прогонки по переменной х, а затем, .чтобы перейти от т + |-го слоя к т + 1-му, решить систему (6.23) методом прогонки по переменной у. Описанный ме тод имеет много названий: метод переменных направлений, метод дробных шагов, метод продольно-поперечной прогонки и т.п. [107].
Заметим, что при решении системы (6.24) для введенной пе
ременной « т + 2 необходимо принять граничные условия, ибо они заданы только для переменных с целым шагом ит, вт+1. Для этого распишем подробно разностную систему (6.23):
т + 1 |
Л 1 - 0 Л,т +! |
(6.25) |
ип,к |
\“п,*+1 |
Полагая в (6.25) п = 0 и п = N1, найдем необходимые для решения
системы (6.24) граничные значения и™к 2 и и™** . Если же для ве личины и™к заданы более сложные граничные условия, например
|
|
«М = х * иМ + 7 *. |
|
||
то, вводя разностный оператор |
А2: |
|
|||
|
Д2«т+1 = [Е —г(1 - 0 Л 2]«т+ 1, |
||||
получим |
из (6.23) |
|
|
|
|
|
Л2«о,* |
1 _ |
" И - * |
; „ т + 1 _ " » + * |
|
|
— «0,* > |
Л2и1,к |
~ и1,к |
||
Поэтому, |
используя (6.26), имеем |
|
|||
|
^ |
( ^ |
+1+ Т *) = С |
* - |
Учитывая второе соотношение (6.28), получим
т + 1 |
т + 1 |
г |
«0,* = |
|
+^27к- |
(6.26)
(6.27)
(6.28)
(6.29)
(6.30)
Это и есть граничные условия для решения системы (6.24). Заметим, что «расщепление» системы (6.21) на две системы
(6.23) и (6.24) можно производить не единственным способом. При
»том способ расщепления будет оказьшать влияние на вид гранич ного условия типа (6.30). Введем некоторый разностный оператор <Э, определенный на слое т. Тогда схему расщепления системы (6.21) можно, например, записать в виде
[Е - г(1 - ОА2]«т+1 = «т + * + 0ит , |
(6.31) |
[Е- г(1 - ^)Л!]«т + ^ = {[Е + тЩ - [Е - т(1 - О Л ^ и " * + тдт .
|
(6.32) |
Упражнение 6.2. Показать, что выбор оператора Я в виде |
|
Я = Е + г*Л2 |
(6.33) |
приводит к схеме расщепления системы (6.21) |
|
[Е - т(1 - ОЛ2]«т+1 = «т + * + [Е + г*Л2]ит , |
(6.34) |
[Е - г(1 - ОЛ1]«т + * = гЛхи"* + гдт . |
(6.35) |
Упражнение 6.3. Показать, что выбор оператора Я в виде |
|
Я = Е —г(1 —^)Л2 |
(6.36) |
приводит к схеме расщепления системы (6.21) |
|
[Е - г(1 - ^)Л2]«т+1 = «т + * + [Е - г(1 - 0 Л 2]«т , |
(6.37) |
[Е - г(1 - 0 л 1]«т+ * = т\ит + тдт |
(6.38) |
и если в этом случае граничные условия типа (6.2) не будут зависеть от времени, то для «т+ а получаются граничные условия
(6.39)
Глава 5
ИТЕРАЦИОННЫЕ МЕТОДЫ
§ 1 . ПРОСТАЯ ИТЕРАЦИЯ
Рассмотрим алгебраическую систему уравнений с двумя не известными
I. *1 + (1 + е)*2 = 1, |
о - в |
’ |
|
где е ф 0 — достаточно малое число. |
Точное решение этой |
системы имеет вид |
|
«1 = 1, *2 = 0. |
(1.2) |
Пусть теперь 6 — так называемый машинный нуль. В зависимости от длины ячейки памяти ЭВМ это число колеблется в пределах 10-8 -г 10-12. Если решать систему (1.1) классическим способом на ЭВМ, то получим
XI = с 4 - 62 |
(1.3) |
е + 6 |
|
где 61, 62, 63 — ошибки округления числа в ячейке памяти ЭВМ. Из (1.3) видно, что результат существенно зависит от соотношения чисел 61, 62, 63 и с. Так, например, если числа 6%, 6а и е одного порядка, то значение Х2, вычисленное на ЭВМ по формуле (1.3), может принимать практически любое значение.
Важно отметить, что ситуация, разобранная на простом при мере (1 .1), возникает часто при решении большого числа уравне ний, ибо на практике чем больше уравнений содержит алгебраи ческая система, тем ближе значения определителя этой системы к машинному нулю. Таким образом, решать алгебраическую
0 |
Число итераций |
Отрицательно |
расходимость |
0,7 |
расходимость |
0,65 |
275 |
0,6 |
133 |
0,5 |
53 |
0,1 |
200 |
систему большого числа уравнений по правилам Крамера прин ципиально невозможно.
Рассмотрим систему уравнений |
|
|
|
ау |
/» - 0> •>3 — 1| 2|... , N . |
(1.4) |
|
Запишем эту систему в виде |
|
|
|
|
= (% + Ра^)и, - |
/?/,, |
(1.5) |
где /? — некоторое число. Образуем итерационный процесс |
|
||
«,-т+1) = |
(0у + /?“у ) 4 т) “ |
т = 1. •••• |
(1-6) |
Но соотношения (1.6) могут быть записаны в виде разностного
уравнения |
|
«(">+!) _ и(т) |
(1.7) |
= Л«<"*>-/, |
Р
т.е. уравнения теплопроводности (4.15) гл. 4, где (3 играет роль не времени, а некоторого параметра, который называется итера ционным параметром.
Подобие итерационной схемы (1.7) явной схеме при решении уравнения теплопроводности наводит на мысль, что сходимость итерационного процесса будет иметь место не при всяком зна чении /?. В самом деле, рассмотрим итерационную схему для решения системы (1.1)
4 га+1>= 4"*> -0(4"*> + *<"*>-1)|
4 т+1) = 4 т ) - я»*™) + ( 1 + ф (2т) - 1 ) .
Положим для простоты е = 1//?и в качестве нулевого приближения выберем
4 0) = 0,9, 4 0) = 0. |
(1.9) |
Для девяти верных знаков необходимое число операций в зависи мости от итерационного параметра 0 дано в табл. 1.1.
Запишем систему (1.4) в виде
Аи = ?, |
(1.10) |
а итерационную схему (1.6), которая носит название схемы прос той итерации, — в виде
и(т+ 1) = й(т) + /?[4й(”>)_7]. |
(1.11) |
Очевидно, что если процесс (1.11) сходится, то он сходится к решению и* системы (1.10). Введем понятие вектора ошибки V:
{?("•) = п(”>)_ з*. |
(1.12) |
Тогда для вектора ошибки (1.11) следует
р(ш+1) _ Р(т) + рдф п ) = (Е + 0А)&т\ |
(1.13) |
Полагая в (1.13) т = 0,1,..., получим
0(1) = (Е + 0А)&°\
0<2>= (Я + /?Л)2»(о),
(1.14)
5<т ) = (Е + 0А)т&о).
Пусть оператор А (т.е. невырожденная квадратная матрица) имеет собственные векторы <р(ч) и собственные значения А(?), д = 0 ,1 , ... , IV:
|
|
4^(») = — |
д = 0,1,... |
. |
(1.15) |
Разложим вектор «(°) по векторам ф(чу |
|
|
|||
|
|
|
N |
|
(1.16) |
|
|
^ 0) = |
|
||
|
|
|
|
||
Тогда |
из |
(1.14) следует |
|
|
|
В(т) = |
^ |
С ч { Е + р А ) т фм |
= х ; С,(1 - рЬщ ГЪ'У |
|
(1-17) |
|
0 |
|
0=0 |
|
|
По теореме Пифагора |
|
|
|
|
115<")ц==^с;. |
(1.18) |
|
|
|
?=0 |
|
Поэтому из (1.17) |
имеем |
|
|
Г * |
11/2 |
^ ||г?(°)||>(ш |
|
11*(га)И= |
- /?А,)2"*] |
|1 - р\\т, (1.19) |
где А', А" — наименьшее и наибольшее собственные значения. Отсюда следует, что наибольшей эффективности от простой ите рации следует ожидать при
|
|
|
пнпд т а * (,/(А), /(А) = |1-/?А|. |
(1.20) |
|
Очевидно, |
что функция /(А) |
|
|||
должна |
быть |
меньше |
единицы. |
|
|
Поэтому /?А должно быть поло |
|
||||
жительным. |
.Далее мы будем |
|
|||
считать, |
что |
все собственные |
|
||
значения матрицы А положитель |
|
||||
ны. |
Тогда положительным дол |
|
|||
жен быть и итерационный пара |
|
||||
метр |
/?. |
Если же все |
А отри |
|
|
цательны, тогда /? < 0. |
Задача |
|
(1.20) является простейшей ми нимаксной задачей. Для ее решения рассмотрим все возможные
случаи расположения чисел А' и А" (рис. 30):
1 - /?А' ^ 0, |
1 -/ ?А "^ 0, |
(1.21) |
1 - / ?А Ч 0 , |
1 - /?А "<0, |
(1.22) |
1 —/?А' ^ 0, |
1-/?А" < 0 , |
(1.23) |
1-/?А' <0, |
1-/?А" ^ 0 . |
(1.24) |
Очевидно, что случай (1.24) невозможен. Пусть |
|
|
<3 = шах/(А). |
(1-25) |
Требуется, чтобы во всех случаях (} < 1. Рассмотрим случай (1.21). Очевидно, что 1—/?А' > 1—/?А" и <2 < 1 при всех допустимых
Р- Величина (} достигает своего минимального значения при
Р= 1/А", а все допустимые Р для этого случая удовлетворяют неравенству Р ^ 1/А".
Вслучае (1.22) |1 — РХ"\ ^ |1 — РХ'\ и (? < 1 при А < 2/Р , т.е. при Р < 2/А". Величина ($ достигает минимального значения при Р = 1/А'.
Наконец, в случае (1.23) |1 — р\'\ ^ |1 - р\"\ при ^ ^ Л'+ - ' , т.е.
при Р < р+л57 = Д*> и |1 — ДА"| > |1— РУ\ при р ^ /9,. Допустимые значения р будут определяться из условия <) < 1, которое при Р — Р* выполнено всегда, а при Р > Р , — только для р < 2/А".
Подытоживая все сказанное, получим.
|1 - /?А'| > |1- |
РХ"\ при 0 < Р ^ р . = |
|
(1.26) |
|1 - /?А"| > |
|1 - /?А'| при р . ^ р < |
1 ; . |
(1.27) |
Из рис. 30 видно, что при этом (} принимает минимальное значение для Р = РФ:
= |
= ^ |
= |
<1ЭД |
Тогда из (1.19) имеем
||^(т)ц ^ Ц5(°)||ф"\ |
(1.29) |
Упражнение 1.1. Показать из (1.29), что для достижения ошибки б:
||5(т >||< «||0<о>| |
(1.30) |
требуется не менее т итераций, где
ш = Ц > 1 / $ . ■ |
(1.31) |
Заметим, что полученная оценка малопригодна в практических случаях, ибо заранее неизвестно и*. Однако из (1.11) следует, что
й(т + !) _ ц(™) = з Ы - |
+ /?[А(Й( т ) - 3( т - 1 ) )] = |
—(Е + рА)(й(т >- ц(т-1)) = (1 - /?А)(«(т >- а^т_1)). (1.32)
Поэтому |
|
||й(т +1) - ц(т )ц ^ 0||«(т ) - з<"*-1>||. |
(1.33) |
Отсюда имеем |
|
Н З ^ - З ^ Н ^ О Н и ^ - З ^ Н , |
|
||«(3>- «(2)ц ^ о 8цз^> — з^ ||, |
(1.34) |
|
|
||2(”>+1) _ 2(т)ц ^ дтр(1) _ 2(0)|| |
|
Из тождества |
|
2(™+Р) _ 2(">) --^О+Р) _ 2(т+р-1) + 2(т+р-1) _ ~(т+р-2) + |
__ |
+ .. •+ ц(т+2) - 3(т+1) + й(т+1) - Й<т ) |
(1.35) |
получим |
|
||2(">+Р) - Й<т )|| < [дт +Р-! + С}т+Р-2 + ... + С2т] НЗЮ - й(°>|| =
= |
- 8<»>|| ^ ~ \ \ п {1) - 3(0)||- |
(1.36) |
Следовательно, устремляя р —*■оо, получим оценку
||3* - 3<"*>|| ^ |
- 3(0)11. |
(1.37) |
Однако величина <3 « 1 - как правило, заранее неизвестна. Поэтому практически о точности приближения судят по величине ||й(т+11 —й(т >|| или по величине невязки
Д(т >= ЛЙ<т > - |
/, # т ) = ЛЙ<т >, |
(1.38) |
||Я(т )||< |
д т ||Д(°)||. |
(1.39) |
Впрочем, из того что мало изменяется величина ||й(т+1)—й(т )||или невязка ||Я(т )||, вовсе не следует, вообще говоря, что получено достаточно точное решение.
В самом деле, рассмотрим для примера решение скалярного уравнения
о II
методом простой итерации
(1.40)
* (п+1) = *<*) - /?/(*"), п = 0,1,... . |
(1.41) |
|
|
|
|
|
Т а б л и ц а |
1 . 2 |
|
6 |
0,1 |
0,05 |
0,025 |
0,020 |
0,015 |
0,010 |
|
п |
34 |
184 |
786 |
1237 |
2213 |
4998 |
|
|
|
|
|
|
Т а б л и ц а |
1 . 3 |
|
6 |
0,1 |
0,05 |
0,025 |
0,020 |
0,015 |
0,010 |
|
п |
22 |
95 |
396 |
621 |
1100 |
2300 |
Положим, например, /(*) = хг и в качестве нулевого приближения выберем аг(°) = 0,9. Точное решение х* = 0. Пусть требуется найти решение с точностью 6. Тогда при итерационном параметре 0 = 1 необходимое число итераций п для достижения заданной точности 6 представлено в табл. 1.2.
При тех же условиях для итерационного параметра 0 = 2 справедливы результаты, представленные в табл. 1.3.
Из приведенного примера видно, что маленькие значения ве личин ||аг(т+1) —аг(т )|| и ||Я(т )|| при больших т свидетельствуют лишь о медленной сходимости.
Если же параметр 0 переменный: |
|
*("+!) = *» - 0 п( х ^ ) 3, п = 0 , 1 , . . . , |
(1.42) |
где
= 3(ж(«))2’
то при тех же условиях, что и в предыдущем случае, точность 0,01 достигается после 12 приближений, а затем на каждый по рядок точности затрачивается 5 приближений. Например, для достижения 6 = 10-5 требуется 28 приближений.
Этот пример наводит на мысль изменять некоторым специаль ным образом итерационный параметр на каждом шаге итерации.
Рассмотрим снова линейную систему (1.10) и итерационную схему (Ричардсона)
й(т+1) = й(т) + Д 4 2(т) _ Д |
^ щ |
Назовем матрицей перехода матрицу 5 т , с помощью которой осуществляется переход от вектора ошибки на т -м шаге итерации к вектору ошибки на т + 1 шаге:
й(т +1) _ 5 т й(т ), 5 = Е + 0тА. |
(1.45) |