Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительная математика.pdf
Скачиваний:
3
Добавлен:
24.11.2025
Размер:
3.89 Mб
Скачать

2.13Метод сеток для уравнения параболического типа

2.13.1Общие сведения

Идея метода сеток заключается в следующем: 1) область непрерывного изменения независимых переменных заменяется конечным множеством точек, называемым сеткой; 2) производные, входящие в дифференциальное уравнение, заменяются конечноразностными отношениями, что позволяет дифференциальное уравнение свести к системе алгебраических уравнений; 3) на основании граничных условий устанавливаются значения искомого решения в граничных узлах области.

Пусть для функции двух переменных u(x,t) с областью существования D аргументы x и t заключены внутри соответствующих отрезков 0 x , 0 t T . Множество точек на плоскости xOy с координатами xi = ih , t j = jτ, (i = 0,1,2,..., N; j = 0,1,2,..., N0 ) называется равномерной сеткой в области D , а сами точки узлами сетки. Значения функции u(x,t) в

узлах сетки (ih, jτ) будем обозначать u(xi ,t j ) = uij .

В каждом узле частные производные заменяются разностными отношениями: а) производные первого порядка (правая разностная производная)

 

u

 

 

u j

 

u j

 

 

u

 

u j+1

u j

 

 

 

 

 

 

 

 

 

 

~

 

i+1

 

i

,

 

 

~

i

 

 

i

;

 

 

 

 

 

 

 

 

 

h

 

 

τ

 

 

 

 

 

 

x ij

 

 

 

 

 

 

 

 

t ij

 

 

 

 

 

 

 

 

 

б) производные второго порядка

 

 

 

 

 

 

 

 

2u

 

 

 

u j

 

2u j +u j

 

2u

 

 

 

u j+1

2u j +u j1

 

 

 

 

~

 

i+1

 

 

i

 

i1

 

;

 

 

 

~

 

i

 

i

i

.

 

x

2

 

 

 

 

 

 

h

2

 

 

 

 

t

2

 

 

 

 

τ

2

 

 

 

 

ij

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

 

 

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

2.13.2 Постановка задачи

Рассмотрим смешанную задачу для уравнения теплопроводимости, а именно: найти функцию u(x,t) , удовлетворяющую уравнению:

u

= a

2 2u

,

(1)

t

x2

 

 

 

начальному условию

 

u(x,0) = f (x) (0 < x < s)

(2)

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

93

u(0,t) = ϕ(t) , u(s,t) = ψ(t) .

(3)

К задаче (1) – (3) приводит, в частности, задача о распространении тепла в однород-

ном стержне длины s. Путем введения новой переменной τ = a2t

уравнение (1) приводится к

виду

 

 

 

 

u

=

2u

,

 

∂τ

x2

 

 

 

 

поэтому в дальнейшем примем a =1.

2.13.3 Разностные схемы

Рис. 6

Построим в полуполосе t 0, 0 x s два семейства параллельных прямых: x = ih ,

t = jτ . Приближенно заменим в каждом внутреннем узле (x

,t

j

) производную

2u

разност-

 

 

 

 

 

 

 

 

 

i

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ным отношением

 

 

 

 

 

 

 

 

 

 

2u

 

u j

 

2u j +u j

 

 

 

 

 

 

 

2

 

i+1

i

i1

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

 

 

а производную

u

одним из двух разностных отношений

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

u

 

u j+1

u j

 

 

 

i

i

,

τ

 

t ij

 

 

 

u

 

u j u j1

 

 

i

i

.

 

 

 

t ij

 

 

τ

Тогда для уравнения (1) при a =1

u j+1

u j

=

u j

2u j +u j

i

i

i+1

i

i1 ,

τ

 

 

h2

 

 

u j u j1

=

u j

2u j + u j

i

i

i+1

i

i1 .

τ

 

 

h2

 

 

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

(4)

(5)

94

Обозначив σ =

τ

приводим эти уравнения к виду

 

 

 

 

h2

 

uij+1 = (12σ)uij (uij+1 +uij1) ,

(6)

(1+ 2σ)uij −σ(uij+1 +uij1) uij1 = 0 .

(7)

Для составления уравнения (4) была использована схема узлов, данная на рис. 7 а – явная схема, для уравнения (5) – схема узлов, данная на рис. 7 б – неявная схема.

Рис. 7 а, б При выборе числа σ в уравнениях (6), (7) следует учитывать два обстоятельства:

1)погрешность замены дифференциального уравнения разностным должна быть наименьшей;

