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

книги / Численные методы решения задач строительства. Ч. 2

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

Поскольку найти точное решение этой задачи не составляет особого труда (у = exp(x2)), то на рис. 7.9 видно, что вторая итерация «ближе» к точному решению

Рис. 7.8. Приближенные решения задачи Коши (сравнение двух приближений h = 0,2 и h = 0,1)

а

б

Рис. 7.9. Сравнение приближенных решений задачи Коши по методу Эйлера с точным решением: h = 0,2 (а); h = 0,1 (б)

Алгоритм метода Рунге–Кутта

Методом Рунге–Кутта решим ту же задачу Коши (7.27).

Последовательность действий

Порядок решения аналогичен предыдущей задаче

(рис. 7.10).

21

1.Задаем значения шага h, х0 и у0. Вычисляем значение аргумента (узлов) xi = x0 + ih при (i = 1, 2,…, n).

2.Последовательно вычисляем коэффициенты по

формулам (7.25) и приближенные значения yi решения y = y(x) по формуле (7.26).

Схема решения для h = 0,2 приведена на рис. 7.10.

Рис. 7.10. Схема решения задачи Коши методом Рунге–Кутта

Первое приближенное решение (первая итерация) нашей задачи Коши для шага h = 0,2 и точное ее решение – тонированы (см. рис. 7.10).

Расчетная схема для h = 0,1 строится аналогично. Полученное приближенное решение имеет вид

Xi

 

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Yi(h/2)

1,000

1,008

1,037

1,089

1,166

1,273

1,419

1,613

1,871

2,214

2,673

 

Сравнение

полученных приближенных

решений

для

h = 0,1 и h = 0,2 показывает, что разница между ними не превосходит5 %.

Таким образом, в качестве решения исходной задачи Коши принимаем вторую итерацию (с шагом h = 0,1).

22

7.3. Численные методы решения краевых задач

Краевую задачу можно сформулировать так:

Найти функцию y = y(x), которая внутри отрезка [a, b] удовлетворяетобыкновенному дифференциальному уравнению

