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

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

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

где q\_x, q, - тепловые потоки на поверхностях левого и правого

торцов соответствующего сегмента. На основе пробных функций (2.22) формируется приближённое решение задачи на сегменте [х,_ 1,*,] в виде

Т„ (-г) = Гм Фм (х) + Тщ2фм/2(х) + 7)q>,(х),

(2.24)

где Г/_1 , Г/_«/2 и Г; - коэффициенты разложения искомой функции 71[х) по функциям (2.22). Система уравнений (2.10), записанная для выбранного сегмента (индекс к принимает значения / - 1, / - У2и /),

}|ЛГл'(х)<рм (х)]'dx — |хгЛ х)ф'-1(*)<& + }^(х)ф,ч(х)^ = 0,

Хм, Хм, Хм,

jfoj;'(x>pI._1/2(x)]’<fc- | а,7’л'(х)<р'_,/2 {x)dx + }^(х)ф,_1/2(х>& = 0,

Хм,

хм|

 

х,_,

 

 

|[а,7,;(х)фДх)]'<&-

}я.7’;(х)<р;(х>&+

]И *)ф,Ы ^ = о>

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

 

 

 

 

м;(х)ч>м(х)|^ -

}^г;(х>р;.1(х>&+ |иДх>ры(х>&=о,

 

 

Хм,

Х1-1

 

• Х7,;(х)фн /2(х)|^

-

}^г;(х)ф'.|/2(х>&+

}^(х)ф,._1/2(х>&= 0,

 

 

 

Хм,

Х( ,

^„'(х^Д х)^

-

|я.7’л'(х)(р;(х>&+ }^(х)ф,.(х>& = 0.

 

 

Хм,

Х--1

 

 

С учетом свойств пробных функций

 

 

Фм (х, )= ф| - , / 2 (хн )= Ф/-1 /2 (Х| )= Ф, (Х м )= 0 ,

Фм (х,-|)= Ф, (х,)= 1

и граничных условий (2.23) полученная система уравнений принима­ ет вид

{x)dx + |^(х)ф м {x)dx = 0,

x i- \

x >-1

- - }хг;(дг)ф'ч/2(x>fc + }^(х)ф,_|/2(x>fr = 0,

x/-l

*/-i

- </, - ‘[ к К Ш (x)dx + }ж(х>р((х)Л = О,

^

x i - 1

x /- l

или, с учётом приближения (2.24),

Th, jhp'2,(x)dx+TH2 }Хф'_|;2(х)ф;_|(х)й6г+7; }Хф'(х>р;.|(х>й:= |И*)<РмМл - ^ - 1>

*,-i

*,-i

 

хы

*1-1

X,

 

X,

Г<

X,

Тм \htfM{x)$i_n {x)dx+TH2 \’k^%2{x)dx+Tl |Хср'(х)ф'ч,2(х)Л= JV(x>p,H,2(x)<&,

 

x.-i

*,-i

X,

X,

 

Xi

X,

тм |Xcp;.,(x)<p'(x)a!r+7;.l,2 |х<р'_1/2(*)ф'(х)<&+7; |Х(р;2(х)Л= }и/(х)ф,(х)Л-?,.

х/- |

х/-|

х . - 1

В итоге получена система линейных алгебраических уравнений относительно узловых значений температур 7/_i, 7/_I/2и Г/, т.е. коэф­ фициентов разложения (2.24) решения по пробным функциям.

Часть интегралов в полученной системе уравнений вычислена ранее (см. подразд. 2.1.1):

J *-[фы (* )]2dx = X/h,

J X[cp' (х)]‘ dx = X/h,

x l-1

x i-1

 

x l

x i

(x)ф'_, (x) dx S= - X./A;

J

(*)q>' (x) dx = J

•*/-1

X,_!

 

 

 

}^(хм (*)<& = W^cosxw - SmX'

/?Sm— j ,

 

|И х)ф, [x)dx =

~hSm —

- cosx,. j .

Далее, с учётом того, что

Фы(x) = - l/h , ф'_1/2(х) = - 4(2хxw - X,)/h2, ф'(х)= \/h,

подсчитываются интегралы:

}м>м (*Ж-1/2 [x)dx= }Хср;_|/2 (хХр'_, {x)dx=

4АЛ

 

2X (2х-х,._| -х,.)2

= Y

{(2х-х,_, -X i)dx =

 

2

 

 

 

 

 

 

 

JpWPw/2(*>& = ^ Г

j(2jr- */-i - *i )2^

=

 

_ 8Х, (2х-х,ч -х ,)3

= ^ . ( Аз+Лз)= М16Л.

 

А4

-'i-i ЗА4V

ЗА

 

}м>;(^Ж-1/2 (*>& = }^Фь1/2ш

{x)dx=

АХ ХГ/_

Ч,

LK2Х (2х -

х,-, - х ,)2

= —

J(2xxw -x,)dx = - у

2

= 0,

 

 

 

 

 

%дер %

}И'(х)ср,_,/2<& = — Jsinх(х- х,_,Хх- x i)dx =

= “ Г |sin х[х2- (х,_, +х,)х + х,_1х1]л =

х/-1

=- — [2х sin х - (х2- 2)cosJC- (хм + x,.Xsinx - xcos x)- xf_,x( cosx£| ( =

8(cosxM - cosxi)_ 4(sin xl4 + sin xi)

= fVn

h1

h

 

Подстановка полученных значений приводит к системе линей­ ных алгебраических уравнений относительно искомых коэффициен­ тов Г/_1, Г/_./2и 7/:

а ' м

Т о

Л т

А

+ 071'-1/2

Я.„

... (

sin х

—sin лг , ^ ,

 

-7].

-^ [co sx ,-,

-

h

' J - ^ -м

 

А

, ог

_ w Г8(COSJC,. I - cosx,)

4(sinxw + sinx, )1

 

°L

A2

 

A

J

ЗА 1,' п

 

 

 

Я.

f sinx,. -sinxbl

 

^

 

 

V

" 4

h

 

 

 

В приведённой системе уравнений выделены столбцы и строки,

добавление которых обусловлено включением функции

в раз­

ложение (1.24). Для двух соседних сегментов

и [х,.,х/+1] эта сис­

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

 

 

^7/-i +ОД1/2

+ОД1/2 +07]+,

cosx,4 - sinx, -sin x

 

 

ОТ]-'

+f

r

M/2+0^.

+07-,i/2 +07;,,

=ж0 8(cosхм - cosx,)

4(sinxM +sinx,)

 

 

 

 

 

 

Л3

 

/?

 

 

 

+ ^ т,

 

 

SinX, -SU 1X :

 

 

 

+ 0

^ V2

+

отпи2+ отм = ^o[

 

 

07;-,

+07;_V2 +^Ti+OT^2- ^ T M=W0\cosxl - — X:,. —SinX,

 

 

07 ;-,

+07;.V2+07’

+ ^ 7^ + 07 ;.,

=(F0 8(cosx, - cosxi+,)

4(sinx, +sinxM)

 

 

 

 

 

 

A5

 

A

07;_,

+07;_i/2

- ^ 7 ’+07’+i/2 +^7;tl

sinx,+1-sinx,

 

-0 ,+1.

COSX;+1

Складывая третье и четвёртое уравнения этой системы и учиты­ вая условие теплового баланса #,. + <7' = 0 , можно исключить неиз­ вестные величины внутренних тепловых потоков между соседними сегментами и [х,.,х/+1], что снизит размерность системы ли­ нейных алгебраических уравнений:

ОТ',-, + ^ Г К2+0Г(

+от;Н2 + orw =^„

8(cosx,_, - cos*,)

4(sinx,..| +sin;c,)

 

 

 

 

 

h2

 

h

- \ T„, + O T

* *т,+

 

 

 

 

 

or,., *OT_,,+or,

 

T,„+or„-w.

8(cosxt - cosxM )

4(sinxt +sinxi+l)

 

 

 

 

 

h2

 

h

лтт

^Tj

лт,

A._ _

fsinjr#+l-sinx#

 

.

07]_, + 07J_l/2

+07)+1;2 + ^7)+r

И01

^

cosxl41 |

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

| r 0 + orw - £ 2; +огда + 0т3+-+тт

 

 

 

_

\6Х„ _

_

_

rr,f8(l8(1--cos/j)h) А4sinЛ1

ог0 + ^ Ч

2+от;

+ 0Гу2 + 0Г2 +• • •+7^

= 0J

^

Г " j

 

3/7

 

 

 

 

^

тТ„ + 071/,

+ y r,+ o rV2 Л т г+-+Тя

-smlh + lsinh^

 

~h

)

 

 

 

 

 

 

0Т0 +ог№+07;

+ f r

 

_ T 8(cos/i-cos2/7) 4(sin/г 4-sin2/?)

V2+or2 +...+Г,

”4

h

h

 

 

Xrp

гут

, X,r ,

"

ОТ0 + от^2

, „

fsin2/7-sin/7

"i

7]

+0T2j2

+^Г2н

1-Гт

JfU

^

cosxw l,

07i + 0^

+ 07; +orV2 +0Г2 +...+| гм=И'0Г1-5!5^-А)

-e 1,

где Q° и (У* - тепловые потоки на левом и правом торцах стержня со­ ответственно.

Для учёта граничного условия первого рода 7,(^)|х=0 = Т° на левом

торце стержня следует первое уравнение приведённой системы заме­ нить уравнением TQ= T°

Для включения в систему уравнений граничного условия третье-

го рода ХТ'(х]х=11= - a

[7’(X)|J=JI-

7’„] на правом конце стержня исполь­

зуется соотношение QL

[г(;с)|^л - 7 ’„]=а

[Тт-Т„\.

Последнее уравнение приведённой системы

+ OTm_l/2+ -Tm= W0

sin(n-A) -QL

 

 

 

 

 

 

h

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

 

 

 

 

 

 

+0Т

 

+

- T = wn 1- sin(7t —/l) -<*(?;- r j

m - 1/2

 

 

 

 

 

или

 

 

 

 

 

 

+ 07’m-l/2 +

h

i )

-Wn 1- sin(rc-/j) + aT .

 

 

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

\ т0 + 0 7 ;,2 тх+о г32 + ог2 + - - - + гт = г °,

8 (l - cos/?)

4 sin /7

 

ОГ0 + ^3иг

и + от;

+ оги + 0Т2 + - + Гт = f V 0

 

 

h1

h

 

 

-jT0 + 0Г,,2

+ — Г,

+ 0Г32 - | г 2+ - + гт =

^

sin 2 /г ч- 2 sin /

 

 

h

-\-Я п

 

 

 

 

16^

 

 

)

 

 

 

 

 

ж0

8(cos/z-cos2/z) 4(sin/7+sin2/j)

0 TQ+ or,,2 + or, + — г3 2 + ог2 + . . . + T; =

 

Л5

 

A

_

0Го

+ 0Г|,2

 

 

sin2/7-sin/z

 

^

 

-+ Г , + 0Г3/2 +jT2+---+ Tm = ж0^ -

 

------COSA'(.+1 J - q M9

 

0 7 J)

+ 0 Г12

+ 0 Г, +

0T3;2 + 0 7 ; + - .. + I a + —

\Tm= W0

sin( jr- / ? )

+ a 7 1 .

 

 

h

 

 

 

 

 

 

 

 

 

 

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

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

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

Программа 2.3

//

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

 

//

Ne

число

сегментов

 

 

//

Nk

число

узлов

 

 

 

//

locale

массив

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

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

сегмента

//

localF

массив

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

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

сегмента

//

globalC

 

массив

коэффициентов системы уравнений для объекта

//

globalF

 

массив

коэффициентов системы уравнений для объекта

/ /

х

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

 

 

//

хО

начальная

точка

 

 

/ /

х1

конечная точка

 

 

/ /

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=70.0, W=1000.0, T0=100.0, 76=20.0, A=30.0;

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

//определение координат и номеров узлов каждого сегмента for(k=0; k<Nk; k++) x[k]=x0+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]=L/h;

locale [0] [1]=1оса1С[1] [0]=0.0; locale [0] [2]=localC[2] [0]=L/h; locale [1] [1]=16.0 *L/(3.0*h); locale [1] [2]=localC [2] [1]=0.0; locale [2] [2]=2.0*L/h;

localF [0] =W0* (cos (x [k] )- (sin(x[k+l] )-sin(x[k] )) /h) ; localF [1] =W0* (8.0* (cos (x [k] )-cos (x [k+1] ))/ (h*h) -

4 . 0 * (sin(x[k])+sin(x[k+1]))/h);

localF [2] =W0* ((sin (x [k+1] )-sin(x [k] )) /h-cos (x [k+1] )) ;

// формирование матриц коэффициентов и правых частей для объекта 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);

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

Отрезок [0, я] разбивается на четыре сегмента равной длины

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

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

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

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

П/Л

л/4

jA.<p;(x>p;/2(*>fr =

|^.ф|/2(^)фо{x)dx=о ,

о

о

я/4

 

 

I ^ M

f * = “3h

47*343,

п/4

Я/4

.

о|Х(ро(л)ф| (д)dx = JXtp[(х)фо(x)dxо= - - = -89,1268,

я/4 л fX[q»;Wf* = T = 89,1268,

оh

я/4

л/4

 

|х<р;/2(д)(р;(д>&= |х<р;(д)<р;/2(д)с&=о;

о

о

 

я/4

 

 

^0 Jsinхф0(д)dx = wh - ^

j = 99,6837,

л/4

8(l-cos h)

4sinA = 197,299,

Jsinдф^2 (д)«яЕс=

л/4

W0 |зтд ф | (д)л = и;( — -cosA 1= 193,209;

'89,1268Г0 + 0,0Г^2 -89,12687; =99,6837,

0,0Г0 +475,3437^2 +0,07; = 197,299,

-89,12687’0 + 0,07;/2 +89,12687; =193,209;

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

[л/4,л/2]:

Я/2

л

J^-[<Pi(д)ГC^X= JI~ 89,1268,

л/4

л/4

Jx<p;(д)фу2 (д)dx =

JX(p'/2 (д>р;(x)dx =0,0,

о

о

 

я/2

 

= 475,343,

 

j\[<p'm (x)}dx= 1- ^

 

f

ЗА

 

 

п/4

 

 

я/2

п/4

 

 

|Алр;(;с)ф2(;с)а!х: =

(*)& = - —= -89,1268,

I-

 

 

 

п/4

 

 

 

 

я/2

 

 

 

J % ,2(jc)]2atc = ^ = 894268,

 

f

 

 

 

я/4

 

 

 

я/2

Я/2

 

 

|^Фз/ 2 (*)<р2 ( * ) * = J^4>2 ( * У з / 2 (■*)<& = 0,0;

 

я/4

 

 

я/4

 

Ж0

Jsin JC(PJ(x)cfcc =

^cosh -

j = 334,184,

я/2

 

 

4(sin/z + sin 2/*) = 476,323,

Jsinxcp3/2(jc)(ir = W0 8(cos/z-cos2/z)

я/4

 

 

 

Ф

sin2A-sinA

W0 Jsin лчр2 (*)<& = Ж0

------------------cos2A1= 372,923;

я/4

А

У

'89,12687; + 0,07^2 - 89,1268Г2 =334,184,

-0,07; +475,343Г3/2 + 0,07’2 =476,323,

-89,126874 0,07^, +89,12687^ =372,923;

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

Зя/2

л

|Х[ф'2(д:)]2<& = - = 89,1268,

я/2

k

Зя/2

Зя/2

JjK p; (х)ф '5/2(*)*& =

} ^ ф '5/2 (*>р2 (*)<& = 0 ,0 ,

я/2

п/2