2)разностное уравнение должно быть устойчивым.

Доказано, что уравнение (6) будет устойчивым при 0 < σ ≤ 12 , а уравнение (7) – при любом σ. Наиболее удобный вид уравнение (6) имеет при σ = 12 :

uij+1 =

uij1 + uij+1

 

(8)

 

 

 

 

2

 

 

 

 

и при σ =

1

:

uij+1 =

1

(uij1 + 4uij +uij+1)

(9)

 

6

 

 

 

6

 

 

 

2.13.4 Оценки погрешностей

Оценки погрешностей приближенных решений, полученных из уравнений (7) – (9) в

полосе 0 x s ,

0 t T

соответственно имеют вид:

~

|

 

T

M1h

2

,

 

 

(10)

| u u

3

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

T

 

 

 

 

4

,

(11)

| u u

|

 

 

 

M 2h

 

135

 

 

 

 

 

 

 

 

 

95

~

 

τ

 

h2

 

 

 

| u u

|T

 

+

 

M

1

,

 

 

 

 

2

 

12

 

 

 

 

 

 

 

 

где ~ – точное решение задачи (1) – (3), u

M1

(4)

′′

′′

,

= max{| f(x)

|,| ϕ (t) |,| ψ (t) |} при 0 t T , 0 x s

M 2

= max{| f((x6)) |,| ϕ(4) (t) |,| ψ(4) (t) |} 0 t T , 0 x s .

 

Из приведенных оценок погрешностей видно, что уравнение (9) дает более высокую точность решения по сравнению с уравнением (8). Но уравнение (8) имеет более простой вид, а, кроме того, шаг τ по аргументу t для уравнения (9) должен быть значительно меньше, что приводит к большему объему вычислений. Уравнение (7) дает меньшую точность, но при этом шаги τ и t выбираются независимо друг от друга. Уравнения (8) и ( 9) позволяют вычислить значения функции u(x,t) на каждом слое по явным формулам через значения на предыдущем слое; уравнение (7) (неявная схема) этим свойством не обладает.

Пример 1. Используя разностное уравнение (8), найти приближенное решение урав-

нения

u

=

2u

,

 

(12)

t

x2

 

 

 

 

 

удовлетворяющее условиям

 

 

u(x,0) = sin πx(0 x 1) , u(0,t) = u(1,t) = 0 (0 t 0,025) .

 

(13)

Решение. Выберем по аргументу x шаг h = 0,1. Так как σ =

1

, получаем по аргументу

 

 

 

 

 

2

 

t шаг τ = h2

2

=

0,005 . Записываем в таблицу начальные и краевые значения. Учитывая их

 

 

 

 

 

 

симметрию, заполняем таблицу только для x = 0 ; 0,1; 0,2; 0,3; 0,4; 0,5. Значения функции u(x,t) на первом слое находим, используя значения на начальном слое и краевые условия, по

формуле (11) при

j = 0: ui1 =

ui0+1 +ui01

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, получаем

 

 

 

 

 

 

 

 

u1

=

1

(u0

+u0 ) =

1 (0,5878 +0) = 0,2939 ,

u1

=

1

(u0

+u0 ) =

1

(0,8090 +0,3090)

= 0,5590

1

 

2

2

0

2

 

 

2

 

2

3

1

2

 

 

и т.д. Записываем полученные значения ui1(i =1,2,3,4,5) во вторую строку таблицы. После этого переходим к вычислению значений на втором слое по формуле (11) при j =1:

ui2 = ui1+1 + ui11 .

2

96

j

t

 

 

 

x

 

 

 

0

0,1

0,2

 

0,3

0,4

0,5

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

1

0,005

0

0,2939

0,5590

 

0,7699

0,9045

0,9511

 

2

0,010

0

0,3795

0,5316

 

0,7318

0,8602

0,9045

 

3

0,015

0

0,2658

0,5056

 

0,6959

0,8182

0,8602

 

4

0,020

0

0,2528

0,4808

 

0,6619

0,7780

0,8182

 

5

0,025

0

0,2404

0,4574

 

0,6294

0,7400

0,7780

 

u (x,t)

0,025

0

0,2414

0,4593

 

0,6321

0,7431

0,7813

 

~

 

 

 

 

 

 

 

 

 

| u u |

0,025

0

0,0010

0,0019

 

0,0027

0,0031

0,0033

 

~

 

 

 

 

 

 

 

 

 

Подобным образом определяем последовательно значения

uij при t = 0,005 ; 0,010;