F(x, y, y', y") 0 ,

(7.28)

а на концах отрезка – краевым условиям

1[ y(a), y'(a)] 0,

(7.29)

2[ y(b), y'(b)] 0.

 

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

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

ляется дискретной моделью области определения искомой функции.

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

Наиболее часто на практике используются два метода сеток:

1)метод конечных разностей (МКР);

2)метод конечных элементов (МКЭ).

23

Воснове МКР лежит конечно-разностная аппрокси-

мация производных в определяющих уравнениях задачи.

Воснове МКЭ лежит вариационный подход, т.е. решение основной вариационной задачи – исследование экс-

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

Существуют и другие подходы к построению численного решения краевых задач, например, переход от исход-

ного дифференциального уравнения к эквивалентному ин-

тегральному уравнению, подлежащему дальнейшим преобразованиям. Примером указанного подхода служит метод граничных элементов (МГЭ), который в данном пособии не рассматривается.

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

7.3.1 Метод конечных разностей

Метод конечных разностей является универсальным численным методом решения краевой задачи. При реализацииМКР:

область непрерывного аргумента заменяется дискретным множеством точек, разностной сеткой n (7.13);

искомая непрерывная функция y=y(x) заменяется се-

точной функцией {(xi, yi), i = 0, 1, …, n}, все производные,

входящие в дифференциальное уравнение и краевые усло-

24

вия, заменяются конечно-разностными аналогами, выраженными через значения искомой функции в узлах сетки.

Этот процесс называется конечно-разностной аппроксимацией (КРА);

– в результате КРА краевая задача заменяется системой линейных алгебраических уравнений, решение которой дает значенияискомойсеточнойфункции {(xi, yi), i = 0, 1, …, n}.

Конечно-разностная аппроксимация – основное понятие теории разностных схем. Это наиболее распространенный прием численного интегрирования как обыкновенных, так и дифференциальныхуравненийвчастных производных.

Начнем с КРА функции одной переменной. Рассмотрим функцию y = y(x), непрерывную на отрез-

ке [a,b]. На область непрерывного аргумента x нанесем разностную сетку n (рис. 7.11).

Рис. 7.11. КРА функции одной переменной

Функцию непрерывного аргумента y = y(x) заменим функцией дискретного аргумента на данной сетке сеточ-

ной функцией Y{y0 , y1,.., yn}, где yi = y(xi), i = 0, 1, ..., n.

Производная функции y = y(x), по определению, есть предел отношения приращения функции y к прираще-

нию аргумента x при x 0 :

25

y' lim y .

x 0 x

В численных расчетах с достаточной степенью точности для малых значений x можно принять

y' yx .

Рассмотрим аппроксимацию производной функции y = y(x) длясеткиспостояннымшагомh, т.е. полагаем x h .

Геометрический смысл производной – тангенс угла наклона касательной в точке (см. рис. 7.11).

Запишем выражения для первой производной функции в точке xi. В зависимости от способа вычисления конечных разностей получаются разные формулы для вычисления производной в одной и той же точке, а именно:

y

'

yi 1 yi 1

центральная разностная формула,

(7.30)

 

 

i

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

y'

yi yi 1

 

левая разностная формула,

(7.31)

 

i

 

 

h

 

 

 

 

 

 

 

 

 

 

 

y '

yi 1 yi

 

правая разностная формула.

(7.32)

 

 

i

 

 

h

 

 

 

 

 

 

 

 

 

 

 

Можно найти также выражения для старших производных:

y'' y ' '

yi' 1 yi'

( yi 1 yi ) h ( yi yi 1) h

 

 

 

i

i

h

h

(7.33)

 

 

yi 1 2yi yi 1 . h2

Аналогично определяются производные высших порядков в конечных разностях.

26

7.3.2. Разностная схема краевой задачи для обыкновенного дифференциального уравнения

2-го порядка

Рассмотрим

линейное дифференциальное

уравнение

второго порядка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y" p(x) y' q(x) y f (x)

(7.34)

с линейными краевыми условиями

 

 

 

 

 

 

 

 

 

 

0 y(a) 1 y'(a) A,

(7.35)

 

0 y(b) 1 y'(b) B,

 

 

 

 

 

 

 

 

 

 

 

 

где p(x), q(x),

f(x) – непрерывные

на [a, b]

функции;

0 , 1, A, 0 , 1, B – заданные числа,

не равные нулю од-

новременно, причем

 

0

 

 

 

1

 

0,

 

0

 

 

 

1

 

0 .

 

 

 

 

 

 

 

 

 

 

Краевые условия (7.35) в общем случае задают линейную связь между значением искомого решения и его производной на концах отрезка [a, b] в отдельности.

В частном случае, если 1 1 0 , то на концах от-

резка [a, b] задано значение искомого решения. Такое краевое условие является краевым условием I рода.

Если 0 0 0 , то на концах отрезка заданы значения производной решения. Это краевое условие II рода.

Вобщем случае, когда j 0 , j 0 , условие назы-

ваются краевым условием III рода.

Вотличие от имеющей всегда единственное решение задачи Коши, в которой только на одном конце задаются условия для искомой функции и ее производной, краевая задача (7.34), (7.35) может иметь или одно решение, или бесконечное множество решений, или, наконец, может со-

всем не иметь решений. Не акцентируя внимание на этой

27

проблеме, будем считать, что линейная краевая задача имеет единственное решение, непрерывное на отрезке [a, b] вместе с производными до 2-го порядка включительно.

Область изменения аргумента x [a, b] заменяем разно-

стной сеткой (дискретной сеточной областью) n (7.13), (см. рис. 7.11) и вводим обозначения

pi p(xi ),

qi q(xi ),

fi f (xi ),

yi y(xi ),

yi' y'(xi ),

yi'' y''(xi ),

(i 0,1, ..., n).

Конечно-разностные выражения (7.30)–(7.33) подставляем в дифференциальное уравнение (7.34) и краевые условия (7.35). При этом во внутренних узлах сетки производные y', y" заменяем их конечно-разностными отношениями (7.30),

(7.33), а в граничных точках x0 a, xn b , чтобы не выходить за пределыотрезка[a, b], соответственно

y '

y1 y0

,

y''

 

yn yn 1

.

 

 

0

h

 

n

 

h

 

 

 

 

В результате этого решение краевой задачи сведено к решению системы линейных алгебраических уравнений

относительно (n+1) неизвестных y0 , y1,..., yn .

 

yi 1

2yi

yi 1

 

p

yi 1 yi 1

q y

f

, (i 1, 2,..., n 1),

 

 

 

 

 

 

 

 

 

 

h

2

 

 

 

 

 

 

 

 

 

i

2h

i i

i

 

 

 

 

 

 

 

 

y y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

(7.36)

0 y0

1

 

 

1

 

 

 

A,

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

n

y

n 1

B.

 

 

 

 

0

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход от краевой задачи (7.34)–(7.35) к системе линейных алгебраических уравнений (7.36) называется ко-

нечно-разностной аппроксимацией краевой задачи или

разностной схемой, в которой искомой является сеточная функция Y{y0 , y1,.., yn} на сетке n.

28

После соответствующих преобразований систему (7.36) можно привести к виду

 

 

 

 

b

 

y

 

c

y

 

A,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ai

yi 1 bi yi ci

yi 1 fi ,

 

i 1, 2, ..., n 1,

(7.37)

 

 

 

 

a

n

y

n 1

b

y

n

B,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

1

 

 

pi

 

,

b q

 

2

,

c

1

 

 

pi

,

i 1, 2, ..., n 1,

(7.38)

h2

2h

 

 

h2

h2

2h

i

 

 

 

 

i

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

b 0

h 1 ,

 

c

1 ,

a

1

 

,

b

 

0h 1 .

(7.39)

0

 

 

h

 

 

 

 

 

0

 

h

 

n

 

 

 

h

 

 

n

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В матричной форме система (7.37) имеет вид

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.40)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A Y

