Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Численные методы в теории упругости и пластичности

..pdf
Скачиваний:
5
Добавлен:
20.11.2023
Размер:
10.57 Mб
Скачать

А = 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)

Соседние файлы в папке книги