0,015; 0,020; 0,025. В двух последних строках таблицы приведены значения точного решения

~

 

−π2t

sin πx

 

 

~

задачи u (x,t) = e

 

и модуля разности | u u | при t = 0,025 .

Для сравнения приведем оценку погрешности, полученную по формуле (10). Для дан-

ной задачи ϕ(t) = ψ(t) = 0 ,

f (4) (x) = π4 sin πx , следовательно, M1 = π4 .

Таким образом, получаем

 

~

0,025

 

4

 

2

 

0,025

97,22 0,01 = 0,0081.

| u u |

 

3

 

π

 

h

 

=

3

Пример 2. Используя разностное уравнение (9), найти решение задачи (12), (13) при

0 t 0,01. Дать оценку погрешности полученного решения.

Решение. Выберем по аргументу x шаг h = 0,1. Так как для формулы (9), σ =1/ 6 по-

лучаем по аргументу t шаг τ =

0,01

0,0017 . Заносим в таблицу начальные и краевые значе-

6

 

 

 

ния. В силу симметрии решения достаточно заполнить таблицу для

0 x 0,5. Затем при-

ступаем к вычислениям по

формуле (9). Для первого слоя

при j =1 получаем

u1 =

1

(u0

+ 4u0 +u

0 ) .

 

 

 

 

 

 

i

6

0

1

2

 

 

 

 

 

 

 

 

j

 

 

t

 

 

 

 

 

x

 

 

 

 

 

 

 

0

0,1

0,2

0,3

0,4

0,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

0

0,309017

0,587785

0,809017

0,951057

0,000000

 

1

 

 

0,0017

 

0

0,303976

0,578196

0,795818

0,935541

0,983686

 

2

 

 

0,0033

 

0

0,299017

0,568763

0,782835

0,920278

0,967638

 

3

 

 

0,0050

 

0

0,294138

0,559484

0,770063

0,905264

0,951852

 

4

 

 

0,0067

 

0

0,289339

0,550356

0,757500

0,890495

0,936322

 

5

 

 

0,0083

 

0

0,284619

0,541377

0,745142

0,875967

0,921046

~

6

 

 

0,0100

 

0

0,279976

0,532545

0,732982

0,861676

0,906019

u(x,t)

 

0,01

 

 

0

0,279975

0,532544

0,732984

0,861675

0,906018

Откуда последовательно находим

 

 

 

 

 

 

u1

= 1 (0 + 4 0,309017 +0,587785) = 0,303976 ,

 

 

 

 

 

1

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

97

u12 = 16 (0,309017 + 4 0,587785 +0,809017) = 0,578196 ,

……………………………………………………….

u51 = 16 (0,951057 + 4 1+0,951057) = 0,983686 .

Вычисления для последующих слоев проводятся аналогично. Для оценки погрешно-

сти по формуле (11) при t = 0,001 имеем ϕ(t) = ψ(t) = 0 ,

f (6) (x) = π6 sin πx ,

M 2 = π2 . Таким

образом,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

0,01

6

 

4

0,01

 

 

4

 

 

6

.

 

 

 

 

 

 

 

 

 

 

| u u |= 135 π

 

h

 

135 958,6 10

 

7

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

= e

−π2t

sin πx при

В последней строке таблицы приведены значения точного решения u

 

t = 0,01.

Сравнение

показывает,

что

погрешность

полученного решения

не

превосходит

2 106 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задания

 

 

 

 

 

 

 

 

 

 

Найти

приближенное решение

уравнения

u

=

2u

,

удовлетворяющее условиям

t

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u(x,0) = (ax2 +b)sin πx ,

 

u(0,t) = u(1,t) = 0 , для значений 0 t 0,02 , взяв по аргументу x шаг

h = 0,1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

задаче

использовать

разностное

уравнение

(8).

a =1,1;1,3;1,5,

b =1,1+0,1 k ,

k = 0, 1, 2, 3, 4 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номера вариантов заданий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

a =1,1,

b =1,1;

 

 

2.

a =1,1,

b =1,2 ;

 

 

 

 

3.

a =1,1, b =1,3;

 

4.

a =1,1,

b =1,4 ;

 

5.

a =1,1,

b =1,5 ;

 

 

 

 

6.

a =1,3 ,

b =1,1;

 

7.

a =1,3 ,

b =1,2 ;

 

8.

a =1,3 ,

b =1,3;

 

 

 

 

9.

a =1,3 ,

b =1,4 ;

 

10.

a =1,3 , b =1,5 ;

11.

