книги / Численные методы. Ч. 5
.pdfгде 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 /7Л |
|
|
|||
— |
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 |
1» |
|
|
я/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 |