D,

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b0

c0

 

 

a

b

c

 

 

1

1

1

 

 

 

a2

b2

c2

A

 

 

 

 

 

 

 

 

 

 

 

 

 

an 1

bn 1

 

 

 

 

 

 

 

a

 

 

 

 

n

cn 1 bn

a b

 

 

 

 

A

 

 

 

 

 

 

f

 

 

 

 

 

 

f

1

 

 

,

_

 

 

2

 

,

D

 

 

 

 

 

 

 

 

 

 

 

f

n 1

 

 

 

 

 

 

 

 

 

 

 

B

 

 

c

 

 

y0

 

 

 

y

 

 

 

y

1

 

_

 

2

 

Y

 

 

 

.

 

 

 

 

 

y

n

1

 

 

 

 

 

 

 

y

n

 

 

 

 

 

 

Матрица А системы линейных алгебраических уравнений (7.37) является трехдиагональной. Для решения систем такого вида разработан специальный метод прогонки (см. подразд. 3.2.2, ч. I). В результате решения определяются не-

известные y0 , y1,..., yn 1, yn , т.е. значения искомой функции y = y(x) вузлахравномерной сеткизаданного отрезка [a, b].

Пример. Методом конечных разностей решим краевую задачу

29

y" + (1 + x2) y = –1,

 

y(0) = 0, y'(1) = 0.

(7.41)

Данная краевая задача представляет собой дифференциальное уравнение для изгибающего момента балки y = y(x) с переменным поперечным сечением и шарнирно закрепленнымлевымижесткозаделаннымправымконцами(рис. 7.12).

Продемонстрируем по-

строение конечно-разност- ной аппроксимации для этой

 

краевойзадачи

 

 

Для

грубого решения

Рис. 7.12. Изгибаемая

построим

сеточную

об-

балка

ласть с шагом h =

0,25:

 

5{0; 0,25; 0,5; 0,75; 1}.

Введем обозначения: y0 = y(0); y1 = y(0,25); y2 = y(0,5); y3 = y(0,75); y4 = y(1).

Таким образом, нужно определить пять значений неизвестной функции: y0, y1, y2, y3, y4.

Подставляя конечно-разностные отношения (7.30)– (7.33) в краевую задачу (7.41), получим СЛАУ относительно неизвестных y0, y1, y2, y3, y4:

для i = 0 (х = 0)

 

y0 0 ,

 

 

 

 

 

для i = 1

(х = 0,25)

 

y0 2y1 y2

 

(1 0, 252 ) y

1,

0, 252

 

 

 

 

 

 

 

1

 

дляi = 2 (х = 0,5)

y1 2y2 y3

 

(1 0,52 ) y

2

1, (7.42)

0, 252

 

 

 

 

 

 

 

для i = 3

(х = 0,75)

 

y2 2y3 y4

 

(1 0,752 ) y

1 ,

 

 

 

 

 

 

0, 252

 

 

 

 

3

 

для i = 4

(х =1)

 

y4 y3

0 .

 

 

 

 

 

0, 25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30