a =1,5 , b =1,1;

 

 

 

12.

a =1,5 , b =1,2 ;

13.

a =1,5 , b =1,3;

14.

a =1,5 , b =1,4 ;

 

 

 

15.

a =1,5 , b =1,5 .

98

Ответы

a = 1,1

 

b

 

t

 

u1j

u2j

u3j

u4j

 

u5j

 

u6j

 

u7j

 

 

u8j

 

u9j

 

 

1,1

0,020

 

0,31065

0,60232

 

0,85466

1,04521

1,14988

1,14460

1,01787

 

0,76358

0,41201

 

 

 

 

 

0,015

 

0,31969

0,62129

 

0,88494

1,08803

1,20540

1,21172

1,08370

 

0,82401

0,44346

 

 

 

 

 

0,010

 

032821

0,63939

 

0,91437

1,13049

1,26168

1,28049

1,16177

 

0,88692

0,48625

 

 

 

 

 

0,005

 

0,33607

0,65641

 

0,94271

1,17234

1,31826

1,35103

1,24272

 

0,97251

0,53111

 

 

 

 

 

0,000

 

0,34315

0,67213

 

0,96967

1,21330

1,37500

1,42322

1,32705

 

1,06222

0,61797

 

 

1,2

0,020

 

0,33592

0,65039

 

0,92084

1,12302

1,23171

1,22244

1,08410

 

0,81171

0,43742

 

 

 

 

 

0,015

 

0,34627

0,67184

 

0,95452

1,16984

1,29153

1,29358

1,15335

 

0,87463

0,47007

 

 

 

 

 

0,010

 

0,35615

0,69254

 

0,98753

1,21650

1,35214

1,36655

1,23501

 

0,94014

0,51426

 

 

 

 

 

0,005

 

0,36544

0,71229

 

1,01963

1,26277

1,41337

1,44151

1,31973

 

1,02851

0,56055

 

 

 

 

 

0,000

 

0,37404

0,73088

 

1,05055

1,30838

1,47500

1,51836

1,40802

 

1,12110

0,64900

 

 

1,3

0,020

 

0,36119

0,69847

 

0,98702

1,20083

1,31354

1,30028

1,15034

 

0,85984

0,46263

 

 

 

 

 

0,015

 

0,37284

0,72239

 

1,02410

1,25165

1,37756

1,37543

1,22299

 

0,92526

0,49668

 

 

 

 

 

0,010

 

0,38409

0,74569

 

1,06069

1,30252

1,44260

1,45261

1,30825

 

0,99337

0,54226

 

 

 

 

 

0,005

 

0,39482

0,76817

 

1,09655

1,35321

1,50848

1,53199

1,39674

 

1,08451

0,58999

 

 

 

 

 

0,000

 

0,40492

0,78964

 

1,13142

1,40347

1,57500

1,61349

1,48899

 

1,17999

0,68004

 

 

1,4

0,020

 

0,38647

0,74655

 

1,05320

1,27864

1,39537

1,37812

1,21658

 

0,90796

0,48794

 

 

 

 

 

0,015

 

0,39942

0,77294

 

1,09368

1,33346

1,46360

1,45728

1,29263

 

0,97588

0,52330

 

 

 

 

 

0,010

 

0,41203

0,79883

 

1,33885

1,38853

1,53306

1,53867

1,38150

 

1,04659

0,57026

 

 

 

 

 

0,005

 

0,42419

0,82405

 

1,17347

1,44365

1,60359

1,62248

1,47375

 

1,14052

0,61943

 

 

 

 

 

0,000

 

0,43581

0,84839

 

1,21230

1,49855

1,67500

1,70863

1,56995

 

1,23887

0,71108

 

 

1,5

0,020

 

0,41174

0,79463

 

1,11938

1,35645

1,47720

1,45595

1,28282

 

0,95609

0,51325

 

 

 

 

 

0,015

 

0,42599

0,82349

 

1,16326

1,41527

1,54964

1,53913

1,36227

 

1,02650

0,54991

 

 

 

 

 

0,010

 

0,43997

0,85198

 

1,20701

1,47455

1,62352

1,62473

1,45474

 

1,09982

0,59826

 

 

 

 

 

0,005

 

0,45357

0,87993

 

1,25039

1,53408

1,69870

1,71296

1,55076

 

1,19652

0,64887

 

 

 

 

 

0,000

 

0,46670

0,90714

 

1,29317

1,59364

1,77500

1,80376

1,65092

 

1,29775

0,74212

 

 

 

 

