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

книги / Численные методы. Ч. 5

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

 

sx

 

 

+ X

 

 

 

 

 

 

 

 

 

-4,-i

3hT‘-'

3hJ‘^ 2

 

 

 

 

 

 

 

■h

)

ЗА

 

 

 

 

 

 

 

 

sx

+ 1&

 

 

8XT=W„

 

 

 

 

 

 

 

 

ЗА

ЗА 1,' V2 ЗА

 

 

 

 

 

 

 

 

 

 

x r

sx

 

 

7X

 

 

 

 

 

 

 

 

 

-Яг

ЗА

'-V2 + 3A

 

 

 

 

 

 

 

 

 

ЗА M

 

 

 

 

 

 

 

 

 

 

Для двух соседних сегментов [х1Ч,х,] и [JC, , JC1+1] эта система урав­

нений записывается в форме

 

 

 

 

 

 

 

 

 

( — Т

—— Т

+ — Т + 0Т

+07’

=

 

 

11. l i-1

lb

l i- 12 + u

' i

+ uy/+l ’ + UY/+1

 

 

ЗА

 

 

ЗА

 

 

ЗА

 

 

 

 

 

 

 

= fK

3sinx,j._,+sinx,.

( 4

 

\

 

4cosx,

 

 

 

 

A

 

 

U2

COSJ:,_,+ —

 

 

 

 

 

 

 

 

J

 

 

 

 

ЗА

7Т +1^:7’

ЗА

'

+ QT

+or .=

 

 

 

 

ЗА

" 12

 

 

,+12

,+|

 

 

 

 

 

8(cosXj_j —cosxi)

4(sinx,_1+sinjc/)

 

 

 

 

 

 

A2

 

 

~

 

 

 

h

 

 

 

— T T + — T + 0Г + 0Г =

 

 

ЗА

 

 

ЗА :-12 ЗА

'

 

 

,+u

,+l

 

 

 

 

 

(sinx,._, + 3sinx,.W 4

Л cos.r. --4 COSJT,

 

 

 

 

 

 

A

 

 

U

2

J

 

 

 

 

07) . + 07;. , ,+ — 7;

ЗА

7J+1*+ — 7L=

 

 

'

1

' 12 ЗА

'

,+12

ЗА ,+1

 

 

= И^

3sinx. + sin A*.

 

 

 

 

 

4 cosx,.

-ft-

 

 

 

 

-

(

 

H

cosx + -

 

 

 

 

 

 

 

 

 

81,

 

 

 

 

 

 

 

8?im

16A.,

 

 

 

 

огы + огМ !- - з : + —

 

 

 

 

 

 

 

 

8(cosx, - cosx,+,)

4(sinx, + sinx,+1)

 

 

 

 

 

 

A5

 

 

 

 

 

A

 

 

 

07’

 

+ 07’

+ — 7’

- — T

+ — T =

 

 

W'-I +W '-12+ 3A

'

 

ЗА

 

Ж 2 ЗА '41

 

 

 

= ^o

(sinx, + 3sinx,4l)

f 4

Л

 

4cos v'/

-^ + 1-

 

 

 

A

 

 

+U 2

- 1J C“ U,+1

A2

 

 

 

 

 

 

 

 

Складывая третье и четвёртое уравнения этой системы и учиты­ вая условие теплового баланса qt + q,, = 0 , можно исключить неиз­ вестные величины внутренних тепловых потоков между соседними сегментами и [xi9xi+l], что снизит размерность системы ли­ нейных алгебраических уравнений:

3sinjc, . + sinXj f

4

 

 

 

4COS X:

Я/-] >

% -------

 

 

 

 

 

 

 

Г i

T - T + 0T + 0T =

 

ЗА м

ЗА

м2

ЗА

'

 

1+12

,+l

 

 

= w0 8(cosXj_, - cos*,)

4(sin.t,_| + sin x,)

 

 

X т

 

A2

 

 

 

A

 

 

 

^

т I

14Л. _ _ 8Л. _

 

_

_

 

ЗА ,ч

ЗА

2

ЗА

'

ЗА

,+l 2

ЗА

,+l

 

 

(sinJC;_, + 6sinх + sinх,ч )

 

4(cos*,._, -cos*/+l)

.

 

A

 

 

 

 

 

A3

.

Or + 0Г - - T + — T

2

- — T =

 

0rw +07J4,

3/7

+

ЗА

^ ,

ЗА ^

 

 

= ^л

8(cosjr, -cos:r/+1)

4(sin x, + sin JC/+1)

 

 

= wa (sinx, +3 sin x/+1)

( 4

Л

 

4cosx

Ям

--------- 1---------+ [ / F - 1J C0' x"

I T

 

Аналогичная процедура ансамблирования выполняется для всех остальных уравнений этой системы. В результате система линейных алгебраических уравнений для определения температурного поля всего стержня принимает вид

IX

SX

T\i

+ _. 7J

+ 07j j + ОГ, + • • • +071, —

„ Т 0

ЗА

 

ЗА

 

 

 

=wn sin A

( 4

4cosA

-e°,

~h

i / r

J + _ A5 -

8A,—,

\ 6k —

8к т

 

 

лт,

~ЗА 0

lA -712 "ЗА 71

0 32

0?2 + '■'+0Г'” =

= W0 8(l-cosA)

4sinA

 

 

 

 

A2

A

 

 

 

X

ei

 

14X.

8Х,

 

А

ЗА

~ ^ Т\2+~ПГТ1 - ЧГ732+ т ^7'2 + ---+0Г_ =

 

 

ЗА

ЗА

 

ЗА

(6sinA+sin2A) 4(l-cos2A)

АР

or0

+ or

——

-^^Г

—— Г

+ i-ОГ —

ОГ

+ 07i2

zh h

Г+ъ и тъ 2 3hT2+

+0ГИ-

=w 8(cosA-cos2A)

4(sinA + sin2A)

 

"o

P

X ^

8X_

A

 

 

 

 

IX

 

 

0Г° + 07;2 + ЗА71

ЗАГз2+ ЗАTl + ' + 07;" "

 

(sinA+ 6sin 2A+sin ЗА)

4(cosA - cos3A)

 

 

A

 

 

P

.

or0+ 07J2 + 07; + or32+ o r ,+ - +11^ r m=

 

 

 

 

 

3/7

 

 

sin(7t-/7)

( 4

Л 4COS(TT-A)

 

_

h

{ ¥

J

h 1

_ - e s

где и - тепловые потоки на левом и правом торцах стержня соот­ ветственно. Для учёта граничного условия первого рода 7’(^)|х=0= Т° на

левом торце стержня следует первое уравнение приведённой системы заменить уравнением Т0 = Т°. Для включения в систему уравнений гра­

ничного условия третьего рода АТ'(х)|м = - а [r(;t)|j=ji - r j на правом

конце стержня используется соотношение 0 1=а [г(х)| -71,]=

= а[Гт -Г те]. Последнее уравнение приведённой системы

А т

- ^ т

 

+ ™ T

= W

sin(Tt-A)

 

0

 

3h m~'

2 h a~'n

3h m

 

преобразуется к виду

 

 

 

 

— T

- — Т

+— Т = W sin(7C—Л)

( 4

3И ”-' ЗА т-п ЗА т 0

h

 

ИЛИ

 

 

 

 

 

 

 

 

 

8А,,

 

 

7АЛ

_

Гsin(^ —/?)

-- Т т 1 -----

Т т 1/2 + СХ+

ЗА/

ш

°|_

A

ЗА m1

ЗА

m“'/2

I

 

f 4 Л 4cos(7t-A )

 

 

 

 

- Q L

Л _ 44соCOS^(7U-A)

- a [

7 ; - r j

U

1 "

J2

 

Г 4

л

4cos(n - А)

+ аГ .

U 2

J

А2

 

 

Окончательно система линейных алгебраических уравнений для определения температурного поля всего стержня записывается в форме

'

Iт0 +

от12 +

0 7 ;

+

отш +

от2+

•••

+

отт = т° ,

~

т0

+ 1- ^

т]2 -

т{ +

отУ2+

от,

+

••• + orm=

 

ЗА

0

ЗА

12

 

ЗА

1

32

 

 

 

 

=ж,

8(l-cosA)

4sinA

 

 

 

 

 

А2

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

0

г _

А

ЗА 71

+ А

г

А

т 07- -+ А г +

 

ЗА

З А 12

ЗА

32

ЗА

2

 

(6sinA+sin2A) 4(l-cos2A)

АА2

 

С1

7| +

16Х,

8Я..

О^о + 07],2

^ ^

2

- А Г2 + - + 0 7 ; =

 

 

 

ЗА

 

ЗА

= ^0

8(cosA-cos2A)

4(sinA+ sin2A)

 

 

 

 

 

ОТ0 + 07j2 +

 

8^

 

7k г

7J — Ti:2 + — 72+ +07; —

 

ЗА

ЗА

'

ЗА

= »о

(sinA+ 6sin2A + sin3A)

4(cos2A-cos3A)

А

 

 

А2

 

 

 

07; + 07^2 + 07;

+ 07 , + 0Т2+ ••• +| а + — 1Т =

 

 

 

 

 

ЗА

= Wn sin(rc-A)

f 4

Л

4cos(7t - A) -a71.

Исключённые из системы уравнения в дальнейшем, после вы­ числения узловых коэффициентов 7}, могут быть использованы для определения тепловых потоков 0 ° и

Алгоритм решения

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

Программа 2.2

//

Стационарная задача теплопроводности

 

 

//

Ne

число сегментов

 

 

 

// Nk - число узлов

 

 

 

//

locale

массив

коэффициентов

системы уравнении

для

сегмента

//

localF

массив

правых частей

системы уравнений

для

сегмента

//

globalC

массив

коэффициентов

системы уравнений

для

объекта

//

globalF

массив

коэффициентов

системы уравнений

для

объекта

//

х

массив координат узлов

 

 

 

//

хО

начальная

точка

 

 

 

/ /

XI

конечная

точка

 

 

 

//h длина сегмента

//W0 амплитуда мощности источников

//L коэффициент теплопроводности

//

ТО

температура

на левом торце (хО)

//

Те

температура

среды

/ / А

коэффициент

теплоотдачи

#define Ne 64

void main(void)

{double globalC[2*Ne+l] [ 2*Ne+l], globalF[2*Ne+l], x[Ne+l]; double locale[2] [2], localF[2], x0=0., xl=M__PI, h=(xl-xO)/Ne; double L = 7 0 .0, W=1000.0, T0=100.0, Te=20.0/ A=30.0;

int i, j, k, Nk=Ne+l;

//определение координат и номеров узлов каждого сегмента for(k=0; k<Nk; k++) x[k]=xO+h*k;

//инициализация массивов коэффициентов и правых частей

//системы уравнений

for(i=0; i<2*Ne+l; i++)

for(globalF[i]=0.0/ j=0; j<2*Ne+l; j++) globalC[i] [j]=0.0; for(k=0; k<2*Ne+l; k++)

// формирование матриц коэффициентов и правых частей для сегмента

{locale [0] [0]=7.0 *L/(3.0*h);

locale [0] [1] =localC[1] [0]= - 8 .0*L/(3.0*h) ; locale [0] [2] =localC [2] [0] =L/ (3.0*h) ; locale [1] [1]=16.0 * L / (3.0*h);

locale [1] [2]=localC [2] [1]= - 8 .0*L/(3.0*h) ;

locale[2] [2]=7.0*L/(3.0*h);

localF [0] =W0* ((3.0*sin (x [kj )+sin (x [k+1] ))/h- (4.0/ (h*h) -

1.0)*cos(x[k])+4.Q*cos(x [k+l])/ (h*h) );____________

l o c a l F [1]= W 0 * (8.0*(cos(x[k])-cos(x[k+1]))/ (h*h)- 4 . 0 * (sin(x[k])+sin(x[k+1]))/ h ) ;

localF [2]= W 0 * ((sin(x[k])+3.0*sin(x [k+1]))/ h + (4.0 / (h*h)- 1.0)*cos(x [k+1])-4.0*cos(x[k])/ (h*h));

// формирование матриц коэффициентов и правых частей для объекта globalC[2*k] [2*k]+=1оса1С [0] [0];

globalC [2*k] [2*k+l]+=localC [0] [1]; globalC[2*k] [2*k+2]+=localC [0] [2]; globalC[2*k+l][2*k]+=localC[1][0]; globalC[2*k+l][2*k+l]+=localC[1][1]; globalC[2*k+l][2*k+2]+=localC[1][2]; globalC[2*k+2] [2*k]+=localC [2] [0]; globalC [2*k+2] [2*k+l]+=localC [2] [1]; globalC[2*k+2] [2*k+2]+=localC [2] [2]; globalF[2*k]+=localF[0]; globalF[2*k+l]+=localF [1]; globalF[2+k+2]+=localF [2];

}

// определение граничного условия 1-го рода на левом торце globalC [0] [0] =1.0;

for(k=l; k<2*Ne+l; k++) g l o balC[0] [k]=0.0; globalF [0]=T0;

// определение граничного условия 3-го рода на правом торце globalC [2*Ne] [2*Ne]+=А;

globalF[2*Ne]+=A*Te;

//решение системы линейных алгебраических уравнений GAUSS(globalC, globalF, 2*Ne+l);

i _______________________________________________________________

Реализация алгоритма

Первоначально отрезок [0, п\ разбивается на четыре сегмента равной длины

[О, л] = [0,л/4] U[л/4,л/2] U [я/ 2,3л/4] U [3л/4,л].

На каждом из этих сегментов в соответствии с выражением (2.11) определяются кусочно-квадратичные пробные функции. Ре­ шение дифференциального уравнения представляется разложением (2.9). Для построения приближённого решения необходимо решить систему линейных алгебраических уравнений относительно коэффи­ циентов 7).

В соответствии с приведёнными выражениями и количествен­ ными значениями физических констант подсчитываются значения интегралов (с учетом определения (2.19) пробных функций):

- коэффициенты и правая часть системы уравнений для сег­ мента [0, л/4]:

к/Л —^

Mp'oWP <& = ~ = 207,962,

оЗА

*/} •/* о т

р Ж (*Ж/2(*)* = JWifi (*Ж (*)<Ь= - — = -237,671,

ПП

№ /2 (*)f л

= ^

= 475,343,

 

Я/4

Л/4

 

 

 

 

р-Фо(*Ж(*)^ = /*Ж (*Ж (*)* = — = 29,7089,

0

0

 

 

Зп

 

 

{x)fdx=1^

=207,962,

 

л/4

я/4

 

 

 

 

р Ж /2(*Ж (*)<& =

р Ж (jcK/2{x)dx = ~ 3h =-237,671;

 

sin h

 

4 cos h

 

~1Г

 

 

1,03391,

 

 

 

 

 

8(l-cos/t)

4sinA

= 197,299,

 

 

h1

 

h

 

 

3sinA

4

.1

2,

4

 

h

—:—1

COSA--- r- = 94,5598;

 

+

 

 

 

' 207,962Го - 237,6717;/2 + 29,70897; = 1,03391,

- - 237,671Г0+ 475,3437;/2- 237,6717; = 197,299,

29,70897’o - 237,67\Ty2+ 207,9627; = 94,5598;

- коэффициенты и правая часть системы уравнений для сегмента [л/4,я/2]:

 

тг/2

х( х ) ¥ сЬ с = -1 £ - =207,962,

 

 

 

 

Ш

 

 

 

 

J*

 

 

за

 

 

 

 

 

л/41

 

 

 

 

 

 

 

 

 

л/4

я/4

 

 

о )

 

 

 

 

|я.<р;> ; /2(х)а!г =

|Яф'/2(х>р;(х>&=

=-237,671

 

л /2

 

 

 

 

 

 

 

 

 

{^[ф'з/2

^ =

3/7

= 475)343>

 

 

 

 

я/4

 

 

 

 

 

 

 

л/2

 

л/4

 

 

 

 

 

 

 

JX(p'(х)ф2(x)dx =

|Хф2(х)ф' (х)Л = — = 29,7089,

 

 

f

 

 

 

 

 

 

 

 

 

л/4

 

 

 

 

 

 

 

 

 

ir/2

 

 

 

 

 

 

 

 

 

|Х[ф'2(*)]2Л = ^

= 207,962,

 

 

 

 

fJ

 

 

ЗЛ

 

 

 

 

 

л/4

 

 

 

 

 

 

 

 

 

л/2

л,/2

 

 

о*

 

 

 

 

J ^ ' /2(J:V2(X>/X =

| ^ - ф2(х) фз/2{х)dx = - — = -237,671;

 

л/4

л/4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos А + 4cos2A = 96,0219,

 

Ф

 

 

 

 

 

 

 

 

 

W0 jsinx(p3/2(x)dx = fV0 8(cosA-cos2A)

4(sin A + sin 2A)

= 476,323,

 

л/4

 

h1

 

 

A

 

 

 

Л/2

 

 

 

( 4

Л

4 cos A

 

W0

(sinA + 3sin2A)

 

= 134,762;

Jsinхф2{x)dx = IV0 ------------------i +

—r - 1 cos2A-

 

я/4

h

 

U

)

 

 

 

207,9627; - 237,671Г3/2 + 29,70897; = 96,0219, -237,6717; +475,3437^2 -237,6717; = 476,323, 29,70897; - 237,671Гу2 + 207,9627; = 134,762;

Зл/2

}Х[<р/2(х)Г ^ = ^ = 207,962,

!'•

 

 

л/2

 

 

 

 

 

Зл/2

Зл/2

= ~

=-237,671,

 

}М>2(xV5/2

=

JA.<P;/2 (дг)ф2

 

я/2

"/2

ЗА

 

 

 

 

 

 

 

Зл/2

 

 

 

 

 

 

JA.[(P;/2(JC)]2^ = ^

= 475,343,

 

 

 

 

л/2

 

 

 

 

 

Зл/2

 

Зя/2

 

 

 

 

jW 2 (л:)<Рз(*>& =

| A.<PJ(дг)ф2 (x)dx= = 29,7089,

 

 

л/2

 

Л/2

зл

 

 

 

 

 

 

 

 

 

Зл/2

 

 

 

 

 

 

}^[(рз(д:)]2 C*X = TZ~ 207,962,

 

 

 

 

л/2

3/7

 

 

 

 

 

 

 

 

 

 

Зя/2

Зя/2

 

 

 

 

|я.<р;/2(х>р;(*> &= JA з(*)q>;/2( * > & = - —

= - 237,671;

 

Я/2

л/2

 

 

 

Зл/2

3sin2/J4-sin3/z ( 4

Л ..

4cos3A

= 134,762,

Jsin хф2 (x)ir = W0

A

---- - T - l cos2/7+

А

Ф

U

J

 

 

 

 

 

 

 

Зл/2

 

 

4(sin 2/7+ sin ЗЛ) = 476,323,

^0

jsin;c(p5/2(*)<fc= 0'o 8(cos 2ЛcosЗ/7 )

 

л/2

 

 

 

 

 

Зл/2

 

 

 

4cos2/7 =96,0219;

Jsinjc(p3(jc)i!c= ^0 (sin 2Л+ 3sinЗЛ) ( f 4

Л со„эд

Ф

A

+1,AI _ JC0S

A5

 

 

 

 

 

 

207,9627, -237,67175/2 + 29,70897, = 134,762, -237,6717,+475,34375/2 -237,67173 = 476,323, 29,708972 - 237,6717]V2 + 207,96273= 96,0219;

 

 

 

= ^

= 207,962,

 

 

 

 

Зя/2

 

ЗЛ

 

 

 

 

 

JX(p;(jc)q>7/2(x)dx = JX(p'7/2(дс>рз

= ~

= -237,671,

 

Зл/2

 

Зл/2

 

 

 

 

 

 

 

№ /2 W f ^ = ^

 

= 475,343,

 

 

 

Зл/2

 

3,7

 

 

 

 

 

К (jc>p4(•*■)dx = /я,ф' (х)ф'з(х>2г = ^ - = 29,7089,

 

 

Зл/2

 

Зл/2

 

 

 

 

 

 

 

3^2

Л = - ^ = 207,962,

 

 

 

 

 

3/1

 

 

 

 

) Н /2(*M (x]dx=

|Лф^(х )ф; 2 (x)dc = ~

= -237,671;

 

Зл/2

 

Зл/2

 

 

 

 

 

^0 {зтхфз(зс>& = Ж0 3sin З/г+ sin 4/z

р --1 |cos3/* + 4cos4Л

= 94,5598,

Зл/2

 

 

h

 

 

 

_ fc5 -

 

^0 Jsinдхр7/2 (J:)£*C=

8(cos3A-cos4A)

4(sin3A + sin4A)

 

 

 

 

 

 

= 197,299,

Зл/2

 

 

 

 

 

 

 

 

Wg Jsin

хф4 (x)t& = W0

(sin3A + 3sin4A)

+

4

'j

 

= 1,03391.

 

A

5--I cos4A- 4cosЗА

3*/2

 

 

 

 

 

A*

 

207,9627’ -237,6717^+29,70897; =94,5598 «-237,6717; + 475,343Г7/2- 237,67Щ = 197,299, 29,70897; - 237,671Г7/2 + 207,962Г4 = 1,03391.