a = 1,3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

t

 

 

u1j

 

u2j

 

u3j

u4j

 

u5j

 

u6j

 

u7j

 

u8j

 

u9j

1,1

 

0,020

 

0,31658

 

0,61567

 

0,87769

1,07963

 

1,19528

 

1,19703

 

1,07046

 

0,80616

0,43629

 

 

 

0,015

 

0,32467

 

0,63315

 

0,90667

1,12223

 

1,25259

 

1,26833

 

1,14146

 

0,87259

0,47086

 

 

 

0,010

 

0,33200

 

0,64935

 

0,93431

1,16400

 

1,31016

 

1,34119

 

1,22651

 

0,94173

0,51866

 

 

 

0,005

 

0,33842

 

0,66400

 

0,96028

1,20462

 

1,36772

 

1,41570

 

1,31466

 

1,03732

0,56880

 

 

 

0,000

 

0,34377

 

0,67683

 

0,98423

1,24372

 

1,42500

 

1,49172

 

1,40640

 

1,13759

0,66825

1,2

 

0,020

 

0,34185

 

0,66375

 

0,94387

1,15744

 

1,27711

 

0,27487

 

1,13670

 

0,85429

0,46160

 

 

 

0,015

 

0,35125

 

0,68370

 

0,97625

1,20404

 

1,33863

 

0,35019

 

1,21110

 

0,92321

0,49748

 

 

 

0,010

 

0,35994

 

0,70249

 

1,00747

1,25001

 

1,40062

 

0,42725

 

1,29975

 

0,99495

0,54666

 

 

 

0,005

 

0,36779

 

0,71988

 

1,03720

1,29505

 

1,46283

 

0,50618

 

1,39166

 

1,09333

0,59824

 

 

 

0,000

 

0,37465

 

0,73558

 

1,06511

1,33881

 

1,52500

 

0,58685

 

1,48737

 

1,19647

0,69929

1,3

 

0,020

 

0,36713

 

0,71183

 

1,01005

1,23525

 

1,35894

 

1,35270

 

1,20293

 

0,90241

0,48692

 

 

 

0,015

 

0,37782

 

0,73425

 

1,04584

1,28585

 

1,42467

 

1,43204

 

1,28074

 

0,97383

0,52409

 

 

 

0,010

 

0,38788

 

0,75564

 

1,08062

1,33603

 

1,49108

 

1,51331

 

1,37300

 

1,04817

0,57466

 

 

 

0,005

 

0,39717

 

0,77576

 

1,11412

1,38549

 

1,55794

 

1,59667

 

1,46867

 

1,14933

0,62768

 

 

 

0,000

 

0,40544

 

0,79434

 

1,14589

1,43390

 

1,62500

 

1,68199

 

1,56833

 

1,25535

0,73032

1,4

 

0,020

 

0,39240

 

0,75991

 

1,07623

1,31306

 

1,44078

 

1,43054

 

1,26917

 

0,95054

0,51223

 

 

 

0,015

 

0,40440

 

0,78480

 

1,11542

1,36766

 

1,51071

 

1,51389

 

1,35038

 

1,02445

0,55070

 

 

 

0,010

 

0,41582

 

0,80879

 

1,15378

1,42204

 

1,58154

 

1,59937

 

1,44624

 

1,10140

0,60267

 

 

 

0,005

 

0,42654

 

0,83164

 

1,19104

1,47593

 

1,65305

 

1,68715

 

1,54568

 

1,20533

0,65712

 

 

 

0,000

 

0,43643

 

0,85309

 

1,22685

1,52898

 

1,72500

 

1,77712

 

1,64930

 

1,31424

0,76136

1,5

 

0,020

 

0,41768

 

0,80798

 

1,14241

1,39087

 

1,52261

 

1,50838

 

1,33541

 

0,99867

0,53754

 

 

 

0,015

 

0,43097

 

0,83535

 

1,18500

1,44947

 

1,59674

 

1,59574

 

1,42003

 

1,07508

0,57731

 

 

 

0,010

 

0,44376

 

0,86194

 

1,22694

1,50806

 

1,67200

 

1,68543

 

1,51948

 

1,15462

0,63067

 

 

 

0,005

 

0,45592

 

0,88752

 

1,26796

1,56636

 

1,74816

 

1,77763

 

1,62269

 

1,26133

0,68656

 

 

 

0,000

 

0,46731

 

0,91184

 

1,30773

1,62407

 

1,82500

 

1,87226

 

1,73027

 

1,37312

0,79240

99

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]